设备双网口回环测试配置指南

描述

想验证设备双网口的性能与稳定性?却苦于不知从何入手?本文以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: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

如果失败,检查:

  • 网线是否连接正常(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,也可用于路由器、防火墙等网络设备的自环测试。
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分