在实验室环境中,我有 4 个 VLAN:
- VLAN10 -> 管理(192.168.10.0/24)
- VLAN20->服务(192.168.20.0/24)
- VLAN30->管理(192.168.30.0/24)
- VLAN50->公共(192.168.50.0/24)
这些网络之间的路由和防火墙由 pfSense 2.1 控制
服务器设置了 eth0(带有默认路由)用于服务,eth1 用于管理,管理机器在管理上设置了 eth0,所有其他机器在公共上设置了 eth0。
这个想法是将管理限制在诸如 SSH、SaltStack 和监控等服务上,将服务限制在机器用于的任何用途(SMB、HTTP 等...),并且防火墙仅允许管理机器访问管理服务,而公共机器可以访问服务服务。为此,每个服务器都有以下路由:
default via 192.168.20.1 eth 0
192.168.30.0/24 via 192.168.10.1 dev eth1
我的问题是,当管理网络上的机器访问服务网络上的服务时,响应数据包是通过静态路由发送的。有没有办法为这种流量指定正确的路由?
我认为 pfSense 路由器上的 SNAT 可能会起作用,SRC->DST 192.168.30.0/24 -> 192.168.30.0/24 会将 SRC NAT 为 192.168.11.0/24,因此服务器上的路由实际上可以是192.168.11.0/24 via 192.168.10.1 dev eth1
,但这当然会混淆实际来源。
这会起作用吗?更重要的是,有没有更好的方法来做到这一点?
答案1
所以您想根据每个服务来控制流量,对吗?
您是否已将服务配置为仅侦听服务 IP?我认为这可以解决问题。例如,管理工作站尝试访问服务器的服务网络 IP 上的端口 80。由于该服务仅在该 IP/接口上可用,因此在这两个 IP 地址之间建立了连接。
我认为这会满足您想要实现的目标。请告诉我们。