iptables/firewall-cmd DROP 규칙은 이전에 설정된 마지막 차단 IP 규칙을 설정합니다.

iptables/firewall-cmd DROP 규칙은 이전에 설정된 마지막 차단 IP 규칙을 설정합니다.

내가 가지고 있는 iptables 규칙 목록은 다음과 같습니다.

# firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
...
...
ipv4 filter INPUT 1 -d 127.0.0.1 -p tcp -m tcp --dport 4118 -j ACCEPT
ipv4 filter INPUT 2 -i lo -j DROP
ipv4 filter FORWARD 0 -j DROP
ipv4 filter OUTPUT 0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
...
...
ipv4 filter OUTPUT 1 -d 127.0.0.1 -p tcp -m tcp --dport 4118 -j ACCEPT
ipv4 filter OUTPUT 2 -o lo -j DROP

dsa 명령을 시작하면 다음 오류 메시지가 나타납니다.

dsa_control
couldn't connect to 127.0.0.1:4118 (-1: Socket reset)

ss -ntl다음을 제공합니다:

State            Recv-Q           Send-Q                      Local Address:Port                       Peer Address:Port
LISTEN           0                128                               0.0.0.0:111                             0.0.0.0:*
LISTEN           0                128                               0.0.0.0:22                              0.0.0.0:*
LISTEN           0                128                                  [::]:111                                [::]:*
LISTEN           0                5                                       *:4118                                  *:*
LISTEN           0                128                                  [::]:22                                 [::]:*

DROP 입력 및 출력 규칙을 제거하면 모든 것이 잘 작동합니다. 이러한 DROP 규칙이 어떻게 여전히 IP 127.0.0.1을 차단하는지 아시나요?

답변1

실제로 규칙이 하나 빠졌습니다. --sport 외에도 필요에 따라 포트를 열려면 --dport 옵션을 추가해야 했습니다.

관련 정보