利用树莓派将 WIFI 网络转发到路由器WAN口

利用树莓派将 WIFI 网络转发到路由器WAN口

目的

树莓派的无线网卡和有线网卡作路由,无线网卡与外网(如电信路由器出口)相连,有线网卡与内网相连。

内网通过一个路由器分发。

实现内外网隔离。

概况

外网网络(局域网):192.168.0.0/24

树莓派NAT路由:192.168.2.0/24(有线网卡) --> 192.168.0.112(树莓派的无线网络IP)

树莓派无线网卡IP:192.168.0.112

树莓派有线网卡IP:192.168.2.1

内网网络:192.168.2.0/24

内网测试电脑IP:192.168.2.2

路由器网络:192.168.3.0/24

环境

1.树莓派4。

2.树莓派能够连接WIFI,WIFI连接互联网。

3.一根网线和一个路由器。

主要节点

1.树莓派和电脑互联,以树莓派作为主机,实现局域网互通。

2.配置NAT,使发送到eth0的包能够被转发到wlan0上去,从而实现网络共享。

步骤1 - 局域网互通

1.将树莓派连接至WIFI,保证可以上网。

2.树莓派与电脑直连(先不与路由器WAN口连接,方便测试)。电脑有线网卡设置IP为192.168.2.2/24,网关为192.168.2.1。树莓派有线网卡IP设置为192.168.2.1/24。

3.树莓派的路由表调整。移除eth0的默认路由表,添加对192.168.2.0/24网络的eth0转发规则。如:

route delete default dev eth0
route add -net 192.168.2.0/24 dev eth0
4.此时,局域网配置完成,PING检查是否互通。

步骤2 - 转发规则

1.在树莓派端配置,命令如下

sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o wlan0 -j SNAT --to 192.168.0.112
即,将192.168.2.0/24网络上的源数据包转发到wlan0对应192.168.1.112源IP上(描述不准确,就是一条NAT类型的转发规则)。

2.此时,PING 192.168.0.0/24网络的IP地址应通过。配置好主机的DNS服务后,外网网络地址也相应能够解析访问。

步骤3 - 连接路由器

1.与连接电脑类似,将树莓派与路由器WAN口连接。路由器上网方式(也即WAN口的网络配置)设置为静态IP,与电脑上设置一致即可。路由器网络设置为192.168.3.0/24即可正常工作(不冲突即可)。

步骤4 - 启用内核包转发

其实是很重要的一步,因为内核默认是关闭这个功能的。

相关方式可以在网上查,这里提供一条。

echo "1" > /proc/sys/net/ipv4/ip_forward

/etc/rc.local

以下脚本直接放在启动脚本或者手动执行均可。如果路由器、树莓派总共三块网卡的IP均配置正确的话,电脑连接到路由器的WI-FI,就能PING通外网了。

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o wlan0 -j SNAT --to 192.168.0.112

route delete default dev eth0
route add -net 192.168.2.0/24 dev eth0

ifconfig eth0 192.168.2.1/24

上一篇:OpenWRT自己手动添加WAN口,能拨号但是不能上网


下一篇:SD-WAN对于云的关键作用