通过路由器/防火墙连接的不同 VLAN 上的子网之间的路由

通过路由器/防火墙连接的不同 VLAN 上的子网之间的路由

我有两个网络,我想用路由器/防火墙连接它们,以过滤两者之间的流量。一个网络位于公共子网上,64.22.12.192/27另一个网络位于私有子网上192.168.0.0/24。它们通过具有三个以太网端口的路由器连接,一个连接到互联网,另外两个连接到公共子网和私有子网,并且位于自己的 VLAN 上。如何使私有子网对公共网络可见?以下是网络图:

  • Router1 >eth0 --- 连接到互联网
  • Router1 >eth1 --- 64.22.12.193/27 连接到 VLAN 64 子网 64.22.12.193/27
  • Router1 >eth3 --- 192.168.0.1/24 连接到 VLAN 192 子网 192.168.0.0/24

我尝试在路由器上192.168.0.0/24进行静态路由,也尝试将其路由到。 都没有用。64.22.12.193192.168.0.1

我希望两个子网之间的流量通过路由器,因为我希望能够在子网之间的路由器上设置防火墙规则。

  1. 我尝试了静态路由但无法使其工作,我做错了什么吗?

  2. 我知道我可以使用 NATing,但是为了访问单个私有 IP 机器,我必须设置一对一 NAT,这会占用我宝贵的有限公共 IP

  3. 我是否必须设置隧道才能实现此目的?隧道不会绕过防火墙规则吗?

IP路由显示:

default via 66.22.32.137 dev eth0  proto zebra 
192.168.0.0/24 dev eth3  proto kernel  scope link  src 192.168.0.1
64.22.12.192/27 dev eth1  proto kernel  scope link  src 64.22.12.193
66.22.32.136/29 dev eth0  proto kernel  scope link  src 66.22.32.141
127.0.0.0/8 dev lo  proto kernel  scope link  src 127.0.0.1 

答案1

我尝试了静态路由,但无法正常工作

您不需要静态路由,您的系统已经拥有所需的所有路由。Linux 会自动为本地连接的每个网络配置路由。假设您已启用 ip_forward,并且当前没有防火墙规则阻止流量,那么一切都应该正常工作。

我是否必须设置一个隧道才能实现这一点?

不,您不需要任何隧道。

我知道我可以使用 NATing,但是为了访问单独的私有 IP 机器,

您不需要任何 NAT 规则。事实上,如果您已经有一个过于宽泛的 SNAT/MASQ 设置,那么这可能是您的问题。

假设所有客户端64.22.12.192/27192.168.0.0/24使用你的 Linux 机器作为它们的默认网关,并且你没有设置任何 SNAT/MASQ 规则来更改从 eth3 -> eth1 通信的流量的源地址,那么就可以正常工作。

相关内容