OpenVPN 문제

OpenVPN 문제

OpenVPN 설정에 몇 가지 문제가 있습니다.

설정: -> Ubuntu Server 12.04 -> 활성 NIC 2개: eth0(기본값): 192.168.1.0/24 eth1: xxxx(외부 IP)

eth1 NIC를 사용하여 외부 세계에 연결할 수 있도록 라우팅이 작동하도록 했습니다.

holmen@filserver:~$ ping -I eth1 -c 3 www.linuxquestions.org
PING www.linuxquestions.org (75.126.162.205) from 192.168.1.2 eth1: 56(84) bytes of data.
64 bytes from www.linuxquestions.org (75.126.162.205): icmp_req=1 ttl=50 time=133 ms
64 bytes from www.linuxquestions.org (75.126.162.205): icmp_req=2 ttl=50 time=133 ms
64 bytes from www.linuxquestions.org (75.126.162.205): icmp_req=3 ttl=50 time=133 ms

--- www.linuxquestions.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 133.281/133.336/133.379/0.423 ms
One curious thing is that the "from ip #". It says "from 192.168.1.2 eth1" but that ip is the servers ip on the eth0 iface.

Netstat:

holmen@filserver:~$ netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
x.x.x.x     0.0.0.0         255.255.128.0   U         0 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

그러나 여기에 진짜 문제가 있습니다. "local xxxx (eth1 ext ip)" 옵션으로 openvpn을 설정할 때 여전히 eth0 인터페이스를 터널링합니다. 그리고 나는 왜 그런지 이해할 수 없습니다.

OpenVPN 설정:

client

dev tap

proto udp

local x.x.x.x

remote openvpn.anonine.net 1194
remote openvpn.anonine.net 1195
remote openvpn-2.anonine.net 1196
remote openvpn-2.anonine.net 1197
remote openvpn-3.anonine.net 1198
remote openvpn-3.anonine.net 1199
remote openvpn-4.anonine.net 1200
remote openvpn-4.anonine.net 1201

remote-random

resolv-retry infinite

auth-user-pass

persist-key
persist-tun

ca anonine.ca.crt

ns-cert-type server

comp-lzo

reneg-sec 0

verb 3

Netstat(터널 활성):

holmen@filserver:~$ netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         46.246.20.129   128.0.0.0       UG        0 0          0 tap0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
5.150.128.0     0.0.0.0         255.255.128.0   U         0 0          0 eth1
46.246.20.128   0.0.0.0         255.255.255.128 U         0 0          0 tap0
80.67.8.222     192.168.1.1     255.255.255.255 UGH       0 0          0 eth0
128.0.0.0       46.246.20.129   128.0.0.0       UG        0 0          0 tap0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

누구든지 아이디어가 있나요?

답변1

당신의 netstat쇼는VPN 서버 제공업체클라이언트 게이트웨이를 리디렉션하고 있습니다(이는VPN 익명 서비스). 터널이 생긴다는 뜻이죠모두소스가 어떤 인터페이스인지에 관계없이 트래픽을 발생시킵니다. 필요한 것은 route-nopull서버가 라우팅 테이블을 변경하는 것을 중지하여 필요한 경로를 수동으로 생성할 수 있도록 하는 클라이언트 구성에 있습니다.

답변2

내가 정확하게 이해했다면 OpenVPN 클라이언트가 특정 경로를 따르기를 원한다는 것입니다. 맞습니까? 그렇다면 서버 구성에 추가해 보세요. 아래 테스트 랩 중 하나의 서버 구성을 포함했으며 <ext eth1 ip>서버 구성에 로컬을 추가했습니다.

local xxx.xxx.xxx.xxx
port 443
proto tcp
dev tap1
ca cacert.pem
cert servercert.pem
key servercert-unencr.key
dh dh1024.pem
persist-key
persist-tun
keepalive 20 120
tun-mtu 1500
server-bridge 192.168.200.1 255.255.255.0 192.168.200.10 192.168.200.15
ifconfig-pool-persist ipp-generic.txt
comp-lzo
duplicate-cn
daemon
verb 3
#redirect-gateway def1
push "route 192.168.100.0 255.255.255.0"
log-append /etc/openvpn/logs/ovpn-generic.log
up /etc/openvpn/ifconfig-tap1.sh
cd /etc/openvpn
push "dhcp-option DOMAIN lab.test"
push "dhcp-option NBT 2"
push "dhcp-option DNS 192.168.100.1"
push "dhcp-option DNS 4.2.2.2"
script-security 3 system

질문이 있으면 업데이트하겠습니다.

업데이트:eth0 인터페이스를 통해 모든 트래픽을 가리키는 라우팅 테이블에 항목이 있습니다.

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

eth1로컬 네트워크에 대한 경로가 이미 있고 다른 기본 경로와 충돌하므로 게이트웨이에 대해 eth1 Iface 및 의 IP로 변경하거나 완전히 제거해야 합니다 .

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         46.246.20.129   128.0.0.0       UG        0 0          0 tap0

내 추측으로는 목적지는 동일하지만 두 번째 항목이 우선권을 갖는다는 것입니다.

관련 정보