리눅스에서 다른 인터페이스를 통해 VPN 트래픽을 라우팅하는 방법


2

LAN에 두 개의 NIC (eth0 및 eth1)가있는 Debian 9 LXC 컨테이너가 있으며 eth0에서 수신 대기하는 웹 서버를 호스팅합니다. 컨테이너를 VPN에 연결하여 일부 인터넷 웹 사이트에서 파일을 검색하고 웹 서버를 통해 LAN 사용자에게 제공하고 싶습니다. 컨테이너를 VPN에 연결하면 더 이상 LAN에서 웹 서버에 액세스 할 수 없습니다.

이 구성 파일 로이 서버에서 openvpn을 사용하고 있습니다.

setenv USERNAME "myemail@myemailserver"
client
dev tun
remote us-wa-sea-001.privatetunnel.com 443 tcp
remote-cert-tls server
http-proxy 10.20.0.21 3128 user.txt basic
http-proxy-retry
comp-lzo no
auth SHA1
nobind
verb 3
sndbuf 0
rcvbuf 0
socket-flags TCP_NODELAY

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

...certificates...

이것은 ip route showVPN에 연결하기 전의 출력입니다 .

default via 10.20.0.1 dev eth0 onlink 
10.20.0.0/24 dev eth0 proto kernel scope link src 10.20.0.113 
10.20.0.0/24 dev eth1 proto kernel scope link src 10.20.0.114

그리고 이것은 ip route showVPN에 연결 한 후의 결과입니다 .

0.0.0.0/1 via 10.9.0.1 dev tun0
default via 10.20.0.1 dev eth0 onlink
10.9.0.0/16 dev tun0 proto kernel scope link src 10.9.231.216
10.9.0.0/16 dev tun1 proto kernel scope link src 10.9.230.198
10.20.0.0/24 dev eth0 proto kernel scope link src 10.20.0.113
10.20.0.0/24 dev eth1 proto kernel scope link src 10.20.0.114
10.20.0.21 dev eth0 scope link
128.0.0.0/1 via 10.9.0.1 dev tun0

나는 이것에 대해 googled하고 정적 라우팅에 대한 여러 기사를 찾았지만 어떻게 든 여전히 작동시킬 수는 없다.

어떤 생각?


VPN이 활성화되면 'ip route show'는 무엇입니까? 일반적으로 tun0 (또는 VPN이 정의한 인터페이스)에 대한 기본 경로를 피하려고합니다. NetworkManager를 통해 VPN을 사용하는 경우 VPN에서 설정 한 라우팅을 무시하고 사용자를 강제 실행하는 옵션이 있습니다.
xenoid

VPN을 사용하는 프로세스에 다른 네트워크 네임 스페이스를 사용하십시오.
dirkt

@ xenoid 연결 전후에 'ip route show'출력으로 질문을 업데이트했습니다. NetworkManager, AFAIK를 사용하지 않고 'openvpn --config configfile.ovpn'만 있습니다. 나는 헤드리스 서버입니다.
greenLED

configfile.ovpn그때 내용을 게시 할 가치가있을 수 있습니다 .
xenoid

@ xenoid configfile.ovpn의 내용을 질문에 추가하고 서버 설정에 대한 자세한 내용을 추가했습니다.
greenLED
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.