로컬 클라이언트/서버 통신을 위해 TUN 인터페이스 사용

로컬 클라이언트/서버 통신을 위해 TUN 인터페이스 사용

TUN 인터페이스를 사용하여 클라이언트와 서버 간의 로컬 통신을 설정하고 싶습니다.

  1. 클라이언트 프로그램은 IP 주소 @IP1을 가지고 있다고 가정하는 인터페이스 TUN1에 연결됩니다.

  2. 서버 프로그램은 IP 주소 @IP2를 가지고 있다고 가정하는 인터페이스 TUN2에 연결됩니다.

  3. 대상 주소가 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

관련 정보