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

私はこの問題を2つの主要なステップで解決しました。

  1. TUN インターフェイスを使用するサービスプロバイダを選択します。
  2. より多くのテーブルルーティング

テーブルルーティング

最も有用な方法を読んだ。http://lartc.org/howto/そこに提供されている手順に従ってください。

私の設定は、2つの物理NIC(eth0とeth1)が3つのテーブル(デフォルト、T1、T2)に分割されていることです。 T1(eth1)は基本エントリ(apache2、sshなど)をルーティングし、T2(eth0)はrtorrent接続にのみ使用されます。

それは魅力のように動作します。したがって、同じ問題がある場合は、lartc.orgを読んで問題を解決します。

ノート

TAPインターフェイスでこの設定を試していないため、動作しているとは言えません。

関連情報