iptables -F가 ssh 세션에서 나를 쫓아내는 이유는 무엇입니까?

Nov 20 2020

iptables에 몇 가지 규칙을 추가하고 싶었습니다. https://askubuntu.com/questions/37412/how-can-i-ensure-transmission-traffic-uses-a-vpn VPN (제 경우에는 surfshark)을 통해 토렌트 프로그램 전송에서 트래픽을 라우팅하기위한 질문과 답변.

iptables -F사용자 지정 규칙을 추가하기 전에 최소한 두 개의 답변을 사용 하여 테이블을 비 웁니다.

이 답변 중 하나는 특히 내 것과 같은 헤드리스 서버를 참조합니다 . 그래서 이것이 효과가 있다고 생각합니다.

그러나 내가 사용하면 iptables -F즉시 서버에 대한 ssh 세션에서 쫓겨납니다. 터미널에 새 명령을 입력 할 수 없으며 다시 로그인하려면 서버를 재부팅해야합니다.

모든 IP에 포트 22를 허용하는 방화벽이 서버에서 실행 중입니다.


설명을 위해 수락 된 답변을 적용하기 전후의 출력을 추가합니다.

이전 (공지 policy DROP) :

     $ sudo iptables -xvnL
Chain INPUT (policy DROP 21 packets, 5628 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
     387    31969 f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22
   27008 50413306 ufw-before-logging-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
   27008 50413306 ufw-before-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     153    26176 ufw-after-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
      21     5628 ufw-after-logging-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
      21     5628 ufw-reject-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
      21     5628 ufw-track-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 ufw-before-logging-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
       0        0 ufw-before-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
       0        0 ufw-after-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
       0        0 ufw-after-logging-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
       0        0 ufw-reject-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
       0        0 ufw-track-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 7 packets, 324 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
    7130   870596 ufw-before-logging-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    7130   870596 ufw-before-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     997   113175 ufw-after-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     997   113175 ufw-after-logging-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     997   113175 ufw-reject-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
     997   113175 ufw-track-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0      

 

후:

 $ sudo iptables -L -v
Chain INPUT (policy ACCEPT 12648 packets, 12M bytes)

답변

3 DougSmythies Nov 20 2020 at 16:14

예, The iptables -F chain는 해당 체인에 대한 모든 iptables 규칙을 플러시하므로 기본 정책 규칙 만 사용됩니다.

참조에 ACCEPT대한 기본 정책 은 이고 컴퓨터의 기본 정책은 DROP입니다.

를 통해 확인하십시오 sudo iptables -xvnL. 체인의 모든 규칙을 삭제하고 ssh 세션을 유지하려면 기본 정책을 ACCEPTfirst로 변경하십시오 . DROP원하는 규칙을 정한 후 다시 변경할 수 있으며 ssh 패킷이 더 이상 기본 정책에 의존하지 않는지 확인합니다.

sudo iptables -P INPUT ACCEPT

OUTPUT 체인에서도 필요할 수 있습니다.