%20%E3%81%8C%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%82%92%E8%BB%A2%E9%80%81%E3%81%97%E3%81%AA%E3%81%84%20(RPi).png)
現在、LTE ネットワーク プロジェクトに取り組んでいます。2 つの wwan インターフェイス (wwan0.1 と wwan0.2) と 2 つの Ethernet インターフェイス (eth0 と eth1) があります。これらのインターフェイスは、以下のように構成されています。
+-------------------------------------------------------------------------------------+
| Raspberry Pi |
| +------------------+ +-----+ +-----+ +-----+ |
+----------------+ | | +------------+ | | | | | | | +-------------------+ |
| PC 1 | | | | | | | | | | | | | WWAN0.1 (Private) | |
| DHCP |----+----+--| ETH0 | | | | | | | |<-->| Static | |
| 192.18.1.123 | | | | | | | E | | D | | I | | 10.16.ppp.ppp | |
+----------------+ | | +------------+ | | B | | N | | P | +-------------------+ |
| | | | T | | S | | | |
| | BR0 |<-->| A |<-->| M |<-->| R | |
| | | | B | | A | | O | |
+----------------+ | | +------------+ | | L | | S | | U | +-------------------+ |
| PC 2 | | | | | | | E | | Q | | T | | WWAN0.1 (Public) | |
| DHCP |----+----+--| ETH1 | | | S | | | | E |<-->| DHCP | |
| 192.18.1.169 | | | | | | | | | | | | | 10.xxx.xxx.xxx | |
+----------------+ | | +------------+ | | | | | | | +-------------------+ |
| +------------------+ +-----+ +-----+ +-----+ |
| |
+-------------------------------------------------------------------------------------+
以下の作品:
- RPiからプライベートネットワークwwan0.1上のサーバーにpingを実行できます。
- RPiからパブリックネットワークwwan0.2上のサーバーにpingを実行できます
- PC1とPC2にはDNSMasqからIPアドレスが割り当てられます(br0経由)
- PC1からPC2にpingできる
- PC2からPC1にpingできる
- PC1とPC2からRPi(192.168.1.1)にpingを送信できます。
- PC1とPC2からはSSH(192.168.1.1)経由でRPiに接続できます。
ただし、次の方法は機能しません。
- PC1からプライベートネットワークまたはパブリックネットワークにpingを実行できません
- PC2からプライベートネットワークまたはパブリックネットワークにpingを実行できません
これが私の現在の設定です
brctl
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0050b69c9bf5 no eth0
eth1
ebtables
Bridge table: filter
Bridge chain: FORWARD, entries: 4, policy: DROP
-p IPv4 -j ACCEPT
-p ARP -j ACCEPT
-j ACCEPT
--log-level info --log-prefix "EBFW" --log-ip -j CONTINUE
Bridge chain: INPUT, entries: 4, policy: DROP
-p IPv4 -j ACCEPT
-p ARP -j ACCEPT
-j ACCEPT
--log-level info --log-prefix "EBFW" --log-ip -j CONTINUE
Bridge chain: OUTPUT, entries: 4, policy: DROP
-p IPv4 -j ACCEPT
-p ARP -j ACCEPT
-j ACCEPT
--log-level info --log-prefix "EBFW" --log-ip --log-arp -j DROP
sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.br0.bc_forwarding=1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
IPルート
default dev wwan0.2 scope link
10.16.ppp.ppp/30 dev wwan0.1 proto kernel scope link src 10.16.ppp.ppp
10.xxx.xxx.xxx/29 dev wwan0.2 proto kernel scope link src 10.xxx.xxx.xxx
10.10.124.0/24 dev wwan0.1 scope link
10.100.0.0/22 dev wwan0.1 scope link
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1
欠けている部分が何なのか知っている人はいますか?
乾杯、
リー
答え1
NAT の部分はおそらく見逃しているでしょう。NAT では、片側でプライベート IP アドレスを使用し、反対側でパブリック IP アドレスを使用する LAN 間のルーター ルーティングが必要になります。
次のような単純なもの:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wwan+ -j MASQUERADE
wwan とそのリモート側も完全に制御できる場合は、プライベート部分 (wwan0.1) のリモート デバイスが、RPi で NAT を使用する代わりに、10.16.ppp.ppp 経由で 192.168.1.0/24 への直接ルートを受信できると考えられますが、それが可能かどうかは、通信がどのように実装されているかによって異なります。