내 CentOS 컴퓨터에서 포트를 열려고 합니다.
파일을 편집 /etc/sysconfig/iptables
하고 규칙을 추가합니다.
-A INPUT -p TCP -m state --state NEW -m tcp --dport 143 -j ACCEPT
그런 다음 iptable 서비스를 다시 시작했습니다.
# service iptables restart
그런데 열려있는 포트를 확인해 보니 내가 선언한 포트가 나오지 않습니다.
netstat -tulpn | less
답변1
이 포트를 연 후에 실행되는 서비스가 있나요? 이 명령은 netstat -tulpn | less
실제로 TCP 포트에서 수신 대기 중인 데몬의 포트만 표시합니다.
예
처음에는 아무것도 실행되지 않습니다.
$ sudo netstat -tulpn | grep :80
$
아파치를 시작합니다:
$ sudo /etc/init.d/httpd start
Starting httpd: [ OK ]
$
다시 확인하세요:
$ sudo netstat -tulpn | grep :80
tcp 0 0 :::80 :::* LISTEN 31260/httpd
이제 우리는 그것을 봅니다. 서비스 중단:
$ sudo /etc/init.d/httpd stop
Stopping httpd: [ OK ]
$
이제는 다시 사라졌습니다.
$ sudo netstat -tulpn | grep :80
$
답변2
이는 iptables rule
기본 체인 정책이 DROP으로 설정되면 대상 포트 143을 사용하여 들어오는 모든 TCP 세그먼트가 허용되고 삭제되지 않거나 세그먼트가 어떤 규칙과도 일치하지 않고 체인의 마지막 세그먼트인 경우를 의미합니다. REJECT이면 거부됩니다.
이 포트가 열려 있고 수신 대기 중인 것을 보려면 해당 포트에서 실행되고 수신 대기 중인 애플리케이션이 있어야 합니다. 해당 응용 프로그램이 실행되고 있지 않은 것 같으므로 먼저 구성한 다음 실행해 보십시오. TCP 포트 143은 일반적으로 IMAP 서비스(Dovecot, Courier-imap 등)에 할당됩니다.