KVM网桥用于分配静态IP
我安装了Ubuntu服务器14.04。 并为其分配了静态IP …然后安装了KVM和虚拟机管理器……然后创建了一个测试虚拟机,它也可以通过NAT使用本地IP地址。
我有两张局域网卡,只有一张连接到互联网。
我想要的是将em2桥接到来宾机器的配置。 因此,静态IP地址也适用于客户机。 现在,如果我将静态IP分配给客户机,则没有连接。
我的ifconfig细节是:
ifconfig -a em1 Link encap:Ethernet HWaddr 0c:c4:7a:4d:96:aa UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Memory:f7100000-f717ffff em2 Link encap:Ethernet HWaddr 0c:c4:7a:4d:96:ab inet addr:68.168.105.130 Bcast:68.168.105.255 Mask:255.255.255.0 inet6 addr: fe80::ec4:7aff:fe4d:96ab/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3717 errors:0 dropped:10 overruns:0 frame:0 TX packets:373 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:269655 (269.6 KB) TX bytes:239608 (239.6 KB) Interrupt:20 Memory:f7200000-f7220000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:123 errors:0 dropped:0 overruns:0 frame:0 TX packets:123 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8881 (8.8 KB) TX bytes:8881 (8.8 KB) virbr0 Link encap:Ethernet HWaddr 52:54:00:23:1c:65 inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) virbr0-nic Link encap:Ethernet HWaddr 52:54:00:23:1c:65 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
和/ etc / network / interfaces的详细信息是:
auto lo iface lo inet loopback auto em2 iface em2 inet static address 68.168.105.130 netmask 255.255.255.0 network 68.168.105.0 broadcast 68.168.105.255 gateway 68.168.105.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 8.8.8.8 dns-search dedicated.codero.net
第1步:创建桥
您可能已经安装了bridge-utils
,但是如果您没有安装:
sudo apt-get install bridge-utils
在主机和root用户中,编辑/etc/network/interfaces
:
auto lo iface lo inet loopback auto br0 iface br0 inet static address 68.168.105.130 netmask 255.255.255.0 network 68.168.105.0 broadcast 68.168.105.255 gateway 68.168.105.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 8.8.8.8 dns-search dedicated.codero.net bridge_ports em2 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
现在您可以重新启动或:
sudo ifup br0
参考
步骤2:修改VM定义以使用网桥
注意:使用virt-manager
可能有一种方法可以执行此步骤,但是我不使用它而不知道如何使用它。
使用virsh edit
并更改接口定义行以使用桥接而不是当前使用的桥接。 以下是我的一个虚拟机的示例。 之前:
后:
步骤3:在来宾VM中指定静态IP地址
现在,在运行可能存在网络问题的来宾VM时,编辑/etc/network/interfaces
并添加接口名称的静态定义。 例如,并为您的设置猜测一下:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 68.168.105.101 netmask 255.255.255.0 network 68.168.105.0 broadcast 68.168.105.255 gateway 68.168.105.1 dns-nameservers 8.8.8.8 dns-search dedicated.codero.net
笔记:
virsh edit
使用的默认编辑器由$EDITOR
环境变量定义,如果不存在,则为vi
。 将export EDITOR="/bin/nano"
到~/.bashrc
文件中,例如将nano设置为默认编辑器。
您必须使用virsh edit
不要直接编辑XML文件,因为virsh edit
将在保存和退出时执行一系列检查。 从任何目录,例如,执行:
virsh edit desk_tt