|
|
리눅스 서버를 인터넷 공유기처럼 사용하고 싶을 때
내부망(예: 192.168.x.x) → 외부 인터넷 연결
여러 VM, Docker, 내부 서버가 하나의 외부 IP로 통신해야 할 때
라즈베리파이를 LTE 모뎀 + Wi-Fi AP로 사용할 때
🔵 기본 구성 예 [내부 PC] -- (eth1: 192.168.0.1) Linux (eth0: 공인IP) -- Internet
✔️ IP Masquerading 설정 방법 (iptables) 1. IP 포워딩 활성화 sudo sysctl -w net.ipv4.ip_forward=1
영구 설정:
/etc/sysctl.conf net.ipv4.ip_forward = 1
2. iptables NAT masquerade 규칙 추가
공인망 = eth0 이라고 가정:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
내부망 트래픽 포워딩 허용:
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
✔️ 영구 저장(CentOS/RHEL) sudo service iptables save
Ubuntu는:
sudo apt install iptables-persistent sudo netfilter-persistent save
🔵 nftables 환경에서의 설정 (신규 Linux 표준) /etc/nftables.conf 예: table ip nat { chain postrouting { type nat hook postrouting priority 100; oif "eth0" masquerade } }
적용:
sudo systemctl restart nftables
✔️ Masquerade와 SNAT 차이
종류 특징 주로 사용
| MASQUERADE | IP가 동적으로 변해도 자동 반영됨 | DHCP/유동 공인 IP |
| SNAT | 고정 IP 환경에서 빠르고 성능 좋음 | 고정 공인 IP |
예: SNAT 형태
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4
📌 원리 요약
내부 사설 IP → 리눅스 → 공인 IP로 변경(SNAT)
응답 패킷이 돌아오면 원래 IP로 역변환(DNAT)
내부 여러 장비가 하나의 외부 IP를 공유
필요하시면 당신이 사용하는 리눅스 환경(예: Ubuntu, CentOS, Rocky, Debian)에 맞춘 정확한 NAT 설정 파일을 만들어 드릴까요?