Iptables
NAT 防火牆後的公共 IP
我有一個服務於虛擬機基礎架構的 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 規則將優先,因為它們發生在路由之前。