我有一个ubuntu路由器机器,具有以下networking设置:
br0 192.168.1.15 netmask 255.255.255.0 br0:1 192.168.2.209 netmask 255.255.255.248
我有一台连接到br0:1networking的电脑,具有以下设置:
ip 192.168.2.210 netmask 255.255.255.248 gateway 192.168.2.209
这台电脑应该能够访问在Ubuntu路由器的br0networking上的主机192.168.1.1 。
192.168.1.1是WAN网关,那么如何才能使它成为192.168.2.208/29networking上主机的网关。
我在ubuntu路由器上启用了ip4转发。
首先确保192.168.2.209是192.168.2.209的默认网关,Ubuntu路由器允许来自主机的stream量。 在192.168.2.210 :
route add default gw 192.168.2.209
在Ubuntu路由器上:
iptables -I FORWARD -i br0:1 -s 192.168.2.210 -j ACCEPT
那么你有两个select。 您可以在Ubuntu路由器上SNAT转发stream量,以便192.168.1.1将其视为属于路由器,并知道如何返回它:
iptables -t nat -I POSTROUTING -s 192.168.2.210 -j SNAT --to 192.168.1.15
也可以在192.168.1.1网关上添加以下路由,假设它也是一个Linux主机:
route add -net 192.168.2.209/29 gw 192.168.1.15
这告诉它如何将数据包路由回该networking。 当然,如果网关正在过滤,那么你也必须为192.168.2.209/29networking添加过滤规则:
iptables -I FORWARD -s 192.168.2.210 -j ACCEPT iptables -t nat -I POSTROUTING -s 192.168.2.210 -j MASQUERADE
当然这些最后的规则可以通过更多的信息来改进。