하나의 서버에 OpenVPN 및 HAProxy가 있는 네트워크 게이트웨이 --> 라우팅 문제

하나의 서버에 OpenVPN 및 HAProxy가 있는 네트워크 게이트웨이 --> 라우팅 문제

동일한 컴퓨터에 역방향 프록시(HAProxy)와 openvpn 서버가 포함된 네트워크용 게이트웨이를 설정하고 있습니다.

내 네트워크의 모든 트래픽이 암호화되도록 openvpn을 사용하여 VPN 공급자에 연결하고 싶습니다.

이제 문제는 VPN 공급자에 대한 연결을 열면 새 경로가 내 라우팅 테이블에 푸시된다는 것입니다. 이러한 경로는 HAProxy와 충돌하여 내부 서버에 액세스할 수 없습니다.

VPN 제공업체의 라우팅 테이블에 연결되지 않음:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
default         192.168.1.1     0.0.0.0         UG    203    0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     203    0        0 eth1

VPN 공급자 연결 후 라우팅 테이블:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.3.1        128.0.0.0       UG    0      0        0 tun1
default         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
default         192.168.1.1     0.0.0.0         UG    203    0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
10.8.3.0        0.0.0.0         255.255.255.0   U     0      0        0 tun1
123.243.152.126 192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.8.3.1        128.0.0.0       UG    0      0        0 tun1
192.168.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     203    0        0 eth1

라우팅 및 NAT 규칙을 설정하기 위해 다음 가이드를 따랐습니다.https://gist.github.com/superjamie/ac55b6d2c080582a3e64

VPN 공급자에 대한 연결인 tun1을 통해 모든 트래픽을 eth1로 라우팅하고 싶습니다.

sudo iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
sudo iptables -A FORWARD -i tun1 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o tun1 -j ACCEPT

eth0에 대한 모든 요청은 이 터널을 통과해서는 안 됩니다. 대신 그들은 내 내부 서버에 액세스하거나 네트워크 외부 클라이언트의 요청에 응답합니다.

관련 정보