
我有一個具有 LTE 連接、2 個乙太網路連接埠和無線天線的 IoT 設備,我想將其用作 LTE 路由器,這意味著我將共用 LTE 連接到 wifi 和兩個乙太網路連接埠。它運行完整的 debian 映像,因此它的行為就像普通的樹莓派一樣。預設情況下,Wifi 和乙太網路連接埠無法存取互聯網,因此為了啟用互聯網訪問,我嘗試將 eth0、eth1 和 wlan0 介面連接到新網橋,然後將資料包路由到 wwan0(LTE 介面):
sysctl net.ipv4.ip_forward=1
ip link add name br0 type bridge
ip link set br0 up
ip addr add 192.168.2.1/24 dev br0
ip link set eth0 up
ip link set eth0 master br0
ip link set eth1 up
ip link set eth1 master br0
ip link set wlan0 up
ip link set wlan0 master br0
iptables -A FORWARD -i br0 -o wwan0 -j ACCEPT
iptables -A FORWARD -i wwan0 -o br0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
我還dnsmask.conf
為 br0 介面配置並啟用了 dhcp。我將筆記型電腦連接到乙太網路連接埠並可以存取互聯網。問題是,當我將第二台電腦連接到eth 連接埠或wifi 時,它們都獲得指定範圍內的IP(在本例中為192.168.2.100 - 192.168.2.200),但我無法從一台連接的計算機ping 到另一台計算機。我懷疑 iptabels 命令會幹擾內部流量,因此我嘗試將 wwan0 介面新增到網橋(刪除 iptables 規則後),但它引發了錯誤:
ip link set wwan0 master br0
RTNETLINK answers: Invalid argument