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