我有来自 Orangepi 的廉价 IoT 设备,运行带有 wlan0 和 ppp0 接口的 raspbian 服务器。 wlan0 将连接到本地网络中的接入点。 ppp0 接口将通过 /dev/modem0 连接到 GSM 网络,并为设备提供 Internet 访问。
- 希望 OrangePi 能够通过 ppp0 连接互联网
- 希望本地网络中连接到路由器/接入点的所有设备都能够通过 IoT ppp0 接口连接到互联网
- 还希望能够设置从 ppp0 接口到本地网络中的某些设备的端口转发
最好的方法是什么以及如何配置 IoT Linux 盒?
答案1
在最高级别,orange pi 将充当您网络的互联网网关。基本上你需要将orange pe配置为路由器,最常见的是使用NAT。
LAN --- WIFI --- OrangePI --- PPP --- GSM
所以你需要了解以下内容:
如何为 raspbian 配置 GSM - 我建议根据您的调制解调器型号查找此内容。
如何在 WAN 和 PPP 之间配置 NAT(许多发行版都对此进行了描述,对于本发行版应该是相同的)。
如何在 Linux 中进行端口转发(许多指南中也有描述)。
通过 Orange pi 访问互联网的网络设备必须能够到达 Orange pi 的 wifi 的 IP 地址。
通过 Orange pi 访问互联网的网络设备需要将 Orange pi 的 wifi IP 地址设置为网关。
答案2
所以我是这样做的:
关闭 Orange PI 上的电源管理。将以下行添加到 /etc/network/interfaces
iw dev wlan0 set power_save off
启用 IP 转发。在 /etc/sysctl.cong 中添加以下行
net.ipv4.ip_forward=1
启用 NAT。运行以下命令:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
要永久应用规则,请键入此命令
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
并将以下代码添加到/etc/network/interfaces
up iptables-restore < /etc/iptables.ipv4.nat
配置wvdial并测试是否连接到GSM网络。创建以下脚本
#! /bin/bash ( while : ; do wvdial sleep 10 done ) &
并添加上面的脚本在 /etc/rc.local 文件中运行。
来源为: virtono.com elinux.org wiki.archlinux.org