我有商用電纜調製解調器,運行 shibby 的 Tomato 1.28。目前它有一個透過 DHCP 分配的靜態 IP 位址並且工作正常。我被分配了一些額外的可路由 IP,但它們位於不同的子網路中。
**WAN**
addr:1.2.3.10 Bcast:1.2.3.255 Mask:255.255.255.0
**LAN**
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
**Additional WAN block info:**
Network: 2.2.3.120/29
Subnet Mask: 255.255.255.248
Start: 2.2.2.121
End: 2.2.2.126
我計劃將新的 5 個位址分配給 192.168.1.x 主機,然後將它們對應到公共位址。
**LAN** **WAN**
192.168.1.121 -> 2.2.2.121
192.168.1.122 -> 2.2.2.122
...
192.168.1.126 -> 2.2.2.126
這應該透過防火牆規則還是靜態路由來完成?
來自 ISP 的說明:...您聲明您將路由您的附加區塊,這是需要對您的裝置執行哪些操作的基本範例
路由:我需要您配置從該區塊到內部介面的 IP;我建議使用第一個可用的 IP 2.2.2.121。然後,該 IP 將充當子網路流量的閘道。
答案1
這應該透過防火牆規則還是靜態路由來完成?
如果透過靜態路由,您的意思是iproute2 的套件,那麼你是對的,這兩種方式都可以完成,到目前為止我還無法察覺到表現差異。
NIC 僅在兩種情況下接受單播流量:
它具有單播流量定向到的 IP 位址;
它處於混雜模式。
混雜模式被認為是一種安全隱憂。因此,您應該將新的公用 IP 位址集指派給路由器上的 WAN 連接埠。
網路過濾器選項
您可以透過此單一方式將所有流量重新導向到適當的電腦iptables命令:
iptables -t nat -A PREROUTING -d 2.2.2.121 -j DNAT --to-destination 192.168.1.121
但這留下了一個小漏洞:netfilter NAT 確實不是使核心應答 NAT 化 IP 的 ARP 請求,看這裡。因此,我建議您使用兩個重定向,如下所示:
iptables -t nat -A PREROUTING -d 2.2.2.121 -p tcp -j DNAT --to-destination 192.168.1.121
iptables -t nat -A PREROUTING -d 2.2.2.121 -p udp -j DNAT --to-destination 192.168.1.121
這不會重新路由非 TCP/UDP 流量,以便 ICMP/ARP 流量到達路由器的內核,路由器內核會做出相應的操作。
對於您的其他 IP 和伺服器也是如此。
ip路由2選項
這樣,您就不會觸碰iptables 根本沒有,而且 ARP 流量已正確計算。要發出的命令是:
ip route add nat 2.2.2.121 via 192.168.1.121
ip rule add nat 2.2.2.121 from 192.168.1.121
第一條規則適用於入站流量,第二條規則適用於出站流量。第一條規則透過重寫目標位址將流量重新導向到本機伺服器。第二條規則重寫來源位址,使其看起來像是來自公用 IP 2.2.2.121 而不是本機 IP 192.168.1.121 的回應。
享受。而且,順便說一句,
目前它有一個透過 DHCP 分配的靜態 IP 位址並且工作正常
這是什麼意思?