TUN 인터페이스를 사용하여 클라이언트와 서버 간의 로컬 통신을 설정하고 싶습니다.
클라이언트 프로그램은 IP 주소 @IP1을 가지고 있다고 가정하는 인터페이스 TUN1에 연결됩니다.
서버 프로그램은 IP 주소 @IP2를 가지고 있다고 가정하는 인터페이스 TUN2에 연결됩니다.
대상 주소가 IP2(서버의 IP)인 패킷은 TUN2를 통과하고 대상 주소가 IP1(클라이언트의 IP)인 패킷은 TUN1 인터페이스를 통과하도록 라우팅 규칙을 정의해야 합니다.
규칙 예:
route add -net 10.2.0.0/24 dev tun2 #we suppose that the server's IP is in the subnet 10.2.0.0/24
route add -net 10.1.0.0/24 dev tun1 #the client's IP is in the subnet 10.1.0.0/24
클라이언트에서 서버로 전송된 패킷이 통과하는 iptables 체인을 알아야 합니다.
제가 이해한 바에 따르면 다음과 같아야 한다고 생각합니다.
Client==TUN1--->(PREROUTING)--->Routing--->(FORWARD)--->Routing--->(POSTROUTING)--->TUN2==Server