首页 文章

在网络上配置服务器以分析流量[关闭]

提问于
浏览
-2

我有以下网络:

http://i.stack.imgur.com/rapkH.jpg

我想通过服务器和一个额外的路由器将连接到192.168.0.1路由器的设备的所有流量发送到192.168.10.1路由器(最终到达Internet) . 差不多2天过去了,我无法弄清楚到底出了什么问题 .

在互联网上搜索某些类似的配置时,我发现了一些与我的需求有某种关系的文章,但提出的解决方案似乎对我没有用 . 这是一篇类似的文章:https://serverfault.com/questions/431593/iptables-forwarding-between-two-interface

我为配置过程完成了以下步骤:
从192.168.1.1路由器为服务器上的eth0设置静态IP地址192.168.1.90
从192.168.0.1路由器为服务器上的eth1设置静态IP地址192.168.0.90
转发从192.168.0.1路由器到eth1接口上的服务器的所有流量似乎正在工作 . 路由器固件有一些选项可以将所有端口的所有流量重定向到指定的地址 .
在服务器上添加了以下规则(仅限以下规则,没有任何其他规则):

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -m state -–state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

我也试过改变

iptables -A FORWARD -i eth1 -o eth0 -m state -–state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

但仍然无法正常工作 .

添加以下内容后,为运行CentOS的服务器启用数据包转发:

echo 1 /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward = 1

在服务器重新启动并额外检查以查看上面的所有配置仍然可用后,我试图再次查看是否可以从连接到192.168.0.1/24局域网的计算机ping 192.168.1.1的路由器,但它没有'工作 .

服务器安装了tshark(console wireshark),我发现当从连接到192.168.0.1路由器的计算机向192.168.1.1发送ping时,192.168.0.90(eth1)收到ping,但是它没有将它转发到eth0接口作为规则告诉:

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

现在不要为什么会这样 .

问题:

  • iptables似乎不能像我期待的那样工作 . 是否需要从iptables规则添加NAT表以将流量重定向到正确的位置,或者我做了什么其他错误?

  • 我想使用tshark查看服务器上的流量,因为我认为这样做最好 . 你知道更好的东西来捕获流量并分析它吗?

1 回答

  • 0

    根据@Sebastian Strajan的要求,这是贴出的答案 .

    问题是各自网络上的节点不知道使用192.168.1.90/192.168.0.90作为其他子网的网关 . 快速修复是在每个节点上指定静态路由,将90节点指定为到另一个子网的网关 .

    编辑:删除了关于使用DHCP服务器进行路由的声明 . 我说错了 . 长期解决方案可能是使用静态路由配置路由器 .

相关问题