리눅스에서 포트가 열려 있는지 확인하는 방법방화벽 규칙을 추가하는 방법을 함께 정리한다.

🔍 포트 확인

  • 특정 포트가 사용 중인지 먼저 확인한다.
sudo netstat -tlnp | grep 3306
  • 3306 포트가 열려 있는지 확인한 뒤 필요한 경우 방화벽 규칙을 추가한다.
  • 리눅스에서 포트 자체를 “여는” 것이 아니라 방화벽에서 해당 포트의 통신을 허용하는 개념으로 이해하면 된다.

🛡 방화벽 확인과 허용

UFW

  • Ubuntu 계열에서 자주 사용하는 방화벽 도구다.
sudo ufw status
sudo ufw allow 3306/tcp
  • status로 상태를 확인하고, allow로 포트를 허용한다.

iptables

  • 전통적인 리눅스 방화벽 규칙 관리 방식이다.
sudo iptables -L -n | grep 3306
sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  • 기존 규칙을 확인한 뒤, INPUT 체인에 허용 규칙을 추가한다.

firewalld

  • RHEL 계열에서 자주 사용하는 방화벽 관리 도구다.
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
  • --permanent로 영구 규칙을 추가하고, --reload로 반영한다.

💾 방화벽 설정 영구 저장

  • 재부팅 후에도 규칙을 유지하려면 사용하는 방화벽 방식에 맞게 저장해야 한다.
  • firewalldiptables는 관리 방식이 다르므로 같이 쓸 때는 충돌 여부를 확인해야 한다.

firewalld 비활성화 후 iptables 사용

systemctl stop firewalld
systemctl mask firewalld
  • firewalld가 활성화되어 있으면 iptables 서비스와 충돌할 수 있으므로 필요에 따라 중지한다.

iptables-services 사용

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

sudo iptables-save
  • 필요한 방화벽 규칙을 추가한 뒤 저장해 두면 재부팅 후에도 유지할 수 있다.

📌 주의사항

  • 포트 열림과 방화벽 허용은 같은 말이 아니다.
  • 실제 서비스가 포트를 듣고 있어도 방화벽이 막고 있으면 외부 접근이 되지 않는다.
  • 반대로 방화벽을 열어도 서비스가 실행 중이 아니면 연결되지 않는다.
  • 운영 환경에서는 최소한의 포트만 허용하는 것이 안전하다.

📎 정리

  • 먼저 서비스가 해당 포트를 사용하는지 확인한다.
  • 그다음 방화벽 도구에 맞게 포트를 허용한다.
  • 재부팅 후에도 규칙이 유지되는지 확인한다.

연결문서

태그: ,

카테고리:

업데이트:

댓글남기기