
LTE 接続、2 つのイーサネット ポート、ワイヤレス アンテナを備えた IoT デバイスがあり、これを LTE ルーターとして使用し、LTE 接続を Wi-Fi と両方のイーサネット ポートと共有したいと考えています。これは完全な Debian イメージを実行しているため、通常の Raspberry Pi として動作します。Wi-Fi とイーサネット ポートはデフォルトではインターネットにアクセスできないため、インターネット アクセスを有効にするために、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 も構成して有効にしました。ラップトップをイーサネット ポートに接続し、インターネットにアクセスできました。問題は、2 台目のコンピューターを eth ポートまたは WiFi に接続すると、それらはすべて割り当てられた範囲 (この場合は 192.168.2.100 - 192.168.2.200) の IP を取得しますが、接続されたコンピューター間で ping を実行できないことです。iptabels コマンドが内部トラフィックに干渉するのではないかと疑ったため、ブリッジに wwan0 インターフェイスを追加しようとしましたが (iptables ルールを削除した後)、エラーが発生しました。
ip link set wwan0 master br0
RTNETLINK answers: Invalid argument