Linux 트래픽 라우팅

Linux 트래픽 라우팅

현재 2개 사이트에 환경을 설정하고 있습니다. 모든 서버는 Linux 기반입니다. 첫 번째 사이트는 내 사무실이고 두 번째 사이트는 AWS입니다.

사이트 간 VPN을 사용하는 AWS의 VPC에 2개의 서버가 있습니다.

  • Web01 - 172.31.24.106 및 Revproxy01 - 172.31.17.216

사무실에 서버(Raspberry PI) 1대와 IP 카메라 1대가 있습니다.

  • Rasberry01 - 192.168.102.1 및 카메라 1 - 192.168.102.79.

Raspberry PI는 AP 역할을 하며(hostapd 및 dnsmasq 사용) 카메라는 Wi-Fi를 통해 PI에 직접 연결됩니다(카메라는 로컬 LAN에 연결되지 않고 자체 LAN의 Raspberry PI에만 연결됩니다).

VPN은 Raspberry1(IPSec Strongswan)에 있으며 AWS 측에 연결된 AWS 사이트 간 VPN으로 구성됩니다.

많은 연구와 시간을 거쳐 모든 것을 준비하고 실행했습니다.

  • 172.31.24.106 및 172.31.17.216은 192.168.102.1 및 ping을 수행할 수 있습니다.
  • 192.168.102.1은 172.31.24.106 및 172.31.17.216에 ping을 보낼 수 있습니다.

라우팅은 AWS 측에서 설정되므로 192.168.102.0/24 네트워크로 향하는 트래픽은 192.168.102.1로 이동합니다.

다음 단계는 172.31.24.106에서 192.168.102.79로 ping을 보내는 것입니다. 192.168.102.1에서 TCPDump를 수행했고 172.31.24.106에서 192.168.102.79를 ping하면 @192.168.102.1에 도착하는 패킷을 볼 수 있습니다.

172.31.24.106이 192.168.102.79를 ping할 때 트래픽이 eth0(192.168.1.114)에서 wlan0(192.168.102.1)으로 전달된 다음 올바른 대상 192.168로 전달되도록 192.168.102.1에서 트래픽을 라우팅해야 한다고 생각합니다. 102.79

궁극적으로 web01 및 Revproxy01에서 카메라 http 피드에 액세스하고 싶습니다.

네트워크 다이어그램

+-------------+              +--------------+          +----------------------+
|Raspberry1   +--------------+              |          |                      |
|             |VPN to AWS    | Office Router+-------------+   +-------------+ |
|             +--------------+              |          |  |   |             | |
|             |192.168.1.114 |              |          |  +---+172.31.24.106| |
+-------------+              +--------------+          |  |   |             | |
 WLAN |192.168.102.1                                   |  |   +-------------+ |
      |192.168.102.79                                  |  |                   |
+-------------+                                        |  |                   |
|Camera01     |                                        |  |                   |
|             |                                        |  |   +-------------+ |
|             |                                        |  |   |             | |
|             |                                        |  +---+172.31.14.216| |
+-------------+                                        |      |             | |
                                                       |      +-------------+ |
                                                       |                      |
                                                       |                      |
                                                       |     AWS VPC          |
                                                       |                      |
                                                       +----------------------+

답변1

제 생각에는 VPN 전체가 이 문제와 관련이 없습니다. 결국 이것은 단순한 라우팅 문제인 것 같습니다.

Raspberry1이 트래픽을 (성공적으로) 전달하려면 다음이 필요합니다.

  1. Raspberry1에서 라우팅 기능 활성화( sysctl):

    net.ipv4.ip_forward = 1
    
  2. 다음과 같이 Raspberry1의 방화벽에서 전달을 허용합니다(방화벽이 활성화된 경우).

    iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -s 172.31.24.106 -d 192.168.102.79 -j ACCEPT
    
  3. Camera01의 트래픽이 192.168.102.1에서 들어오는 것처럼 보이도록 192.168.102.1을 Camera01의 기본 게이트웨이 또는 Raspberry1의 SNAT로 구성해야 합니다.

관련 정보