向路由器添加额外的可路由子网

向路由器添加额外的可路由子网

我有一台商用有线调制解调器,运行的是 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 仅在两种情况下接受 UNICAST 流量:

  1. 它具有 UNICAST 流量定向到的 IP 地址;

  2. 它处于混杂模式。

混杂模式被视为一种安全隐患。因此,您应该将一组新的公共 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 和服务器也同样如此。

iproute2选项

这样你就不会碰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 地址,并且运行良好

这是什么意思???

相关内容