想验证设备双网口的性能与稳定性?却苦于不知从何入手?本文以EM-500为例,清晰地列出双网口回环测试的所有前提条件,助您快速搭建测试环境,精准完成功能验证。
EM-500
EM-500是ZLG致远电子面向工控机市场,研发的ARM工控机产品。在嵌入式开发或网络设备测试中,双网口回环测试是一种常见的验证手段,用于检查设备的网络接口是否正常工作。例如,在EM-500上,我们有两个网口,通过网线直接连接,然后测试它们之间的通信能力。通过本文的配置方法,您将能够:
- 低成本完成测试:仅需一根网线,无需额外设备;
- 即时诊断问题:快速定位网口硬件故障、驱动异常或配置错误;
- 模拟真实流量:后续可扩展为带宽、延迟、丢包率等性能测试(如 iperf3)。
测试环境准备
- 一块具有两个以太网口(eth0 和 eth1) 的设备,如EM-500。
- 一根直连网线。
1. 连接方式
将EM-500的 eth0 和 eth1 用网线直接连接,形成 回环测试环境,如图1:

图1
此时,两个网口之间应该能直接通信,但由于 Linux 默认不会让数据包从一个网口进入再从另一个网口出去,因此需要手动配置 iptables 规则。
2. 配置 IP 地址、MAC地址及子网掩码
首先,给两个网口分配不同的 IP 地址,确保它们在同一个子网,但不能相同:
ifconfig eth0 hw ether 00:11:22:33:44:55
ifconfig eth1 hw ether 00:11:22:33:44:66
ifconfig eth0 192.168.1.136 netmask 255.255.255.0
ifconfig 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 eth0
route add 192.168.1.22 dev eth1
arp -i eth0 -s 192.168.1.1100:11:22:33:44:66
arp -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 -F
iptables -t nat -A POSTROUTING -s 192.168.1.136 -d 192.168.1.11 -j SNAT --to-source 192.168.1.22
iptables -t nat -A PREROUTING -s 192.168.1.22 -d 192.168.1.11 -j DNAT --to-destination 192.168.1.236
iptables -t nat -A POSTROUTING -s 192.168.1.236 -d 192.168.1.22 -j SNAT --to-source 192.168.1.11
iptables -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 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=1.29 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=64 time=1.31 ms
如果失败,检查:
- 网线是否连接正常(ethtool eth0 查看链路状态)。
- iptables 规则是否正确。
6. 进阶测试
除了 ping,还可以用 iperf3 测试带宽:
在 EM-500上启动 iperf3 服务器:
iperf3 -s &
然后启动客户端测试:
iperf3 -c 192.168.22
如图2所示:

图2
总结
本文方法的价值在于:
- 省时:10分钟内完成基础测试。
- 复用性强:适用于大多数Linux设备(Ubuntu/Debian/Yocto等)。
- 低成本:无需购买测试仪,一根网线即可验证硬件可靠性。
这种方法不仅适用于EM-500,也可用于路由器、防火墙等网络设备的自环测试。
315

被折叠的 条评论
为什么被折叠?



