[Linux] 리눅스 포트 명령어
리눅스 포트 및 방화벽 상태와 포트를 Open하는 방법입니다.
리눅스 포트 명령어
리눅스 포트 관련 명령어 입니다.
포트 상태 확인
1. 열려있는 모든 포트 표시
$ netstat -nap
-n: host명으로 표시 안함
-a: 모든소켓 표시
-p: 프로세스ID와 프로그램명 표시
2. LISTEN 포트 표시
$ netstat -nap | grep LISTEN
3. 특정 포트 상태 확인
$ netstat -nap | grep 포트번호
포트 열기
1. 방화벽 설정 정보 확인
$ iptables -nL
2. Port 열기
* iptables 옵션
-I: 새로운 규칙을 추가한다.
-p: 패킷의 프로토콜을 명시한다.
-j: 규칙에 해당되는 패킷을 어떻게 처리할지를 정한다.
2-1. TCP Inbound Port 열기
* 외부 -> 내부 (Inbound) TCP 포트 12345를 1번 방확벽 규칙으로 추가
$ iptables -I INPUT 1 -p tcp --dport 12345 -j ACCEPT
2-2. UDP Inbound Port 열기
* 외부 -> 내부 (Inbound) udp 포트 12345를 1번 방확벽 규칙으로 추가
$ iptables -I INPUT 1 -p udp --dport 12345 -j ACCEPT
2-3. TCP Outbound Port 열기
* 내부 -> 외부 (Outbound) TCP 포트 9002를 1번 방확벽 규칙으로 추가
# iptables -I OUTPUT 1 -p tcp --dport 9002 -j ACCEPT
2-4. UDP Outbound Port 열기
* 내부 -> 외부 (Outbound) udp 포트 9002를 1번 방확벽 규칙으로 추가
$ iptables -I OUTPUT 1 -p udp --dport 9002 -j ACCEPT
3. Port 설정 조회
$ iptables -L -v
-L: 규칙을 출력
-v: 자세히
CentOS 7 포트 열기
CentOS 7 부터는 iptables 관련 명령어가 아니라 firewall 명령어로 변경
* 포트 열기
firewall-cmd --zone=public --permanent --add-port=12345/tcp
* 포트 리로드
firewall-cmd --reload
* 열린 포트는 아래 명령어로 확인 할 수 있다.
firewall-cmd --zone=public --list-all
포트 삭제
"-D" 옵션을 이용하여 포트 삭제
* 규칙번호로 삭제
$ iptables -D INPUT 1
* 추가한 규칙으로 삭제
$ iptables -D INPUT -p tcp --dport 12345 -j ACCEPT
$ iptables -D INPUT -p udp --dport 12345 -j ACCEPT
변경사항 저장
$ service iptables save
$ /etc/init.d/iptables restart
방화벽 활성화 / 비활성화
* 활성화
$ /etc/init.d/iptables start
* 비활성화
$ /etc/init.d/iptables stop