iptables ルールが ping localhost に影響を与えるのはなぜですか?

iptables ルールが ping localhost に影響を与えるのはなぜですか?

以下は、私の CentOS システムにある iptable ファイアウォール ルールです。この時点では、localhost に ping できませんでした。ping localhost失敗していました。

しかし、ルールをフラッシュするとすぐにiptables -F、localhost に ping できるようになりました。問題は、なぜでしょうか? この iptables セットは、localhost (127.0.0.1) への ping 機能にどのように影響していたのでしょうか?

root@localhost:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:53
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:67
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:67
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:6080
LPASS      udp  --  0.0.0.0/0            0.0.0.0/0            state NEW udp spt:68 dpt:67
LPASS      all  --  192.168.122.49       0.0.0.0/0
LPASS      tcp  --  192.168.122.0/24     0.0.0.0/0            tcp spt:21
LPASS      all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
LPASS      tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpts:8505:8506
LPASS      tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:6000
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpts:6001:6100
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            state NEW udp dpt:161
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:24
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:8081
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:2222
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
LDROP      all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
ACCEPT     tcp  --  0.0.0.0/0            192.168.122.49       tcp dpt:3389
ACCEPT     all  --  192.168.122.49       0.0.0.0/0
DROP       all  --  192.168.122.0/24     0.0.0.0/0
LFDROP     all  --  0.0.0.0/0            0.0.0.0/0            PHYSDEV match --physdev-in vnet+ --physdev-out vnet+ --physdev-is-bridged
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state NEW
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:68

Chain LDROP (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain LFDROP (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain LPASS (6 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

ifconfig はインターフェースが UP であることを示します。

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 65922  bytes 5788036 (5.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 65922  bytes 5788036 (5.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

答え1

それの訳はすべてインターフェースから出てインターフェースに入るトラフィックは、iptables またはファイアウォール ルールを介して解析されます。

したがって、ICMP、HTTP、FTP、またはその他のプロトコルのパケットがインターフェースから自分自身に送信される必要がある場合、外部IPの場合と同じプロセスが実行されます。たとえば、HTTPの場合はTCP接続を開始し、次にローカルホストにHTTPリクエストを送信し、すべての通信は見よインターフェース。

例えば、出力ルールは以下のようになります。

ACCEPT     ICMP  --  127.0.0.1            127.0.0.1 

ICMP を実行しようとしても、まだ通過しません。動作させるには、以下のような入力ルールも必要になります。

ACCEPT     ICMP  --  127.0.0.1            127.0.0.1 

関連情報