Iptables

NAT 防火牆後的公共 IP

  • January 28, 2011

我有一個服務於虛擬機基礎架構的 Linux NAT 防火牆。現在所有的虛擬機都使用 NAT,但我想讓它們中的一些使用未經過 NAT 的公共 IP。我有一系列 IP:208.xx129-140,子網 255.255.255.240。現在這些 IP 位於防火牆的 WAN 介面上。我想在防火牆後面移動一些 IP。

我可以更改其中幾個 IP 的路由嗎?我需要更改我的子網遮罩嗎?

您可以通過創建一個較小的子網來做到這一點。例如,如果你有一個 /24 網路,你可以從這個子網中分出一個小塊,例如 /29 網路。

例如,如果8.8.8.0/24是您的公共網路。您可以使用第二個介面與8.8.8.240/29. 然後,您將 8.8.8.241 分配給該介面,這將是客戶端的網關。然後,您將有 5 個剩餘的 ips 可以使用。

[kbrandt@alpine: ~] ipcalc 8.8.8.240/29
Address:   8.8.8.240            00001000.00001000.00001000.11110 000
Netmask:   255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Wildcard:  0.0.0.7              00000000.00000000.00000000.00000 111
=>
Network:   8.8.8.240/29         00001000.00001000.00001000.11110 000
HostMin:   8.8.8.241            00001000.00001000.00001000.11110 001
HostMax:   8.8.8.246            00001000.00001000.00001000.11110 110
Broadcast: 8.8.8.247            00001000.00001000.00001000.11110 111
Hosts/Net: 6                     Class A

即使您可能在與/29 重疊的不同介面上擁有/24 網路,但這並不重要,因為更具體(您可能認為它更小)的路由總是會獲勝。請記住,當您這樣做時,您會失去 2 個可用的 IP 地址,一個用於網路,一個用於廣播。

學習子網是一項有價值的技能,我們在IPv4 子網如何工作?.


另一種選擇是不對 IP 塊執行任何 NAT,而僅對特定 IP 使用 NAT。這很好用,因為 NAT 規則將優先,因為它們發生在路由之前。

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