05/10
2015
CentOS7 방화벽 관리하기 (firewalld)
CentOS7이 나온지 벌써 1년이 되어간다.
아직 나는 실무에서는 사용하지 않고.. 개인 서버에만 사용중이다. 또 처음 도입 할 당시 프로젝트를 도커(Docker)위에 올려서 그랬는지.. 방화벽에 대해서 신경을 쓰지 않고 있었다.
CentOS7 올라오면서 많은 부분이 바뀌었지만. 그 중 웹개발 하면서 흔하게 마주칠 수 있는 방화벽의 간단한 사용법에 대해 알아보자.
CentOS6 까지는 iptables를 이용하여 관리 하였었는데 7에 와서는 firewalld 라는것이 생겼다.
http://oracle-base.com/articles/linux/linux-firewall-firewalld.php
위 주소에 가면 자세한 설명을 볼 수 있다.
여기서는 내가 사용하게된 몇가지 명령을 요약해 두도록 하겠다.
우선 간만에 톰켓을 띄워 간단한 WEB APP를 돌리려고 했는데;; 접근이 안되는거다.
이 서버가 도커 위에 다른 서비스를 돌릴때는 동작을 잘 하던 서버라서. 네트워크 설정이 다 되어있는줄 알았다. 그래서 app를 의심해서 봤는데; 너무 간단한 app이라. 다시 서버쪽을 보니..
아 방화벽이 걸려 있던 것이었다.
우선 방화벽을 내려서 정말인지 확인해 보았다.
# systemctl stop firewalld
으 방화벽 내리니 매우 잘 동작하는것을 확인 하였다.
우선은 다시 올려서 접속 안되는 것을 확인하고. 포트를 추가 하였다.
# firewall-cmd --permanent --zone=public --add-port=8080/tcp # firewall-cmd --reload
요렇게 하여 8080을 추가하고 접속하니.. 아주 잘 된다.
설정은 vi /etc/firewalld/zones/public.xml 에 가면 확인 할 수 있다.
<zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="dhcpv6-client"></service> <service name="ssh"></service> <port protocol="tcp" port="8080"></port> </zone>
뭐 이렇게 해서 해당 서비스를 올릴 수 있었다.
자세한 사항은 내가 적는것보다. 아까 알려드린 잘 정리된 문서를 참고 하시기 바란다 ^^