设为首页收藏本站
查看: 22484|回复: 2

[应用笔记] AM335x 双网口NAT功能实现

[复制链接]

21

主题

21

回帖

575

积分

管理员

积分
575
oneal.tang 发表于 2015-4-23 11:54:22 | 显示全部楼层 |阅读模式
AM335x的双网口CPSW可以工作在两种模式,一种是双MAC模式,一种是网关模式,
这里将主要介绍网关模式的NAT。
SK_Gateway.jpg

环境

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


步骤

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

[mw_shl_code=shell,true]echo 1 >/proc/sys/net/ipv4/ip_forward
ifconfig eth1 192.168.30.1 up
udhcpd /etc/udhcpd_eth1.conf
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE[/mw_shl_code]

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 网口1192.168.30.1(脚本设置)
PC:192.168.30.20 (AM335X分配或手动设置)
此时在MYD-AM335X上使用ping命令测试,可以同时ping通PC和路由,在PC上使用ping命令测试,也可以同时ping通MYD-AM335X和路由的192.168.1.x网段,通过路由网关,也能联通外网,实现网络透传功能。

NAT_test.tar.gz (517.25 KB, 下载次数: 15183)




回复

使用道具 举报

21

主题

21

回帖

575

积分

管理员

积分
575
 楼主| oneal.tang 发表于 2015-5-11 17:10:38 | 显示全部楼层
mier_walfred 发表于 2015-5-11 16:32
请问,在你的这个实验环境下,如何保证满足PC机可以联网的同时,实现AM335对PC发送来的数据进行修改并转发 ...

这个模式中,PC只是借用AM335x的IP地址来联通网口0所在的网络,这是PC与外网的连接。
但PC也可和AM335x相互收发数据。
回复 支持 1 反对 0

使用道具 举报

1

主题

1

回帖

28

积分

新手上路

积分
28
mier_walfred 发表于 2015-5-11 16:32:23 | 显示全部楼层
请问,在你的这个实验环境下,如何保证满足PC机可以联网的同时,实现AM335对PC发送来的数据进行修改并转发的功能?
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-12-23 00:02 , Processed in 0.048728 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表