오늘은 OPNsense라는 오픈소스형 UTM 소프트웨어를 가지고 NAT와 포트포워딩을 하는 방법을 공부해보겠습니다. 정리를 안해놓으니까 자꾸 까먹어서 올려보도록 하려고요. 이제 조만간 월급을 타면 포티넷 장비도 한번 사서 실습해보거나 ISO를 구해서 한번 실습해봐야겠습니다.
사용한 토폴로지는 위와 같습니다. VMware와 오픈센스 실장비를 브릿지로 연결하고 WAN 구간에는 저희 집 옛날 삼성 컴퓨터를 이용한 Ubuntu 18.04 온프레미스 서버가 올라가 있습니다.
STATIC NAT
웹 페이지로 로그인합니다.
Interface에 Virtual IPs의 Settings로 이동합니다.
저는 일단 먼저 생성한 룰이 있긴한데 위의 + 버튼을 눌러 룰을 생성합니다.
Mode : IP ALIAS
Interface : NAT가 적용될 인터페이스
Address : STATIC NAT될 IP
위의 항목들을 상황에 맞게 알맞게 변경하고 SAVE, APPLY CHANGES를 눌러 설정을 적용합니다. 저는 앞전의 사진에서 봤듯이 MGMT로 나가는 트래픽이 211.10.10.2 라는 IP로 NAT 되도록 설정했습니다.
이제 FIREWALL의 NAT, OUTBOUND 항목으로 이동합니다.
룰을 생성해보도록 하겠습니다. LAN에서 출발한 트래픽이 MGMT로 향할 때 211.10.10.2로 NAT 되도록 설정하겠습니다.
INTERFACE: NAT가 적용될 인터페이스
Source address: 트래픽이 어디서 출발하는지
Destination address: 트래픽이 어디로 향하는지
위와 같이 설정하고 좀 더 아래로 내려가 보시면 translation 이라는 항목이 존재합니다.
이를 아끼 Virtual IP로 생성한 211.10.10.2 로 설정하시면 됩니다.
모든 설정은 룰을 save 한 후 apply changes를 눌러 적용시켜주어야 적용됩니다. 정책이 잘 작동하는지 SSH 접속을 통해 확인해보도록 하겠습니다.
211.10.10.6의 IP를 가진 서버로 접속했고 위와 같이 nat된 IP로 접속된 것을 확인할 수 있습니다.
Source NAT
소스 나트는 더 쉽습니다. 앞전의 설정에서 translation 부분을 인터페이스 주소로 변경해주면 끝입니다. 제 오픈센스의 IP는 211.10.10.1이기 때문에 211.10.10.1로 변경되어서 통신되면 성공입니다.
위와 같이 변경해주었고 SSH 통신을 통해 NAT가 되었는지 확인해보겠습니다.
이번에는 211.10.10.2가 아닌 211.10.10.1로 NAT되는 것을 확인할 수 있습니다.
Port Forwarding
Firewall, NAT, Port Forward로 이동합니다.
저는 여러가지 룰이 존재하는데 211.10.10.1 -p 3333로 통신이 들어오면 kali의 IP로 SSH 통신이 되도록 설정하겠습니다.
INTERFACE: 포트포워딩이 일어날 인터페이스
DESTINATION: 포트포워딩을 적용해 줄 트래픽의 목적지 주소
# 저 같은 경우엔 UTM의 인터페이스 주소겠죠?
# SINGLE HOST OR NETWORK 를 선택하고 인터페이스 주소를 입력합니다.
DESTINATION PORT RANGE: 목적지 포트
#3333으로 들어오는 트래픽을 SSH로 변환시켜줄 것이니
#OTHER를 선택하고 3333 을 입력합니다.
조금 아래로 내려 REDIRECT TARGET IP라는 것이 있는데 이 항목을 포트포워딩 해 줄 서버의 IP와 포트로 적어주시면 됩니다.
이렇게 룰을 설정하고 확인해보도록 하겠습니다.
이거 좀 부끄럽긴 한데 아무튼 잘 작동합니다.
공인 IP로 SSH 접속 설정이 안된다면 /etc/hosts.allow 파일에서 위와같이 적어주시면 접속됩니다.
'네트워크 > 네트워크 일반' 카테고리의 다른 글
OPNsense로 SSH 설정하기 (0) | 2023.10.03 |
---|---|
OPNsense로 DHCP 설정하기 (0) | 2023.10.03 |
QoS에 대해 알아보자 (0) | 2023.08.08 |
CBAC 실습 및 URL FILTER (0) | 2023.06.19 |
Reflexive ACL(가난한 자의 stateful inspection) (0) | 2023.06.18 |