OpenVPN의 어려움

OpenVPN의 어려움

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

설정: -> Ubuntu Server 12.04 -> 활성 네트워크 카드 2개: eth0(기본값): 192.168.1.0/24 eth1: xxxx(외부 IP)

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

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.

네트워크 통계:

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

하지만 진짜 질문은 다음과 같습니다. openvpn이 "local xxxx (eth1 ext ip)" 옵션으로 설정되면 여전히 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
x.x.x.x         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

이와 같이 iptables를 업데이트해야 합니다. 여기서 xxxx는 VPN 서브넷입니다.

iptables -t nat -A POSTROUTING -s x.x.x.x/24 -o eth1 -j SNAT --to ip_of_eth1

답변2

저는 이 문제를 두 가지 주요 단계로 해결했습니다.

  1. TUN 인터페이스를 사용하는 서비스 제공자를 선택하십시오.
  2. 더 많은 테이블 라우팅

테이블 라우팅

가장 유용한 방법을 읽었습니다.http://lartc.org/howto/거기에 제공된 단계를 따르세요.

내 설정은 이제 두 개의 물리적 NIC(eth0 및 eth1)가 세 개의 테이블(기본, T1 및 T2)로 분할된 것입니다. T1(eth1)은 기본 항목(apache2, ssh 등)을 라우팅하고, T2(eth0)는 rtorrent 연결에만 사용됩니다.

그것은 매력처럼 작동합니다. 그러니 같은 문제가 있으신 분들은 lartc.org를 읽어보시면 문제가 해결될 것입니다.

노트

TAP 인터페이스에서 이 구성을 시도하지 않았으므로 작동하는지 말할 수 없습니다.

관련 정보