리눅스 iptables 실습하기 -1-

2016. 9. 21. 01:25리눅스

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

오늘은 centos 를 이용하여, iptables 실습을 해보도록 하겠습니다.


기본적인 통신망도는 다음과 같습니다.



1. PC 1 의 통신망도는 다음과 같습니다.

우리는 PC2와 UDP를 통한 연결하여, DHCP서버를 운영하고, CentOS를 방화벽으로 이용하여 iptables 실습을 진행합니다.


2. PC 2의 통신망도는 다음과 같습니다.


3. 각 통신망을 모두 개통해 줍니다. ( 망 개통을 못하시는분은은 라우팅 테이블 설정 부터 공부하셔야 합니다)


4. Centos 의 iptables 서비스를 시작하고, 모든 정책을 DROP합니다.

root@localhost 바탕화면]# iptables -t filter -P INPUT DROP

[root@localhost 바탕화면]# iptables -t filter -P OUTPUT DROP

[root@localhost 바탕화면]# iptables -t filter -P FORWARD DROP



다이렉트로 연결되어 있는 PC1의 R1에서도 PING이 나가지 않는것을 확인할수 있습니다.

이제 부터 원하는 서비스를 한가지씩 풀고 확인해 보도록 하겠습니다.

1. ping 허용 

우리나라 서버들 처럼 (네이버나 다음 등) ping이 차단되어 있으면, 네트워크 실습에서 통신망이 살아있는지, 죽어있는지 확인하기가 어렵습니다. ping은 허용해 보도록 하겠습니다.

[root@localhost 바탕화면]# iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT

[root@localhost 바탕화면]# iptables -A OUPUT -P ICMP --icmp-type 8 -j ACCEPT

[root@localhost 바탕화면]# iptables -A OUTPUT -p ICMP -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@localhost 바탕화면]# iptables -A INPUT -p ICMP -m state --state ESTABLISHED,RELATED -j ACCEPT

현재는 INPUT,OUTPUT 체인을 사용하여, CentOS 자체 만 적용하였습니다.

확인해 보시면, CentOS 까지는 PING 이 잘 되는데, DHCP서버는 PING이 나가지 않는모습을 볼수 있습니다.

CentOS 후단에 있는 장비들까지 ping 통신이 가능하도록 설정하겠습니다.

[root@localhost 바탕화면]# iptables -A FORWARD -p ICMP -m state --state ESTABLISHED,RELATED -j ACCEPT

[root@localhost 바탕화면]# iptables -A FORWARD -p ICMP --icmp-type 8 -j ACCEPT 

FORWARD 체인을 사용하여, CentOS 를 통과하는 PING 허용 설정까지 하였습니다.

이제, DHCP서버 주소인 10.10.30.10 까지 PING이 잘 나가는모습을 확인할수 있습니다.



2. DNS 서비스 제공받기

해당 실습에 앞서, DHCP서버를 DNS서버로 구성해줍니다.

PC2 의 클라이언트 에서 nslookup 으로 dns 이름풀이가 가능한지 확인해 봅니다.

pc 2 의 클라이언트 에서 DNS(DHCP서버) 로 PING은 나가지만, DNS서비스를 받지 못하는것을 확인할수 있습니다.


CentOS에서 DNS서비스 허용을 하도록 하겠습니다.

[root@localhost 바탕화면]# iptables -t filter -A FORWARD -p udp --sport 53 -d 10.10.10.20 -j ACCEPT

[root@localhost 바탕화면]# iptables -t filter -A FORWARD -p udp --dport 53 -d 10.10.30.10 -j ACCEPT 

any가 아닌, 특정 ip로 지정해주었으므로, 10.10.10.20 외에는 DNS서비스를 받지 못합니다.

PC2 의 클라이언트가 DNS서비스를 받는것을 확인할수 있습니다.



오늘은 모두 정책차단되어있는 CentOS 에서 PING 서비스와 DNS서비스 포트 개방하는 방법에 대해 알아보았습니다.


명령어들을 쭈욱 나열해 써놓는것보다, 원하는 서비스를 하나씩 열어가면서 확인해보는것은 매우 좋은방법입니다.


나머지 서비스 허용은 다음시간에 이어집니다.



'리눅스' 카테고리의 다른 글

MariaDB Upgrade 한방에 따라하기  (0) 2020.06.28
MariaDB 바이너리 설치 한방에 따라하기  (0) 2020.06.26
CentOS VMware tools 설치하기  (1) 2017.10.11
리눅스 DHCP 서버 구성하기  (0) 2016.09.15
DNS 서버 설정하기  (0) 2016.08.26