라우팅에 영향을 주지 않고 2개의 네트워크 인터페이스 간 NAT를 수행하는 방법

라우팅에 영향을 주지 않고 2개의 네트워크 인터페이스 간 NAT를 수행하는 방법

내 Linux 기반 라우터에는 5개의 이더넷 포트가 있습니다. 현재 NAT 없이 포트 1, 2와 전용 WAN 포트 사이에서 라우터 역할을 하고 있습니다. 포트 1은 192.168.1.1/24, 포트 2는 192.168.2.1/24, WAN 포트는 192.168.0.1/24입니다.

나가는 WAN 연결은 사용량을 추적하는 로깅 장치를 통과한 다음 NAT를 수행하는 두 번째 홈 라우터를 통과하고 해당 WAN 포트에서 공용 IP를 사용합니다.

단순화하기 위해 네트워크는 IP 접두사 192.168.-를 사용하여 다음과 같습니다.

server1--------Router1--------Logging device--------Router2----------
   .1.2      .1.1  .0.1                           .0.254  (public ip)

Router1 구성은 잘 작동합니다(간단한 라우터). Router2도 잘 작동합니다(간단한 게이트웨이). 그러나 나는 Router2를 제거하고 내 실제 공용 IP를 사용하는 포트4를 사용하여 Router1의 포트 3과 4 사이에서 NAT를 수행하고 싶습니다.

그게 가능할까요? 모든 트래픽이 원래 IP 소스 주소를 사용하여 로깅 장치를 통과하도록 포트 1-2-WAN과 3-4 사이를 엄격하게 격리하고 싶습니다.

투명 브리징이 해결책이 될까요? 이 브리지에 소스 NAT를 적용할 수 있습니까? IP 주소는 잘 설정되어 있나요?

답변1

router1의 5개 이더넷 포트 이름이 eth0 - eth4라고 가정하면 eth3에 WAN이 있습니다.

iptables -t nat -A POSTROUTING --source 192.168.1.0/24 --out-interface eth3 -j MASQUERADE
iptables -t nat -A POSTROUTING --source 192.168.2.0/24 --out-interface eth3 -j MASQUERADE

공용 IP 주소로 고정 IP가 있는 경우 "-j MASQUERADE"를 "-j SNAT --to-source $PUBLIC_IP"로 바꾸십시오(물론 $PUBLIC_IP를 WAN 주소로 바꾸십시오!).

물론 기본 경로를 eth3으로 설정해야 하지만 이는 문제의 일부가 아니었습니다. 또한 공용 IP 주소로 들어오는 트래픽을 방화벽으로 보호할 수도 있습니다.

관련 정보