CentOS7의 nc 명령 및 iptables

CentOS7의 nc 명령 및 iptables

저는 CentOS 7(Virtual Box의 게스트 머신)에서 iptables 사용을 연습했습니다. 처음에는 다음을 비활성화했습니다 firewalld.

systemctl disable firewalld
systemctl stop firewalld

그런 다음 iptables를 설치했습니다.

yum -y install iptables-services
systemctl enable iptables
systemctl start iptables

결국 nc -l 1025명령을 사용하여 로컬 컴퓨터에서 TCP 포트를 열려고 했지만 명령이 중단되었습니다. 인터넷을 뒤져보니 이 글에서 iptables 규칙을 새로 고칠 수 있다는 걸 알았습니다.netcat 명령이 열려 있는 포트에 액세스할 수 없습니다.하지만 그 이후에는 인터넷에 전혀 연결할 수 없습니다. 그래서 방금 iptables를 설치했을 때의 상태로 CentOS7을 복원했습니다. 내 iptables 규칙은 다음과 같습니다.

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state    RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp    dpt:ssh
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with  icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

이것은 자세한 모드입니다 nc -vl 1025.

Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::1025
Ncat: Listening on 0.0.0.0:1025

결과 ss -lnt:

State      Recv-Q Send-Q        Local Address:Port          Peer    Address:Port
LISTEN     0      128                       *:22                       *:*
LISTEN     0      100               127.0.0.1:25                       *:*
LISTEN     0      128                      :::22                      :::*
LISTEN     0      100                     ::1:25                      :::*

포트 2000과 같은 또 다른 자세한 모드 nc -vl 2000:

Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::2000
Ncat: Listening on 0.0.0.0:2000

결과 ss -lnt는 동일합니다.

State      Recv-Q Send-Q        Local Address:Port          Peer  Address:Port
LISTEN     0      128                       *:22                       *:*
LISTEN     0      100               127.0.0.1:25                       *:*
LISTEN     0      128                      :::22                      :::*
LISTEN     0      100                     ::1:25                      :::*

nc그렇다면 명령이 작동하도록 하고 CentOS7에서 일부 TCP 포트를 열려면 어떻게 해야 합니까 ?

답변1

의견에 언급됨 - 가장 중요한 사항에 대한 간략한 요약:

  • ncat그리고 들어오는 연결을 한 번만 수신하고 첫 번째 시도에서 이를 중지하는 다른 netcat구현도 가능합니다(프로그램에 스위치가 없는 경우).

  • 프로그램은 현재 iptables 설정에 관계없이 포트에서 수신 대기를 시작할 수 있습니다.

관련 정보