OCI Ubuntu 인스턴스에서 iptables 설정의 문제점과 해결방법
1.서론
오라클 클라우드 컴퓨트 인스턴스를 사용하여 Tomcat과 MySQL을 설치하고 잘 사용하던 중 어느 날 갑자기 접속이 안 되는 현상이 발생했습니다. 처음에는 설치한 어플리케이션 문제로 보고 원인을 한참 찾았으나, 결국 오라클 클라우드에서 제공하는 Ubuntu 서버의 구성과 관련되었음을 발견하게 되었습니다.
2.문제의 원인과 해결
문제
처음 인스턴스를 설치하고 웹 서버와 MySQL에 정상적으로 접속할 수 있었지만, 재시작 후에는 해당 포트로의 접속이 차단되는 문제가 발생했습니다.
해결
이 문제는 iptables 규칙이 영구적으로 저장되지 않아 발생한 것입니다. netfilter-persistent를 사용하여 재부팅 후에도 http, https, tomcat, mysql 서비스를 사용할 수 있도록 해결했습니다.
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 8080 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3306 -j ACCEPT
sudo netfilter-persistent save
3.총평
문제는 해결했으나 여러 가지 의문이 남습니다. 이미 NSG(네트워크 보안 그룹)으로 보호되고 있기 때문에 이러한 작업은 무익하게 느껴질 뿐만 아니라, 예기치 않고 확인이 어려운 서비스 장애 발생의 원인이 된다고 생각됩니다. 또한 처음 인스턴스를 설치할 당시에는 이러한 제한이 작동하지 않았던 것 역시 의문입니다.
Comments ()