5.15.5. NAT 충돌
IPsec 호스트가 NAT 라우터 역할을 할 때 발생하는 NAT 충돌을 해결합니다. 잘못된 NAT 애플리케이션은 암호화 전에 소스 IP 주소를 변환하여 네트워크를 통해 패킷이 암호화되지 않은 상태로 전송될 수 있습니다.
예를 들어 IPsec 암호화를 적용하기 전에 패킷의 소스 IP 주소가 masquerade 규칙에 의해 변환되면 패킷의 소스 소스가 더 이상 IPsec 정책과 일치하지 않으며 Libreswan은 네트워크를 통해 암호화되지 않은 상태로 보냅니다.
이 문제를 해결하려면 NAT에서 IPsec 서브넷 간 트래픽을 제외하는 방화벽 규칙을 추가합니다. 이 규칙은 POSTROUTING 체인의 시작 부분에 삽입하여 일반 NAT 규칙보다 먼저 처리되도록 해야 합니다.
예 5.1. nftables 프레임워크 사용 방법
다음 예제에서는 nftables 를 사용하여 주소 변환에서 192.0.2.0/24와 198.51.100.0/24 서브넷 간의 트래픽을 제외하는 기본 NAT 환경을 설정합니다.
# nft add table ip nat
# nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }
# nft add rule ip nat postrouting ip saddr 192.0.2.0/24 ip daddr 198.51.100.0/24 return