
在託管環境中具有 1+X 個公共 IP 位址的確定根伺服器上,運行帶有 Xen 3.2 的 Debian Lenny,我想安裝多個 domU。由於託管公司的要求,橋接網路路由不是一個選項。他們建議路由設置,但據我所知,這需要在 dom0 上花費兩個公共 IP,這是我無法承受的。
在我的設定中,X domU 將具有面向公眾的 IP 位址,並且應該可以從網路存取。其他 domU 應位於私有子網路(例如 10.0.0.1)。。/192.168。。)並且無法從外部存取。同一私有子網路中的 domU 應該能夠相互訪問,但其他私有子網路中的 domU 則不能存取。如果所有流量(包括具有公共 IP 位址的 domU)都通過可以充當防火牆(iptables?)的 dom0 進行路由,那麼會有一個優點。
有沒有人和我有類似設定並願意分享一些個人資料和技巧的人?
答案1
您應該在 dom0 上設定兩個網橋。您可以/etc/network/interfaces
為此使用標準條目。假設您的真實網路卡是 eth0(且後面有 DHCP 伺服器)並且您已bridge-utils
安裝。該文件可能如下所示:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 0
auto br1
iface br1 inet static
bridge_ports none
bridge_maxwait 0
address 192.168.0.1
netmask 255.255.255.0
您可以/etc/xen/xend-config.sxp
使用 network-brigde 和 vif-bridge 進行設定。在每個 domU 設定檔中,您可以選擇是否希望其具有直接外部存取權(透過 br0)或僅透過 br1 進行存取。為此,您可以使用 vif 行,如下所示:
vif = ['bridge=br0']
vif = ['bridge=br1']
當然,您仍然必須在 br1 上設定 NAT/偽裝,並且 domU 的網路配置應該匹配(即 br0 上的那些應該使用 DHCP,而 br1 上的那些應該在我上面的範例中具有靜態 IP)。
答案2
我已經設定了完全相同的東西。我們做的就是NAT。這絕對是您正在尋找的。您需要在 dom0 中有一個腳本,將公用 IP 的流量 NAT 到適當的私人 IP。顯然,您可以在此過程中套用防火牆規則。
對於公用 IP 的 NAT,單行就足夠了:
iptables -t nat -A PREROUTING -i eth0 -d PUBLICIP -j DNAT --to-destination INTERNALIP
如果您願意,請為每個公用 IP 新增防火牆規則重複此程序。
偽裝虛擬機器:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
答案3
由於託管公司的要求,橋接網路路由不是一個選項。
我只是想知道,我不知道這是否可行,但是您是否調查過使用代理ARP方法?