82[CentOS7] 간단한 방화벽 구축하기 예제(공인IP에서 사설IP로 접속)Admin

ex: 외부(공인아이피)에서 내부단에 있는 서버(내부아이피 설정)로 연결하고자 할 경우 설정법
eth0: 외부단, eth1: 내부단

0-1. IP4패킷 포워딩이 가능 하도록 한다.
/etc/sysctl.conf파일 끝에 이하 내용 추가
net.ipv4.ip_forward = 1

0-2. sysctl 설정 재부팅없이 적용
sysctl -p

1. 먼저 각 인터페이스들의 존을 확인해 본다.(이하 예시)
# firewall-cmd --get-active-zones
# firewall-cmd --list-all
# firewall-cmd --zone=internal --list-all

2. 각 인터페이스를 internal, external존으로 구분시킨다.( --permanent을 사용하는 이유: 서버 리셋되어도 설정 유지시키기 위함)
# firewall-cmd --zone=external --add-interface=eht0 --permanent
# firewall-cmd --zone=internal --add-interface=eth1 --permanent

3. external에서 2222번포트로 들어온 것을 192.168.1.2로 포워딩 시킨다.(external존의 포트나 서비스를 직접 열 필요없다)
# firewall-cmd --zone external --add-forward-port port=2222:proto=tcp:toport=2222:toaddr=192.168.1.2 --permanent

4-1. 마스커레이딩이 가능하도록 internal존에 적용시킨다(가상의 대상이 되는 존을 마스커레이딩 시켜야한다, 다시말해 내부서버가 가상의 대상이 되므로 internal을 적용시킨다)
# firewall-cmd --zone=internal --add-masquerade --permanent

4-2. 마스커레이딩이 가능하도록 external존에 적용시킨다(내부서버가 외부로 인터넷 연결이 필요하다면 external도 마스커레이딩한다)
# firewall-cmd --zone=external --add-masquerade --permanent

5. 환경설정을 리로드하여 적용시킨다.
# firewall-cmd --reload

6. 각 존별 환경설정을 확인한다.(이하 예시)
# firewall-cmd --list-all-zones
# firewall-cmd --zone=internal --list-all

by createall in http://hwangji.kr