Raspberry PI를 사용하여 VPN을 통해 트래픽 라우팅

Raspberry PI를 사용하여 VPN을 통해 트래픽 라우팅

나는 다음과 같은 설정을 가지고 있습니다 :

  • Raspberry Pi는 네트워크 케이블을 통해 라우터에 연결됩니다.
  • eth0과 wlan0 사이에 브리지 연결 만들기
  • hostapdWi-Fi 핫스팟 의 경우
  • 내 온라인 서버 중 하나에 대한 l2tp/ipsec 연결 구성

내가 겪은 문제와 목표:

  • 목표는 이 Raspberry Pi가 Wi-Fi 라우터 역할을 하여 VPN을 통해 Wi-Fi를 통해 들어오는 모든 트래픽을 라우팅하도록 하는 것입니다.
  • 내가 겪은 문제문제는 내가 말릴 때 Raspberry Pi가 VPN 터널을 사용하고 있지만 연결된 모든 Wi-Fi 게스트가 VPN IP를 얻을 수 없다는 것입니다.

인터페이스 예:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether b8:27:eb:21:2b:9a brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b8:27:eb:21:2b:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.7/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:fe21:2b9a/64 scope link
       valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether b8:27:eb:74:7e:cf brd ff:ff:ff:ff:ff:ff
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp
    inet 192.168.42.11 peer 192.168.42.1/32 scope global ppp0
       valid_lft forever preferred_lft forever

라우팅 테이블:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 br0
45.36.81.212    192.168.1.1     255.255.255.255 UGH   0      0        0 br0
63.126.53.74    192.168.1.1     255.255.255.255 UGH   0      0        0 br0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
192.168.42.1    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

45.36.81.212는 내 VPN이고
63.126.53.74는 내 로컬 공용 IP입니다
(명백한 이유로 IP가 약간 변경되었습니다).

운영 체제: 라즈베리 파이

wlan0을 ppp0으로 전달하면 문제가 해결됩니까, 아니면 br0을 조작해야 합니까?

답변1

일부 클라이언트는 게이트웨이를 VPN 터널 장치로 사용하는 반면 다른 클라이언트는 집에 대한 기존 ISP 제공 인터넷 연결을 사용하는 유사한 설정을 가지고 있습니다.

VPN 게이트웨이에서 Wi-Fi와 이더넷을 연결하지 않습니다. 대신 머신은 VPN 클라이언트를 실행합니다. 이렇게 하면 VPN 게이트웨이가 브리지가 우회할 트래픽에 대한 라우팅 테이블을 확인하게 됩니다.

VPN 게이트웨이에는 세 개의 IP가 있습니다.

  • eth0:192.168.1.254 basically just a client on my main network
  • 이더넷 1: 192.168.2.1the gateway for the alternate network
  • tun0:10.2.3.5this is a VPN tunnel, and the IP is different every time the tunnel comes up

또한 VPN 게이트웨이에 3개의 고정 경로를 유지합니다.

  • 기본 라우터 -> 192.168.1.1
  • 0.0.0.0/1 -> 10.2.3.5
  • 128.0.0.0/1 -> 10.2.3.5

VPN의 중요한 동적 경로: - 10.2.3.5 -> 10.2.3.6

내 ISP 게이트웨이(192.168.1.1)에 대한 기본 경로는 VPN 게이트웨이가 항상 인터넷을 찾을 수 있도록 보장합니다.

다른 두 경로는 전체 IPv4 주소 공간을 포괄하는 두 개의 "더 구체적인" 경로입니다. 따라서 어디든 가는 모든 트래픽(직접 연결된 네트워크 제외)은 VPN 터널 인터페이스로 전달되고, VPN 터널의 특정 동적 라우팅은 10.2.3.5 -> 10.2.3.6터널을 통해 모든 트래픽을 전달합니다.

이렇게 하면 VPN 게이트웨이를 통해 Wi-Fi에 액세스하는 모든 클라이언트가 VPN 터널 외부로 라우팅되며, 필요하거나 필요할 때 정기적인 인터넷 액세스를 위해 클라이언트가 ISP 네트워크(WiFi)에 계속 액세스하도록 할 수 있습니다.

관련 정보