静态路由使不同网络上的主机可以访问

静态路由使不同网络上的主机可以访问

我有一台 ubuntu 路由器,其网络设置如下:

br0 192.168.1.15 netmask 255.255.255.0
br0:1 192.168.2.209 netmask 255.255.255.248

我有一台连接到br0:1网络的电脑,其设置如下:

ip 192.168.2.210 netmask 255.255.255.248 gateway 192.168.2.209

这台电脑应该能够访问192.168.1.1位于 ubuntu 路由器 br0 网络上的主机。

192.168.1.1是 WAN 网关,那么如何使其成为192.168.2.208/29网络主机的网关。

我已经在 ubuntu 路由器上启用了 ip4 转发。

答案1

首先确保192.168.2.209是默认网关,192.168.2.210并且 Ubuntu 路由器允许来自主机的流量。开启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

然后你有两个选择。你可以在 Ubuntu 路由器上对转发的流量进行 SNAT,这样 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

它告诉它如何将数据包路由回该网络。当然,如果网关正在过滤,您还必须为网络添加过滤规则192.168.2.209/29

iptables -I FORWARD -s 192.168.2.210 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.2.210 -j MASQUERADE

当然,这些最后的规则可以通过提供更多的信息来改进。

相关内容