Windows-Server-2012

帶有外部 IP 和 Windows Server 2012 來賓的 KVM 橋接器

  • September 7, 2014

我目前正在 unbuntu 14.04 主機上使用 kvm/qemu 和橋接網路連接設置來賓 Windows 伺服器,以允許伺服器通過 Internet 公開。

我正在嘗試為我的 windows 伺服器提供與我的 linux 主機伺服器相同的 ip,這個 ip 是伺服器的外部 ip 地址。

我對此很陌生,所以我在 Ubuntu 14.04 上使用此命令設置了我的網橋

virsh iface-bridge eth0 br0

我目前創建的網橋如下(編輯外部伺服器ip,替換為字母)。

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 使用上述命令創建的。

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

現在我通過正確安裝在來賓作業系統上的 virtio 驅動程序訪問這個網卡。

我無法得到客人的任何東西,我在這裡錯過了什麼重要的事情嗎?我也有一個 ipv6 地址,是否可以僅將其用於來賓作業系統?

更新:

最後,我只是保留了預設的 nat 網路介面,然後只使用 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 地址。

引用自:https://serverfault.com/questions/626522