IPTables が要求どおりに動作しない

IPTables が要求どおりに動作しない

ここのコミュニティは素晴らしいです!

私は ASUS 3100 ワイヤレス ルーターと 4 台の IP カメラを持っています。古いルーターでは、カメラが「自宅に電話をかけていない」ことを確認できるように、送信トラフィックを簡単にブロックできました。このルーターでも同じことをしたいので、まずポート転送ツールを使用し、次に IPTABLES を調べ始めました。 asuswrt-merlin がルーターの管理ツールと iptables でポート転送を使用する場合にも、これが問題になるかどうかはわかりません。おそらくそうではないと思います... ですよね?

私の目標:

  1. デフォルトでは192.168.1.0/29の送信トラフィックと受信トラフィックをブロックします
  2. 例外: 120:130 を開きたいのですが、信頼できる IP (職場や友人の家) のみに限定します。それらの IP は 150.150.150.150 と 250.250.250.0/24 だとします (これらのポートにアクセスするにはブラウザを使用しますが、それはおそらく問題ではありません)。したがって、カメラ #2 にアクセスする場合は DDNS.dns.com:121 になります。
  3. 例外: カメラは SMTPS (ポート 465) 経由で電子メールを送信するので、電子メールを送信できるようにそれを開きたいです。

他の場所と通信する IoT 機器がいくつかあるため、INPUTS/OUTPUTS をブロックしたくありません。そのため、それをブロックするようにデフォルトのポリシーを変更したくありません。その仕組みを誤解していない限り。

ルーターに最新の Asuswrt-Merlin をフラッシュし、JFFS カスタム スクリプトをオンにしました。/jffs/scripts/というファイルを作成しましたfirewall-start。shebang で始まるファイルを編集し、いくつかのルールを追加しました (これについては後で説明します)。 を使用しましたservice restart_firewall。私が直面している問題は、適切な結果が得られないことであり、ルールを間違って記述している可能性や、おそらく順序が間違っている可能性があります。

iptables forward、iptables INPUT & OUTPUT、そして「INSERT」/「APPEND」の組み合わせを試してみましたが、どういうわけかすべてがブロックされるか、完全にオープンのままになります。私の最終目標にはまったく沿っていません。FORWARD、INPUT、OUTPUT の順序やデフォルト ルールに関係しているはずですが、原因がわかりません。

ルールも 1 つずつ挿入しました。最初は簡単なものから。

iptables -I FORWARD -d 192.168.1.0/29 -p tcp --dport 17111 -j DROP

これでドロップされます。canyouseeme.org を試して成功したと表示されても、コードを入力すると、やはり成功と表示されるので、時々扱いにくいことがあります。失敗したと表示される (つまりドロップされた) こともあります。時々、それが私が遭遇する問題ですが、おそらく無関係の問題のようです。その後、私は自分に言い聞かせます。これでうまくいきました。次に、この後に INSERT ルールを追加しましょう。明らかに INSERT は先頭に来るので、上記のコードの後に​​これを追加しました。

iptables -I FORWARD -s myworkip -d 192.168.1.0/29 -p tcp --dport 121 -j ACCEPT

ファイルにこれら 2 つを記述します。iptables をフラッシュしてから、firewall-start サービスを再起動して、新しいルールを取得します。iptables -L正しい順序になっていることを確認しました。Web ページ ddns.dns.com:121 を再読み込みしてテストしましたが、何も起こりませんでした。読み込まれません。キャッシュでしょうか? 時間がかかるのでしょうか? 5 分待っても何も起こらないこともあります。canyouseeme.org を再度使用しましたが、最後の DROP コードで失敗したと表示されます。

専門家の助けが必要です。現在、私の既存の iptable は次のとおりです。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere             state INVALID
PTCSRVWAN  all  --  anywhere             anywhere
PTCSRVLAN  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             state NEW
ACCEPT     all  --  anywhere             anywhere             state NEW
OVPN       all  --  anywhere             anywhere             state NEW
ACCEPT     udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
INPUT_ICMP  icmp --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
other2wan  all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere
NSFW       all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT
OVPN       all  --  anywhere             anywhere             state NEW
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain ACCESS_RESTRICTION (0 references)
target     prot opt source               destination

Chain FUPNP (0 references)
target     prot opt source               destination

Chain INPUT_ICMP (1 references)
target     prot opt source               destination
RETURN     icmp --  anywhere             anywhere             icmp echo-request
RETURN     icmp --  anywhere             anywhere             icmp timestamp-request
ACCEPT     icmp --  anywhere             anywhere

Chain NSFW (1 references)
target     prot opt source               destination

Chain OVPN (2 references)
target     prot opt source               destination

Chain PControls (0 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain PTCSRVLAN (1 references)
target     prot opt source               destination

Chain PTCSRVWAN (1 references)
target     prot opt source               destination

Chain SECURITY (0 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN
RETURN     tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/RST
RETURN     icmp --  anywhere             anywhere             icmp echo-request limit: avg 1/sec burst 5
DROP       icmp --  anywhere             anywhere             icmp echo-request
RETURN     all  --  anywhere             anywhere

Chain default_block (0 references)
target     prot opt source               destination

Chain logaccept (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "ACCEPT "
ACCEPT     all  --  anywhere             anywhere

Chain logdrop (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "DROP "
DROP       all  --  anywhere             anywhere

Chain other2wan (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

前もって感謝します!

関連情報