MASQUERADE 활용

이진욱·2026년 1월 8일
post-thumbnail

MASQUERADE 마스커레이드 (은폐) 란 ?

서버가 게이트웨이로 사용되는 경우
내부 사설 주소와 외부 네트워크 주소를 서로 연결하기 위해 사용하는 기능이다.
즉 외부 네트워크에서는 external 존으로만 접속이 가능하고
internal 존은 내부 네트워크 사용자만 사용 가능하게 설정하고, 포드 포워딩을 통해
external 존에서의 요청을 internal 존으로 전달하거나
내부 네트워크에서의 요청을 외부로 전달할 수 있다.

현재 환경

rhel 8.10

TEST1 : 192.168.1.42 (외부 통신 가능) 1.1.1.2 , 2.2.2.3
TEST2 : 1.1.1.1
TEST3 : 2.2.2.2

TEST2 와 TEST3이 서로 통신 가능하도록 설정해보자 !

서로는 모르기 때문에 서로를 알고 있는 TEST1을 통해 접속해야한다.
TEST1은 라우터 역할을 하기 때문에
받은 패킷을 다른 서버로 보내야 하는 설정이 필요로 하다.

#공통
systemctl start firewalld --now
systemctl enable firewalld 

test1 = sysctl -w net.ipv4.ip_forward=1

test2,3 = ip route add default via 1.1.1.2 , 2.2.2.3

# 이 서버들의 모든 경로를 1.1.1.2 , 2.2.2.3 을 통해 나갈것!

test1은 test2 , test3 ip 를 알기 때문에 
받은 패킷을 다른 서버로 보낼 준비만 된다면 통신이 가능하게 끔 
길을 안내 해준다. 

이제 masquerade를 활용하여 test1 과 test2가 외부 통신하도록 해보자!

test1 = firewall-cmd --zone=public --add-masquerade --permanent
	
    	public   존에 설정 적용
		--add-masquerade	해당 존에서 MASQUERADE(NAT) 활성화
		--permanent	          설정을 디스크에 저장 (재부팅 후 유지)
		
        firewall-cmd --reload

		firewall-cmd --zone=public --query-masquerade
 
		설정 확인 
	

후에 1.1.1.1 서버에 nginx 띄우고 포트번호 변경후
외부에서 접속 가능하게 해보자! dnat port fowarding 필요로 함

test1 = firewall-cmd \
  --add-forward-port=port=88:proto=tcp:toaddr=1.1.1.1:toport=88

test2 = vi /etc/nginx/nginx.conf
profile
클라우드 엔지니어가 되어보자!

0개의 댓글