我遇到了一个与我正在进行的networkingdevise项目有关的问题。 我们的内部networking是192.168.1.x. 我们有两个网关,#1是.20,#2是.52。 通常情况下,您可以在机器级select您的网关,但这里是我们的问题。 我们有一个安全设备内联到我们的两个网关。 无论设备在转发数据包时接收到的第2层地址,都会收到其网桥上网关的第2层地址。 我应该提到,这种行为只与设备正在监视的协议(http,smtp)有关。所以最终的结果是,无论在哪个网关上configuration单个机器的协议,它们都得到相同的网关无论。
我的任务是让不同的服务器根据我们的需要使用网关#1或网关#2。 那么,如果这些服务器使用“检查”协议,那就不是那么好。
我现在的想法是根据数据包中的第3层协议在stream量离开安全设备之后进行路由。 我只是不知道该怎么做,但是。 或者,如果这是最好的办法。
D.
最好的办法是“修复”这个安全设备! 然而,第二个最好的方法是在你控制的任何设备上configuration某种具有L3能力的路由。 如果你控制网关,你可以使用像iptables这样的东西来configuration源/目的地址,或者把数据包重新路由到另一个网关。
以下是使用iptables伪装的一些信息:
http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html
您可以使用名为pfSense的免费防火墙/路由器设备。 它允许基于端口号和类似的路由决策。