Как openvpn решает, с какого интерфейса получать IP-адреса

Использование Ubuntu 10.04 на обоих концах.

У нас есть клиент и сервер в той же сети, которые пытаются установить соединение vpn. Мы используем файлы конфигурации отсюда и внесли минимальные изменения.

Сервер и клиент запускаются и подключаются без проблем. Сервер выглядит так:

Wed Feb 23 22:13:22 2011 MULTI: multi_create_instance called
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 Re-using SSL/TLS context
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 LZO compression initialized
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 Control Channel MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 Local Options hash (VER=V4): 'f7df56b8'
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 Expected Remote Options hash (VER=V4): 'd79ca330'
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 TLS: Initial packet from 192.168.1.55:47166, sid=69112e42 5458135b
*...*
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Wed Feb 23 22:13:22 2011 192.168.1.55:47166 [client1] Peer Connection Initiated with 192.168.1.55:47166

На стороне клиента соединение выглядит так:

Wed Feb 23 22:20:07 2011 [server] Peer Connection Initiated with [AF_INET]192.168.1.41:1194
Wed Feb 23 22:20:10 2011 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Wed Feb 23 22:20:10 2011 PUSH: Received control message: 'PUSH_REPLY,route-gateway 10.8.0.4,ping 10,ping-restart 120,ifconfig 10.8.0.50 255.255.255.0'
...
Wed Feb 23 22:20:10 2011 /sbin/ifconfig tap0 10.8.0.50 netmask 255.255.255.0 mtu 1500 broadcast 10.8.0.255
Wed Feb 23 22:20:10 2011 Initialization Sequence Completed

Сервер openvpn был настроен для назначения IP-адресов в диапазоне 10.8.0.*, А клиенту был присвоен 10.8.0.50. Когда я запускаю следующий Nmap от клиента:

Starting Nmap 5.00 ( http://nmap.org ) at 2011-02-23 22:04 EST
Host 10.8.0.50 is up (0.00047s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 30.34 seconds

Host 192.168.1.1 is up (0.0025s latency).
Host 192.168.1.18 is up (0.074s latency).
Host 192.168.1.41 is up (0.0024s latency).
Host 192.168.1.55 is up (0.00018s latency).
Nmap done: 256 IP addresses (4 hosts up) scanned in 6.33 seconds

Если я запускаю nmap с сервера на 10.8.0.* Я ничего не получаю.

Если у клиента есть два интерфейса (беспроводное и отводное устройство) при поиске определенного IP-адреса, как он решает, к какому интерфейсу подключаться?

изменить Я пытаюсь настроить VPN, чтобы я мог подключиться к своей домашней сети из удаленной сети. Кажется, что openvpn подключается, но ни один из компьютеров в моей домашней сети не отображается как сетевой компьютер, даже после того, как соединение установлено. Раздетые версии конфигурационных файлов клиента и сервера размещены ниже. Спасибо за любую помощь, которую вы можете предложить.

server.conf

port 1194
proto udp
dev tap
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt  
key /etc/openvpn/easy-rsa/keys/server.key  # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

client.conf

client
dev tap
dev-node tap0901
proto udp
remote ********** 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

Еще одна вещь, которая может оказаться полезной: я попытался подключиться с помощью графического интерфейса openvpn для Windows, и соединение "зависло" при "получении конфигурации", а панель просто прокручивалась навсегда.

2 ответа

Какую версию OpenVPN вы используете?

Могут ли клиенты пинговать друг друга (используя свои VPN-адреса)? Могут ли они пинговать сервер? Может ли сервер пинговать клиентов? Вы также можете использовать traceroute, чтобы увидеть, где прекращается подключение.

(должен быть комментарий, может ли модератор это изменить?)

Если клиент имеет более одного интерфейса, он решает, куда направлять пакеты, на основе таблицы маршрутизации.

Бежать route -n в командной строке. и вы увидите таблицу маршрутизации, например:

matt@watch:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.161.2   0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.161.0   192.168.161.2   255.255.255.0   UG    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth3
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth3

Вы можете видеть, что подсеть 192.168.161.0/24 находится на tun0, который является соединением openvpn. eth3 - это соединение локальной сети с подсетью 192.168.1.0/24

Я не совсем уверен, в чем ваша проблема - вы можете включить конфигурацию openvpn, а также результат, который вы пытаетесь достичь?

Другие вопросы по тегам