본문 바로가기
Linux

[CentOS 7.8] iptables 명령어를 이용한 DNAT 테스트 진행

by Hwoarang757 2022. 4. 7.

[CentOS 7.8] iptables 명령어를 이용한 DNAT 테스트 진행 

 

출처1 : 노력이 나를 만든다. :: [Centos] Routing 서버(NAT 서버) 만들기 (경유지 서버 만들기) (tistory.com)

 

[Centos] Routing 서버(NAT 서버) 만들기 (경유지 서버 만들기)

1. 조사 목적 - 망분리가 되어 있고 - 특정 서버를 통해서만 내부로 들어올 수 있음 2. 아이디어 - 특정서버에서 IP 포워딩을 통해 내부로 들어오게 한다. 3. 생성 방법 1) /etc/sysctl.conf를 편집하여 net

effortmakesme.tistory.com

출처2 : IPTABLES 옵션 정리 - Honey Blog (blessu1201.github.io)

 

IPTABLES 옵션 정리 - Honey Blog

하기와 같이 -h 옵션을 주면 설정방법이 자세히 나와있습니다. 양이 좀 많지만 자주 사용하는 옵션으로 iptables 의 설정방법을 알아보겠습니다. $ iptables -h iptables v1.4.7 Usage: iptables -[ACD] chain rule-spe

blessu1201.github.io

출처3 : Linux iptables delete prerouting rule command - nixCraft (cyberciti.biz)

 

목적은 외부에서 enp0s3 Device로 접근시에 목적지가 

192.168.122.48:3389 일 경우에 DNAT를 시켜 주도록 하였습니다.

 

Source : 192.168.56.1

Destination : 192.168.122.48 

(1) firewall-cmd 로 먼저 tcp 3389  INBOUND를 허용 하였습니다.
$ sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp

(2) iptables를 이용하여 DNAT 정책을 추가 하였습니다. [ 목적지 Port 3389 일 경우에만 (Port NAT) ] 
 * 아래 명령어는 iptables 를 FLUSH 한다고 인지 하였습니다만 , 해당 명령어를 꼭 실행 
 * 해주어야만 정상적으로 DNAT 처리가 되었습니다.
$ sudo iptables -F 

$ sudo iptables -t nat -A PREROUTING -p tcp 192.168.56.15 --dport 3389 -j DNAT --to-destination 192.168.122.48:3389


* 문제는 DNAT 처리에 대한 부분을 iptables 가 아닌 firewall-cmd로 구성하는 방법을 찾아봐야 할 것 같습니다.
* iptables-save 명령어를 실행 하여도 , firewall service restart 시에는 구성이 삭제 되어 있습니다
* [위의 명령어 다시 실행 필요 ]
$ sudo iptables-save 



* 추가 사항 
(3) iptables PREROUTING , POSTROUTING 정책 확인 
$ sudo iptables -t nat -v -L PREROUTING -n --line-number
$ sudo iptables -t nat -v -L POSTROUTING -n --line-number

(4) iptables PREROUTING , POSTROUTING 정책 삭제 
$ sudo iptables -t nat -D PREROUTING [ 위에 조회한 Number ] 
$ sudo iptables -t nat -D POSTROUTING [ 위에 조회한 Number ]

 

정책 설정 후 192.168.56.15:3389 접근 시에 DNAT (PortNAT) 처리 되어 192.168.122.48:3389 로 접근 되는 것을 확인 하였습니다.