我目前正在使用一台unbuntu 14.04主机和一个桥接networking连接来设置一个带kvm / qemu的guest虚拟机窗口服务器,以允许服务器在互联网上暴露。
我试图给我的Windows服务器相同的IP作为我的Linux主机服务器,这个IP是服务器的外部IP地址。
我很新,所以我在Ubuntu 14.04上使用这个命令设置了我的网桥
virsh iface-bridge eth0 br0
我创build的当前网桥如下(编辑外部服务器IP,用字母replace)。
br0 Link encap:Ethernet HWaddr 38:60:77:26:4a:b3 inet addr:aaa.bb.ccc.137 Bcast:aaa.bb.ccc.255 Mask:255.255.255.0 inet6 addr: aaaa:bbbb:8:e89::1/128 Scope:Global inet6 addr: aaaa::bbbb:cccc:fe26:4ab3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1607000 errors:0 dropped:42 overruns:0 frame:0 TX packets:1458574 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3860135693 (3.8 GB) TX bytes:164453268 (164.4 MB) eth0 Link encap:Ethernet HWaddr 38:60:77:26:4a:b3 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5629010 errors:0 dropped:0 overruns:0 frame:0 TX packets:2998492 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8133304283 (8.1 GB) TX bytes:446483217 (446.4 MB) Interrupt:20 Memory:fe500000-fe520000 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:50169 errors:0 dropped:0 overruns:0 frame:0 TX packets:50169 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:12576653 (12.5 MB) TX bytes:12576653 (12.5 MB) virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:402 errors:0 dropped:0 overruns:0 frame:0 TX packets:76 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:67355 (67.3 KB) TX bytes:50853 (50.8 KB)
这里是我的/ etc / network / interfaces使用上面的命令创build的。
auto lo iface lo inet loopback auto br0 iface br0 inet static address aaa.bb.ccc.137 netmask 255.255.255.0 gateway aaa.bb.ccc.254 bridge_ports eth0 bridge_stp on bridge_fd 0 iface br0 inet6 static address aaaa:bbbb:8:E89::1 netmask 128
这是我的brctl秀,显示我的客人被添加到使用virt-manager分配我的客人的桥梁上。 vnet0是我的客人。
root@ns388356:~# brctl show bridge name bridge id STP enabled interfaces br0 8000.386077264ab3 yes eth0 vnet0 virbr0 8000.000000000000 yes
现在我通过在guest虚拟机上正确安装的virtio驱动程序来访问这个网卡。
我无法得到客人的任何东西,我在这里错过了什么? 我也有一个ipv6地址,是否有可能使用的客人操作系统只可能?
更新:
最后,我只是保留了默认的natnetworking接口,然后只是使用iptables将特定端口上的外部连接转发到内部等价物。 没有什么特别的,我很尴尬的是它有多简单。
这是我使用的命令。
iptables -t nat -A PREROUTING -p tcp -d (external ip) --dport 3389 -j DNAT --to-destination 192.168.122.202:3389
这将规则添加到防火墙
iptables -t nat -D PREROUTING -p tcp -d (external ip) --dport 3389 -j DNAT --to-destination 192.168.122.202=:3389
这如果需要删除它(dhcp分配新的内部IP)
然后我只是冲刷iptables
iptables --flush
现在这些需要保存,因为它们在重新启动时丢失。
你不能给两台机器相同的IP地址,并期望他们工作。
为Windows来宾提供不同的IP地址。