环境:
1. 笔记本NB一台(Ubuntu), 通过无线WIFI wlan0 上网. 同时有一个以太网口 ethA
2. 开发板 EVB 一块(Linux), 有以太网口 ethB.
要求:
把开发板和笔记本通过网线连接, 开发板通过笔记本的无线网络进行对外联网.
方法:
1. 首先网线连接ethA 和 ethB, 网线可以是直连或者交叉线.
2. 设置ethA的IP地址为 172.25.111.1, netmask为 255.255.255.0, 网关DNS等留空,
设置ethB
的IP地址为 172.25.111.2, netmask为 255.255.255.0, 网关为 172.25.111.1或者留空, DNS为本地合适的IP地址或者留空.
即保证ethA/B处于通过IP地址段即可.
3. 在NB上实现双网卡共享上网. 参考 https://blog.csdn.net/qustdjx/article/details/7878033
方法一: NAT 方式 (推荐方式)
-
echo "1" > /proc/sys/Net/ipv4/ip_forward #打开IP转发,1表示转发;0表示不转发
-
上面这个命令也可以通过修改/etc/sysctl.conf实现,在文件中加上下面一行:
-
net.ipv4.ip_forward = 1
-
-
其余命令是:可以放到一个开机启动的脚本中.
-
iptables -F
-
iptables -P INPUT ACCEPT
-
iptables -P FORWARD ACCEPT
-
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE #打开NAT
方法二: 网桥方式
-
echo "1" > /proc/sys.Net/ipv4/ip_forward #打开IP转发,1表示转发;0表示不转发
-
ifconfig wlan0 xx.xx.xx.xx up
-
ifconfig ethA **.**.**.** up
-
brctl addbr br0 #添加一个网桥
-
brctl addif br0 wlan0
-
brctl addif br0 ethA #将网卡加到网桥中去
-
ifconfig br0 up ### ifconfig br0 192.168.1.1.Netmask 255.255.255.0 broadcast 192.168.1.255 up #给网桥分配IP地址,如果不做NAT,也不需要远程访问网桥的话,可以不设IP地址,但必须启用网桥(ifconfig br0 up)
-
###route add default gw 202.96.168.68 #如果网桥不需要访问其他机器的话,可以不添加网关。
说明:
-
iptables命令参考:
-
iptables [-t nat] CMD [chain] [rule-matcher] [-j target]
-
-t nat:表示操作nat表
-
-
CMD:为操作命令
-
-
chain:为链名
-
-
rule-matcher:为规则匹配器
-
-
target:为目标动作
-
-
iptables -t nat -F #清除原有的nat表中的规则
-
iptables -F #清除原有的filter有中的规则
-
iptables -P FORWARD ACCEPT #缺省允许IP转发
阅读(1322) | 评论(0) | 转发(0) |