ここのコミュニティは素晴らしいです!
私は ASUS 3100 ワイヤレス ルーターと 4 台の IP カメラを持っています。古いルーターでは、カメラが「自宅に電話をかけていない」ことを確認できるように、送信トラフィックを簡単にブロックできました。このルーターでも同じことをしたいので、まずポート転送ツールを使用し、次に IPTABLES を調べ始めました。 asuswrt-merlin がルーターの管理ツールと iptables でポート転送を使用する場合にも、これが問題になるかどうかはわかりません。おそらくそうではないと思います... ですよね?
私の目標:
- デフォルトでは192.168.1.0/29の送信トラフィックと受信トラフィックをブロックします
- 例外: 120:130 を開きたいのですが、信頼できる IP (職場や友人の家) のみに限定します。それらの IP は 150.150.150.150 と 250.250.250.0/24 だとします (これらのポートにアクセスするにはブラウザを使用しますが、それはおそらく問題ではありません)。したがって、カメラ #2 にアクセスする場合は DDNS.dns.com:121 になります。
- 例外: カメラは 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
前もって感謝します!