Xen混合路由

Xen混合路由

在託管環境中具有 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方法?

相關內容