StrongSwan VPN을 통해 모든 트래픽 라우팅

StrongSwan VPN을 통해 모든 트래픽 라우팅

나는 이것에 익숙하지 않습니다. 나의 무지를 용서해주십시오. 나는 아무 소용이 없는 다른 많은 유사한 질문을 살펴보았습니다.

클라이언트 C가 호스트 H에 연결하고, 가상 IP 주소를 할당받고, H의 네트워크에 액세스할 수 있도록 StrongSwan VPN을 설정하려고 합니다. (설정 및 테스트하는 동안의 실제적인 제한으로 인해 C와 H는 현재 동일한 네트워크에 있습니다. 실제로 C와 H는 동일한 물리적 PC에 있는 VM이고 네트워크는 브리지 모드이므로 자체 IP 주소를 갖습니다.)

StrongSwan 5.3.0, Ubuntu 14.04(C 및 H 모두)를 사용합니다.

C에서 실행했는데 ipsec up home연결이 설정된 것 같습니다. H는 C에 할당된 가상 IP 주소(192.168.0.1)에 대해 ping을 수행할 수 있고 C는 가상 IP 주소(tcpdump를 사용하여 확인)로 이동하는 ping을 볼 수 있습니다.

그러나 내가 알 수 있는 한, C의 모든 트래픽은 여전히 ​​터널을 통하지 않고 C의 네트워크 연결을 통해 곧바로 나갑니다. tcpdump ip proto \\icmp세 번째 테스트, 서버(T)에서 실행하고 C에서 핑하면 I C의 실제 IP 주소로 요청을 확인하세요. wgetC에서 T로 이동하는 경우에도 마찬가지입니다 .

내 구성은 다음과 같습니다.

# 호스트(H)의 /etc/ipsec.conf

config setup

conn %default
    ikelifetime=60m
    keylife=20m
    rekeymargin=3m
    keyingtries=1
    keyexchange=ikev2

conn rw
    left=192.168.196.50
    leftcert=moonCert.pem
    [email protected]
    leftfirewall=yes
    right=%any
    rightsourceip=192.168.0.0/16
    auto=add

-

# /etc/ipsec.conf - 클라이언트에서 (C)

 config setup

 conn %default
     ikelifetime=60m
    keylife=20m
     rekeymargin=3m
     keyingtries=1
     keyexchange=ikev2

 conn home
     left=192.168.198.74
     leftsourceip=%config
     leftcert=carolCert.pem
     [email protected]
     leftfirewall=yes
     right=192.168.196.50
     [email protected]
     auto=add

H의 실제 IP 주소는 192.168.196.50입니다. C의 실제 IP 주소는 192.168.198.74입니다.

답변1

난 달려야 했어

sudo sysctl net.ipv6.conf.all.forwarding=1
sudo sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 10.0.3.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.3.0/24 -o eth0 -j MASQUERADE

호스트에서 트래픽을 외부로 라우팅하도록 합니다.

내 클라이언트 C는 이제 로컬 네트워크의 다른 컴퓨터와 인터넷의 일부(모두는 아니지만 이해가 안 됨)를 볼 수 있습니다.

관련 정보