UFW / iptablesとDD-Wrtを使用して異なるシステム間で正しくポート転送する方法は?

UFW / iptablesとDD-Wrtを使用して異なるシステム間で正しくポート転送する方法は?

これは私のネットワークです。

ホームネットワーク

家の外で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 チェーンで使用されます。

おすすめ記事