새터산 개발자 공부한 것을 정리하는 블로그입니다.

network-설정-ubuntu

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 : 포트번호를 숫자로 표시
# 결과가 아무것도 없으면 해당 포트를 리스닝하는 활성 서비스나 프로세스가 없다는 의미.