iptables はポートを指定するときにループバックを許可しません。

iptables はポートを指定するときにループバックを許可しません。

リモート接続でポート27017のmongodbにアクセスできるようにiptablesを設定しようとしています。私のルールは次のとおりです

  ACCEPT     tcp  --  any    any     anywhere  anywhere    tcp dpt:27017

*reject_all_else here*

これはリモート接続ではうまく機能しますが、ループバックインターフェイスでは失敗します。以下のポートを追加すると機能しません。

iptables -I INPUT 1 -i lo -p tcp --dport 27017 -j ACCEPT

しかし、ポートを指定せずにすべてのループバックを許可するのは問題ありません。ループバックはポートを変更したり、他の奇妙なことをしますか?

iptables -I INPUT 1 -i lo -p tcp -j ACCEPT

以下はtcmdumpです。

[root@localhost ~]# tcpdump -i lo -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
17:19:49.528039 IP 127.0.0.1.59372 > 127.0.0.1.27017: Flags [S], seq 2525021556, win 43690, options [mss 65495,sackOK,TS val 10984445 ecr 0,nop,wscale 7], length 0
20:57:14.735029 IP 127.0.0.1.27017 > 127.0.0.1.59372: Flags [S.], seq 1048378415, ack 2525021557, win 43690, options [mss 65495,sackOK,TS val 10984445 ecr 10984445,nop,wscale 7], length 0
17:19:49.528102 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable - admin prohibited, length 68
17:19:50.531012 IP 127.0.0.1.59372 > 127.0.0.1.27017: Flags [S], seq 2525021556, win 43690, options [mss 65495,sackOK,TS val 10985448 ecr 0,nop,wscale 7], length 0
22:09:02.588230 IP 127.0.0.1.27017 > 127.0.0.1.59372: Flags [S.], seq 1064049928, ack 2525021557, win 43690, options [mss 65495,sackOK,TS val 10985448 ecr 10985448,nop,wscale 7], length 0
17:19:50.531066 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable - admin prohibited, length 68
17:19:52.535030 IP 127.0.0.1.59372 > 127.0.0.1.27017: Flags [S], seq 2525021556, win 43690, options [mss 65495,sackOK,TS val 10987452 ecr 0,nop,wscale 7], length 0
00:32:29.704695 IP 127.0.0.1.27017 > 127.0.0.1.59372: Flags [S.], seq 1095362915, ack 2525021557, win 43690, options [mss 65495,sackOK,TS val 10987452 ecr 10987452,nop,wscale 7], length 0
17:19:52.535109 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable - admin prohibited, length 68

ベストアンサー1

見えるものとは異なり、問題はサービスに接続できないことです。問題は答えです。

あなたのNetfilter設定には、次の重要な標準ルールがありません。

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED

おすすめ記事