Centos7 방화벽 문제
Centos7을 설치하고 SVN, MySQL을 설치....
근데 왜 외부에서 접속이 안되지? 헐....;;;
이유는 간단.. 방화벽이 막혀있으니까~!!!
근데 이상하지? iptables도 안깔려있는데.. 뭘로 설정하지?
기본 설치된 firewalld이 그 일을 한다..
이거 무조건 설정해줘야 한다는거임.;;;
1. install firewalld
$ yum install firewalld
2. 설정 정보 파일 보기
$ cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<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 name="ssh"/>
</zone>
3. firewalld 상태 확인 후 구동하기
$ systemctl status firewalld
firewalld.service
Active: inactive (dead) since 목 2015-06-11 09:57:07 KST; 1 day 5h ago
Main PID: 814 (code=exited, status=0/SUCCESS)
6월 09 16:25:00 dev systemd[1]: Started firewalld - dynamic firewall daemon.
6월 11 09:57:07 dev systemd[1]: Stopping firewalld - dynamic firewall daemon...
6월 11 09:57:07 dev systemd[1]: Stopped firewalld - dynamic firewall daemon.
$ systemctl start firewalld
4. 포트 추가하기
$ firewall-cmd --permanent --zone=public --add-port=3306/tcp
$ firewall-cmd --permanent --zone=public --add-port=3690/tcp
5. 설정파일 확인하기
$ cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<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 name="ssh"/>
<port protocol="tcp" port="3306"/>
<port protocol="tcp" port="3690"/>
</zone>
6. 적용하기
$ firewall-cmd --reload
success
문제 발견~!!!
[Failed to issue method call: Unit firewalld.service is masked.] 메시지 나오면..;
$ systemctl start firewalld
Failed to issue method call: Unit firewalld.service is masked.
$ systemctl unmask firewalld
rm '/etc/systemd/system/firewalld.service'