これは私のネットワークです。
家の外でip_camera(192.168.3.4:80)を見たいです。 dd-wrtルーター(192.168.3.1)にあり、インターネットがありません。ルータ192.168.1.1にはインターネットがあります。ただし、2つのルーター(eth0 192.168.1.0/24およびeth1 192.168.3.0/24)に接続されている2つのインターフェースを備えたRaspberry Piサーバーがあります。
だから私がしたことは次のとおりです。
ルータ dd-wrt 192.168.1.1、Web フロントエンド、ポート転送部分で、すべての tcp/ip (wan) を 10080 から lan 192.168.1.2:10080 に転送します。
次に、Raspberryで(iface eth0 192.168.1.2とeth1 192.168.3.2の両方を使用)、次のようにUFWを設定します。
DEFAULT_FORWARD_POLICY="ACCEPT" (/etc/default/ufw)
そして
net.ipv4.ip_forward=1 (/etc/ufw/sysctl.conf)
before.rules(ファイルの先頭)に次の行を追加します。
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp -d 192.168.1.2 --sport 10080 -j DNAT --to-destination 192.168.3.4:80
COMMIT
したがって、任意のクライアントPC(192.168.1.15など)を使用すると、ブラウザのアドレスから自分のカメラに完全にアクセスできます。
http://192.168.1.2:10080
これはうまく機能することを意味します。しかし、インターネットの外では私のカメラを見ることはできません。
UFWに追加してみました:
ufw allow proto tcp from any to 192.168.3.4 port 80
UFWを再起動しましたが、運がありませんでした。
誰でも私を助けることができますか?
インターネット(179.39.4.14)からRaspberryサーバーにアクセスすると、tcpdumpingに次の出力が表示されます。
03:19:11.324244 IP 179.39.4.14.41346 > 192.168.1.2.10080: Flags [S], seq 2032441512, win 14600, options [mss 1452,sackOK,TS val 16154060 ecr 0,nop,wscale 8], length 0
03:19:27.131917 IP 179.39.4.14.41345 > 192.168.1.2.10080: Flags [S], seq 389083091, win 14600, options [mss 1452,sackOK,TS val 16155640 ecr 0,nop,wscale 8], length 0
03:19:27.359709 IP 179.39.4.14.41346 > 192.168.1.2.10080: Flags [S], seq 2032441512, win 14600, options [mss 1452,sackOK,TS val 16155664 ecr 0,nop,wscale 8], length 0
192.168.1.15(マイホームネットワーク)で接続したとき
03:21:54.799050 IP 192.168.1.15.13094 > 192.168.1.2.10080: Flags [S], seq 2661860721, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
03:21:54.802330 IP 192.168.1.2.10080 > 192.168.1.15.13094: Flags [S.], seq 3834946478, ack 2661860722, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 1], length 0
03:21:54.803718 IP 192.168.1.15.13094 > 192.168.1.2.10080: Flags [.], ack 1, win 68, length 0
様々な効果を観察した。 LAN(正常に動作)では双方向通信が行われています。しかし、私のRaspberryサーバーはインターネットからの着信要求だけを見ることができ、返信を登録しません。私の問題の中心はそこにあると思いますが、この双方向交換を可能にするためにUFW(または他の場所)で何かを編集する必要があるかどうかわかりません。
おそらく、「関連して確立された」概念に関連していますか?全然知らない…
とても感謝しています。 GTZ、セルジオ。
答え1
概念的に望むものは次のとおりです。
- 192.168.1.2のNAT:(r-PiサーバーIP?)から192.168.3.4:80(カメラ)まで[完了]
- 192.168.1.2からカメラにアクセスして、このポート転送が機能していることを確認してください。 [確認]
- 192.168.1.1: から 192.168.1.2 に NAT: [完了していませんか? ]
- 192.168.1.2のトラフィックを監視して、このポート転送が正しく機能していることを確認してください。
- アウトバウンドルーターでポート192.168.1.1 [不明]を開きます。
最初のステップを正しく完了しました。今必要なのは、インターネットと192.168.1.0/24ネットワーク間の別のマッピングです。同じプロセスなので、実装が簡単でなければなりません。私はufwやdd-wrtを使用しないので、これがどのように行われるかを調べる必要があります。
関連して確立された規則が妨げられてはいけません。これは通常、既知のインバウンド接続を追跡し、残りのルールセットをスキップするために INPUT チェーンで使用されます。