
私たちのWebサーバーに入ってくるいくつかの外国のIPトラフィックをブロックしようとしています。 alin.com表示ブロック117.0.0.0/8はオーストラリアのサウスブリスベンに属しています。ただし、ブロックすると「localhost / 8」と表示されます。
$ sudo iptables -I INPUT -s 117.0.0.0/8 -j DROP -m comment --comment "south brisbane au"
リストの結果iptables -L --line-numbers
は次のとおりです。
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- localhost/8 anywhere /* south brisbane au */
ここで何が起こっているのでしょうか? 117.0.0.0/8が「localhost / 8」と表示されるのはなぜですか?このブロックはlocalhostへのトラフィックに影響しますか?
更新(および許可されたソリューションの出力)
-n
複数の人が提案したとおり(許可された回答を含む)を使用して実装しました。これは以下を使用した後の出力です-n
。
$ sudo iptables -L -n --line-numbers | head
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- 117.0.0.0/8 0.0.0.0/0 /* south brisbane au */
別の利点は、速度がiptables -L
非常に遅くなることです。調査する時間はありませんでしたが、DNS検索を避けることで問題を解決しました。iptables -L
チェーンに数が多くなると、ソースへのDNS検索が非常に遅くなるようです。今、そのチェーンの合計144をすぐに解放します。基本的に、ソースを逆方向に照会するのは奇妙です。
答え1
これは次の誤検出です。
% host 117.0.0.0
0.0.0.117.in-addr.arpa domain name pointer localhost.
対応するリバースDNSゾーンの所有者は「localhost」と入力されます。このアドレスで録音されました。iptables
DNSルックアップをオフにするフラグ(-n
)があります。また、その照会に時間が無駄にならないため、コマンドの実行速度が速くなります。
お住まいの地域の所有者が必要な場合は、dig
次のものが表示されますので使用しSOA
てください。リバースアドレス形式を使用する必要があります(このツールhost
または他の検索ツールが返されます)。
% dig 0.0.0.117.in-addr.arpa
...
;; AUTHORITY SECTION:
0.117.in-addr.arpa. 86266 IN SOA dns1.vietel.com.vn. tuananh.viettel.com.vn. 2008010803 10800 3600 604800 86400