Nat

用一個乙太網交換機連接四個具有相同 IP 的調製解調器

  • November 21, 2013

我有一個場景,我有 4 個調製解調器連接到一個交換機。所有四個調製解調器的 IP 地址都是 192.168.0.1(預設)。我想用一個開關連接所有這四個調製解調器,這樣我應該能夠從我的機器上訪問每個調製解調器,比如 modem1(10.0.0.1)、modem2(10.0.0.2)、modem3(10.0.0.3)和調製解調器4(10.0.0.4)。對我來說,這更像是在交換機上使用 VLAN 進行 NATing。請告知我如何創建這樣一個需要交換機的網路?

This is what i want:
Modem1(192.168.0.1) => SwitchPort1 => 10.0.0.1
Modem2(192.168.0.1) => SwitchPort2 => 10.0.0.2
Modem3(192.168.0.1) => SwitchPort3 => 10.0.0.3
Modem4(192.168.0.1) => SwitchPort4 => 10.0.0.4

讓我告訴你上下文我有 100 個調製解調器需要韌體升級,我已經有可以在 5 分鐘內以自動方式(外掛上傳)升級調製解調器韌體的軟體,但是升級 100 個調製解調器 = 5 分鐘 * 100 = 1 個完整的工作天。我正在尋找一種方法可以在 1-2 小時內完成。所以更改 100 個調製解調器的 IP 對我不起作用:)

簡而言之,你不能。您需要更改三個調製解調器上的 IP,或者您需要在交換機和調製解調器之間建立干預網路,以使您放置的 NAT 正常工作。您不能在同一網路上擁有多個具有相同 IP 的設備。

如果交換機支持 VLAN,並且您願意讓路由器代理流量,那麼我懷疑可以做到。

每個調製解調器都需要在一個 VLAN 上,並且路由器需要在所有這四個 VLAN 上都存在。為了便於說明,我們假設

  1. 調製解調器 1 在 VLAN 11 上,調製解調器 2 在 VLAN 12 上,依此類推;
  2. 路由器是一個 Linux 機器,位於支持 VLAN 標記的埠上,所有調製解調器 VLAN 都存在於該埠上,此外還有一個面向客戶端的第三個網路上的 VLAN,它不是 10.0.0.0/16,並且我們稱之為 VLAN 99;
  3. 客戶端都需要靜態路由,通過分配給 eth0.99 的地址將流量發送到 10.0.0.0/16 地址;
  4. 客戶端訪問調製解調器的地址都在 10.0.0.0 的不同子網上,假設調製解調器 1 將被訪問為 10.0.1.2/24,調製解調器 2 為 10.0.2.2/24,依此類推;
  5. 每個面向調製解調器的 VLAN 介面在相應的 10.0.0.0 子網上都有一個地址。假設在埠 eth0.11(即 VLAN 11)上,與調製解調器 1 通信,地址為 10.0.1.1/24,eth0.12 上的地址為 10.0.2.1/24,eth0.13 和 eth0.14 以此類推;
  6. 此外,每個面向調製解調器的 VLAN 都需要 192.168.0.0/24 網路上的別名,如果每種情況都不同,生活會更簡單;假設它在 eth0.11 上是 192.168.0.11/24,在 eth0.12 上是 192.168.0.12/24,依此類推;

對於每個介面,您需要幾行,例如

iptables -t nat -A OUTPUT -o eth0.11 -d 10.0.1.2 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A POSTROUTING -o eth0.11 -j SNAT --to-source 192.168.0.11

但我強調以上是理論上的;我不明白為什麼它不起作用,但我還沒有做過類似的事情。 我贊同約翰的建議,你最好重新配置調製解調器。

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