iptables 포트 규칙 추가/삭제
# 현재 설정된 규칙 조회
iptables --list
# 포트 규칙 추가
sudo iptables -I INPUT -p tcp --dport <포트번호> -j ACCEPT
# 포트 규칙 삭제
sudo iptables -D INPUT -p tcp --dport <포트번호> -j ACCEPT
# -I : insert (규칙 추가)
# -D : delete (규칙 삭제)
# INPUT : 들어오는 패킷에 대한 규칙(입력 체인)
# -p tcp : TCP 프로토콜에 대한 필터
# --dport <포트번호> : 해당 포트 지정 (예: 8080)
# -j ACCEPT : 허용(ACCEPT) 규칙
# 예시: 8080 포트 허용 규칙 추가
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 예시: 8080 포트 허용 규칙 삭제
sudo iptables -D INPUT -p tcp --dport 8080 -j ACCEPT
# 재부팅해도 설정을 유지하기 위해 저장
sudo netfilter-persistent save
# 저장된 내용 즉시 적용
sudo netfilter-persistent start
iptables 포트 규칙 검색
sudo iptables -L -n | grep <포트번호>
# -L : 현재 규칙 리스트
# -n : 숫자로 출력(포트번호, IP 등)
# 예시: 포트 8080이 열려 있는지 확인하려면
sudo iptables -L -n | grep 8080
# 결과가 아무것도 없으면 설정된 규칙이 없다는 의미이다.
# 예시 : 포트 443을 어느 프로세스가 사용중인지 확인
sudo ss -tulpn | grep ':443'
외부에서 포트 오픈 확인
sudo nmap -p <포트번호> <주소>
# nmap이 없으면 `sudo apt install nmap`으로 설치 가능합니다.
# 결과에 `open`이 나오면 실제로 리스닝 중인 서비스가 있다는 뜻
특정 포트가 서비스중인지 확인
sudo ss -ltn | grep <포트번호>
# -l : 리스닝 상태만 표시
# -t : TCP
# -n : 포트번호를 숫자로 표시
# 결과가 아무것도 없으면 해당 포트를 리스닝하는 활성 서비스나 프로세스가 없다는 의미.