AM335x 双网口NAT功能实现

AM335x的双网口CPSW可以工作在两种模式,一种是双MAC模式,一种是网关模式,
这里将主要介绍网关模式的NAT。
AM335x 双网口NAT功能实现_第1张图片

  

环境
Linux系统的MYD-AM335X,PC机一台,网络设备,网线等。
MYD-AM335X 网口0 <--连接--> 路由器
MYD-AM335X 网口1 <--连接--> PC

步骤
目前文件系统中没有iptables,需要移植,附件中已经带有一个编译好的,可以直接时候用。
在开发板上执行如下命令:

1 echo 1 >/proc/sys/net/ipv4/ip_forward
2 ifconfig eth1 192.168.30.1 up
3 udhcpd /etc/udhcpd_eth1.conf
4 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

udhcpd是dhcp服务端,目的是使MYD-AM335X给PC自动分配IP地址,如果是手动设置PC机IP,可以不执行udhcpd,然后手动将PC机IP设置为192.168.30.x网段。

结果
完成之后,查看各设备IP,可以发现,目的按的IP会是这样:
路由器:192.168.1.x段
MYD-AM335X 网口0:192.168.1.100 (路由器分配)
MYD-AM335X 网口1:192.168.30.1(脚本设置)
PC:192.168.30.20 (AM335X分配或手动设置)
此时在MYD-AM335X上使用ping命令测试,可以同时ping通PC和路由,在PC上使用PC命令测试,也可以同时ping通MYD-AM335X和路由的192.168.1.x网段,通过路由网关,也能联通外网,实现网络透传功能。

你可能感兴趣的:(AM335x 双网口NAT功能实现)