想验证设备双网口的性能与稳定性?却苦于不知从何入手?本文以EM-500为例,清晰地列出双网口回环测试的所有前提条件,助您快速搭建测试环境,精准完成功能验证。
EM-500
EM-500是ZLG致远电子面向工控机市场,研发的ARM工控机产品。在嵌入式开发或网络设备测试中,双网口回环测试是一种常见的验证手段,用于检查设备的网络接口是否正常工作。例如,在EM-500上,我们有两个网口,通过网线直接连接,然后测试它们之间的通信能力。通过本文的配置方法,您将能够:
测试环境准备
1. 连接方式
将EM-500的 eth0 和 eth1 用网线直接连接,形成 回环测试环境,如图1:

图1
此时,两个网口之间应该能直接通信,但由于 Linux 默认不会让数据包从一个网口进入再从另一个网口出去,因此需要手动配置 iptables 规则。2. 配置 IP 地址、MAC地址及子网掩码首先,给两个网口分配不同的 IP 地址,确保它们在同一个子网,但不能相同:
ifconfig eth0 hw ether 00:11:22:33:44:55ifconfig eth1 hw ether 00:11:22:33:44:66ifconfig eth0 192.168.1.136 netmask 255.255.255.0ifconfig eth1 192.168.1.236 netmask 255.255.255.0
3. 配置路由和ARP
让发送到 192.168.1.11 的流量走 eth0,发送到 192.168.1.22 的流量走 eth1。
route add 192.168.1.11 dev eth0route add 192.168.1.22 dev eth1arp -i eth0 -s 192.168.1.1100:11:22:33:44:66arp -i eth1 -s 192.168.1.2200:11:22:33:44:55
这一步主要作用是让 192.168.1.11 和 192.168.1.22 看起来像是对方的地址,使得流量可以正确转发。
4. 使用 iptables 配置 NAT 转发
为了让 eth0 和 eth1 能互相通信,我们需要配置 iptables 进行 NAT 转发:
iptables -t nat -Fiptables -t nat -A POSTROUTING -s 192.168.1.136 -d 192.168.1.11 -j SNAT --to-source 192.168.1.22iptables -t nat -A PREROUTING -s 192.168.1.22 -d 192.168.1.11 -j DNAT --to-destination 192.168.1.236iptables -t nat -A POSTROUTING -s 192.168.1.236 -d 192.168.1.22 -j SNAT --to-source 192.168.1.11iptables -t nat -A PREROUTING -s 192.168.1.11 -d 192.168.1.22 -j DNAT --to-destination 192.168.1.136
设置完成后使192.168.1.236 访问 192.168.1.22 时,实际访问的是 192.168.1.136,但看起来像是 192.168.1.11 在访问 192.168.1.22。
5. 测试双网口通信
测试 eth1 是否能 ping 通 eth0,如果成功,输出应类似:
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data.64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.688 ms64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=1.29 ms64 bytes from 192.168.1.11: icmp_seq=3 ttl=64 time=1.31 ms
如果失败,检查:
6. 进阶测试除了 ping,还可以用 iperf3 测试带宽:在 EM-500上启动 iperf3 服务器:
iperf3 -s &
然后启动客户端测试:
iperf3 -c 192.168.22
如图2所示:

图2
总结
本文方法的价值在于:
这种方法不仅适用于EM-500,也可用于路由器、防火墙等网络设备的自环测试。
全部0条评论
快来发表一下你的评论吧 !