VPN을 통해 서로 다른 네트워크 간 라우팅 설정

VPN을 통해 서로 다른 네트워크 간 라우팅 설정

위치 A에 OpenVPN 서버가 있고 위치 B에 클라이언트가 있습니다. 위치 B의 방화벽/라우터는 VPN 네트워크와 위치 A의 로컬 네트워크에 대한 경로를 설정합니다. 클라이언트에는 IP 전달이 켜져 있고 iptables는 원격 네트워크 및 로컬 네트워크 간에 트래픽 규칙을 전달합니다. 방화벽에서 클라이언트의 VPN IP로 ping할 수 있지만 VPN을 통해 아무 것도 ping할 수 없습니다.

웹 사이트 주소

Router Location A 192.168.69.1/24
OpenVPN Server enp5s0 192.168.69.69/24
OpenVPN Server tun0 172.16.0.1/24

Router Location B 192.168.1.253/24
OpenVPN Client eno1 192.168.1.174/24
OpenVPN Client tun0 172.16.0.254/24

노선

Router Location A:
    192.168.1.0/24 via 192.168.69.69
    172.16.0.0/24 via 192.168.69.69

OpenVPN Server:
    default via 192.168.69.1 dev enp5s0 proto dhcp metric 100 
    169.254.0.0/16 dev enp5s0 scope link metric 1000 
    172.16.0.0/24 dev tun0 proto kernel scope link src 172.16.0.1 
    192.168.1.0/24 via 172.16.0.254 dev tun0 
    192.168.69.0/24 dev enp5s0 proto kernel scope link src 192.168.69.69 metric 100

Router Location B:
    192.168.69.0/24 via 192.168.1.174
    172.16.0.0/24 via 192.168.1.174

OpenVPN Client:
    default via 192.168.1.253 dev eno1 proto dhcp src 192.168.1.174 metric 100 
    172.16.0.0/24 via 172.16.0.1 dev tun0 
    192.168.1.0/24 dev eno1 proto kernel scope link src 192.168.1.174 metric 100 
    192.168.1.252 dev eno1 proto dhcp scope link src 192.168.1.174 metric 100 
    192.168.1.253 dev eno1 proto dhcp scope link src 192.168.1.174 metric 100 
    192.168.69.0/24 via 172.16.0.1 dev tun0 

IP 테이블

OpenVPN Server:
    iptables -A FORWARD -s 192.168.69.0/24 -d 192.168.1.0/24 -i enp5s0 -o tun0 -j ACCEPT
    iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.69.0/24 -i tun0 -o enp5s0 -j ACCEPT
    iptables -A FORWARD -s 172.16.0.0/24 -d 192.168.69.0/24 -i tun0 -o enp5s0 -j ACCEPT
    iptables -A FORWARD -s 192.168.69.0/24 -d 172.16.0.0/24 -i enp5s0 -o tun0 -j ACCEPT

Router Location B:
    iptables -A FORWARD -s 192.168.1.0/24 -d 172.16.0.0/24 -j ACCEPT
    iptables -A FORWARD -s 172.16.0.0/24 -d 192.168.1.0/24 -j ACCEPT
    iptables -A FORWARD -s 192.168.69.0/24 -d 192.168.1.0/24 -j ACCEPT
    iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.69.0/24 -j ACCEPT

OpenVPN Client:
    iptables -A FORWARD -s 192.168.1.0/24 -d 172.16.0.0/24 -i eno1 -o tun0 -j ACCEPT
    iptables -A FORWARD -s 192.168.69.0/24 -d 192.168.1.0/24 -i tun0 -o eno1 -j ACCEPT
    iptables -A FORWARD -s 172.16.0.0/24 -d 192.168.1.0/24 -i tun0 -o eno1 -j ACCEPT
    iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.69.0/24 -i eno1 -o tun0 -j ACCEPT

위치 A의 라우터/방화벽은 TP Link 방화벽/라우터/AP입니다. 나머지 장치는 Ubuntu 시스템입니다.

OpenVPN 클라이언트는 위치 A의 OpenVPN 서버와 라우터에 ping을 보낼 수 있지만 다른 작업은 수행할 수 없습니다. 위치 B의 라우터는 OpenVPN 클라이언트의 OpenVPN 인터페이스 [172.16.0.254]에 ping을 보낼 수 있지만 그 범위에는 다른 어떤 것도 없습니다. VPN 구성원에서 발생하는 트래픽만 실제로 VPN을 통과하여 다른 쪽 끝으로 이동하는 것으로 보이지만 위치 A에 물리적으로 위치한 모든 것은 해당 사이트에 있는 VPN 또는 로컬 네트워크의 모든 부분과 통신할 수 있습니다. 위치 B는 VPN 측의 다른 장치와 통신할 수 있지만 위치 A와 위치 B는 VPN을 통해 서로 통신할 수 없습니다.

관련 정보