我在我運行的幾個 VPS 之間建立了一個虛擬(軟體模擬)網路。虛擬網路上還有我家裡的一台 Linux 伺服器,我在該伺服器上建立了實體網路和虛擬網路之間的橋樑。
這樣做的結果是,我的 VPS 伺服器在我的家庭網路上獲得了一個 IP 位址(透過我的家庭路由器上的 DHCP,不少於),並且一切都運作得很好。
潛在的問題是每個 VPS 都有兩個介面/連接:
eth0
我的 VPS 供應商提供的快速互聯網連接zt0
是虛擬網絡,與我的家庭網絡橋接
這些連接中的每一個都可以存取互聯網。一種快,另一種慢,因為這是我的消費級家庭網路。
我有兩個問題:
- 從伺服器到網際網路的出站流量是否可能使用我的跨網橋的家庭連線(透過
zt0
)? - 如果是這樣,我怎麼能阻止這種情況發生並強制使用大部分流量
eth0
?例如,有沒有辦法限制流向zt0
我的家庭網路子網路 (192.168.1.x) 的流量?
所有伺服器都運行 Ubuntu 14.04 LTS,所有網路配置均在/etc/network/interfaces
答案1
只需設定一條靜態路由,將家庭子網路中的所有流量轉送出一個接口,並設定另一條靜態路由,告訴所有其他流量從另一個連接埠轉送出去。您可以透過將路由 0.0.0.0 0.0.0.0 分配給您的 VPS 實體連接的裝置的 IP 來實現此目的,以存取網際網路。然後將路由 192.168.1.0 255.255.255.0(或您在家中使用的任何 IP 方案)指派給實體介面本身 (zt0)。
答案2
Geruta 的答案是最好的答案,因為它具有良好的擴展性,並且允許使用中央位置(DHCP 伺服器)來管理分發給所有客戶端的 IP,包括橋接另一側的用戶端。它還允許在所有 VPS 上進行相同的配置,如果使用配置管理工具,這可能很重要。
我有少量(四個)VPS,所以最後我做了一些更簡單的事情:我為 中的每個 VPS 定義了一個靜態內部 IP /etc/network/interfaces
,但我沒有在 的設定節中包含預設網關zt0
。