web-dev-qa-db-ja.com

Centos iptablesがポート53を開く

CentOSマシンでDNS設定のためにポート53を開くときに問題が発生します。

これが私のiptables設定です

-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

マシンのnmapスキャンを実行すると、ポート80だけが開いていると表示されました。何か不足していますか?

編集:

完全なiptable

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -p udp -m state --state NEW,ESTABLISHED -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT -reject-with icmp-Host-prohibited
-A FORWARD -j REJECT -reject-with icmp-Host-prohibited
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
COMMIT 
8
user1817081

セマンティクスが逆になります。

投稿したルールは送信リモートDNSサーバーへのDNS接続を許可しますが、受信ローカルDNSサーバーへの接続は許可しません。

ローカルDNSサーバーへの接続を許可するには、INPUTルールとOUTPUTルールを逆にします。

-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT

(そして、ファイアウォールをステートフルになるように修正するには、ある時点で数分かかります。)

12
Michael Hampton

使用する -I の代わりに -A

DNSサーバーがリッスンしている場合、ポート53でリッスンするため、入力ルールは次のようになります。

-I INPUT -p udp -m udp --dport 53 -j ACCEPT
3
user9517

DNSサーバーがアクティブに実行されていますか?ポートを開いている場合でも、サービスはアクティブである必要があります。 netstatコマンドを実行すると、ローカルでリッスンしているものを確認できます。また、何が表示されるかを確認するためだけに、ファイアウォールを一時的に完全にオフにしてみましたか?

0
Eric