Vagrant虚拟化之网络配置

来源:互联网 发布:英镑 知乎 编辑:程序博客网 时间:2024/05/21 22:53

简介

一般情况下,我们使用vagrant是在private_network下自high就可以了,但是如果我们需要和工作环境中的其他服务器通信,就需要将vagrant 的网络配置成 public_network,下面就来介绍下。

官网配置

配置

1.当我们的工作环境有可以dhcp的,我们只需开启public_network即可

vim VagrantfileVagrant.configure("2") do |config|  config.vm.network "public_network"end

这种方式最简单,我们可以通过vagrant ssh登陆并使用ifconfig命令查看dhcp分配的ip;但当我们需要dhcp分配时,路由不能改变,通过开启use_dhcp_assigned_default_route即可

vim VagrantfileVagrant.configure("2") do |config|  config.vm.network "public_network",    use_dhcp_assigned_default_route: trueend

2.当我们需要根据实际的工作环境,配置自己想要的static ip
首先我们需要关闭auto_config(自动配置),然后自行配制ip,netmask,route等。

vim Vagrantfile config.vm.define :admin do |admin|    admin.vm.box = "ubuntu/trusty64"    admin.vm.hostname = "ubuntu-admin"    admin.vm.network "public_network", auto_config: false    admin.vm.provision "shell",        run: "always",        inline: "ifconfig eth1 10.80.80.211 netmask 255.255.0.0 up"    admin.vm.provision "shell",        run: "always",        inline: "route add default gw 10.80.80.1"    admin.vm.provision "shell",        run: "always",        inline: "eval `route -n | awk '{ if ($8 == \"eth0\" && $2 != \"0.0.0.0\") print \"route del default gw \" $2; }'`"  end

vagrant reload重新载入配置后,我们查看ip、route信息

root@ubuntu-admin:~# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 08:00:27:32:20:37 brd ff:ff:ff:ff:ff:ff    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0       valid_lft forever preferred_lft forever    inet6 fe80::a00:27ff:fe32:2037/64 scope link        valid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 08:00:27:52:43:a9 brd ff:ff:ff:ff:ff:ff    inet 10.80.80.211/16 brd 10.11.255.255 scope global eth1       valid_lft forever preferred_lft forever    inet6 fe80::a00:27ff:fe52:43a9/64 scope link        valid_lft forever preferred_lft foreverroot@ubuntu-admin:~# route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         10.80.80.1      0.0.0.0         UG    0      0        0 eth110.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth010.11.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth1

注意: 以上配置文件中的3个config.vm.provision “shell”一般是配合使用的,尤其是第三个作用是删除默认原来的默认路由的,否则当添加我们定义的默认路由,路由表中会有两条默认路由:

vagrant@ubuntu-admin:~$ route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         10.80.80.1      0.0.0.0         UG    0      0        0 eth10.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth010.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth010.11.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth1

添加第三条后,变成

root@ubuntu-admin:~# route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         10.80.80.1      0.0.0.0         UG    0      0        0 eth110.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth010.11.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth1

ok,至此我们可以无障碍联通内网了,搞起来吧。

1 0
原创粉丝点击