Linux 방화벽및포트
리눅스에서 포트가 열려 있는지 확인하는 방법과 방화벽 규칙을 추가하는 방법을 함께 정리한다.
🔍 포트 확인
- 특정 포트가 사용 중인지 먼저 확인한다.
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로 반영한다.
💾 방화벽 설정 영구 저장
- 재부팅 후에도 규칙을 유지하려면 사용하는 방화벽 방식에 맞게 저장해야 한다.
firewalld와iptables는 관리 방식이 다르므로 같이 쓸 때는 충돌 여부를 확인해야 한다.
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
- 필요한 방화벽 규칙을 추가한 뒤 저장해 두면 재부팅 후에도 유지할 수 있다.
📌 주의사항
- 포트 열림과 방화벽 허용은 같은 말이 아니다.
- 실제 서비스가 포트를 듣고 있어도 방화벽이 막고 있으면 외부 접근이 되지 않는다.
- 반대로 방화벽을 열어도 서비스가 실행 중이 아니면 연결되지 않는다.
- 운영 환경에서는 최소한의 포트만 허용하는 것이 안전하다.
📎 정리
- 먼저 서비스가 해당 포트를 사용하는지 확인한다.
- 그다음 방화벽 도구에 맞게 포트를 허용한다.
- 재부팅 후에도 규칙이 유지되는지 확인한다.
댓글남기기