今天用Sagemcom路由器连上企业互联网,第一次连上互联网要花20分钟升级固件。
我非常想使用具有两个 NIC 的 CentOS 主机捕获此升级的所有流量,目的是弄清楚如何验证升级。例如使用秘密用户帐户和密码?
如果我想将 CentOS 主机放在 Internet 连接和路由器之间:
问题
- 我该如何配置 CentOS,以便所有进入的流量都
eth0
从 出去eth1
? tcpdump -s0 -A -w upgrade.pcap -nni eth0
如果我稍后想使用 Wireshark 来检查包裹,是否正确?
答案1
您可以将 eth0 和 eth1 设置为桥假设 eth0 连接到 Sagemcom,eth1 连接到互联网连接。流量将通过网桥,然后您可以在网桥上运行 TCP 转储并捕获所有流量。
你需要 bridge-utils 包
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up
tcpdump -s0 -w dump.pcap -i br0
答案2
首先,如果您想让流量通过,您需要将您的 CentOS 盒设置为路由器,这基本上涉及启用数据包转发(通常机器是目的地)。
其中最简单的部分就是改变/etc/sysctl.conf
。
改变
net.ipv4.ip_forward = 0
至 1。
然后,在一个网络中设置 eth0,在另一个网络中设置 eth1,并在网络之间添加路由。
配置防火墙或 selinux 等其他内容由您决定。
我会使用tcpdump -s0 -n host < router IP > -w upgrade.pcap -i any
虽然其中一些可能是多余的,例如,如果您正在监听往返于路由器 IP 的流量,那么我相信您不需要在接口方面指定太多内容。