LINUX.ORG.RU
ФорумAdmin

OpenVPN


0

1

В Интернете приобрел на месяц серверочек под Debian-7-amd64-ispmgr5. На нем установил OpenVPN. Задача - соединить пользователей разных сетей в одну. Есть одна сеть, 192.168.1.0-255.255.255.0 и вторая, 192.168.137.0-255.255.255.0. На сервере настроил всё как VPN сеть 192.168.2.0. Получился конфиг сервера:

port 1194
proto udp
dev tun
tmp-dir /etc/openvpn/tmp
script-security 2
dh dh1024.pem
ca ca.crt
cert server.crt
key server.key
#ifconfig-pool-persist ipp.txt
server 192.168.2.0 255.255.255.0

push "redirect-gateway"
push "explicit-exit-notify 3"
keepalive 10 120
comp-lzo
persist-key
persist-tun
client-to-client
management localhost 7505
status openvpn-status.log
verb 3
Сгенерировал 7 ключей для клиентов и один серверный. Сервер запустился.Сначала двум клиентам дал один и тот же ключ (клиенты на windows). Клиенты получали один и тот-же IP адрес. И как один пинговать с другого, я не нашел. Раздал клиентам разные ключи. В результате им раздаются IP будто на разные сети. И клиенты между собой вновь не работают. IP назначается клиентам через каждые 3 IP адреса, т.е. одному например, 192.168.2.6 (я и не понял, почему раздача IP началась с 6-ти?), другому 192.168.2.10 и т.д. Сделал вариант получения данных о клиентах через telnet, ниже лог подключения одного из клиентов:
>CLIENT:ESTABLISHED,1
>CLIENT:ENV,n_clients=2
>CLIENT:ENV,time_unix=1391250020
>CLIENT:ENV,time_ascii=Sat Feb  1 14:20:20 2014
>CLIENT:ENV,ifconfig_pool_local_ip=192.168.2.13
>CLIENT:ENV,ifconfig_pool_remote_ip=192.168.2.14
>CLIENT:ENV,trusted_port=25106
>CLIENT:ENV,trusted_ip=83.149.48.93
>CLIENT:ENV,common_name=user2
>CLIENT:ENV,untrusted_port=25106
>CLIENT:ENV,untrusted_ip=83.149.48.93
>CLIENT:ENV,tls_serial_0=04
>CLIENT:ENV,tls_digest_0=cf:ab:a6:a6:c5:1a:a7:d5:03:38:b0:83:06:2c:2d:b9:70:b7:cf:83
>CLIENT:ENV,tls_id_0=/C=RU/ST=Omskaya/L=Omsk/O=Fizlico/OU=*/CN=user2/name=*/emailAddress=*
>CLIENT:ENV,X509_0_emailAddress=*
>CLIENT:ENV,X509_0_name=*
>CLIENT:ENV,X509_0_CN=user2
>CLIENT:ENV,X509_0_OU=*
>CLIENT:ENV,X509_0_O=Fizlico
>CLIENT:ENV,X509_0_L=Omsk
>CLIENT:ENV,X509_0_ST=Omskaya
>CLIENT:ENV,X509_0_C=RU
>CLIENT:ENV,tls_serial_1=B8EF121CCA0A4470
>CLIENT:ENV,tls_digest_1=c8:c0:37:f9:8c:b6:89:45:e0:b1:28:8d:51:29:ca:f3:a6:2f:ba:cb
>CLIENT:ENV,tls_id_1=/C=RU/ST=Omskaya/L=Omsk/O=Fizlico/OU=*/CN=server/name=*/emailAddress=*
>CLIENT:ENV,X509_1_emailAddress=*
>CLIENT:ENV,X509_1_name=*
>CLIENT:ENV,X509_1_CN=server
>CLIENT:ENV,X509_1_OU=*
>CLIENT:ENV,X509_1_O=Fizlico
>CLIENT:ENV,X509_1_L=Omsk
>CLIENT:ENV,X509_1_ST=Omskaya
>CLIENT:ENV,X509_1_C=RU
>CLIENT:ENV,remote_port_1=1194
>CLIENT:ENV,local_port_1=1194
>CLIENT:ENV,proto_1=udp
>CLIENT:ENV,daemon_pid=24872
>CLIENT:ENV,daemon_start_time=1391245586
>CLIENT:ENV,daemon_log_redirect=0
>CLIENT:ENV,daemon=1
>CLIENT:ENV,verb=3
>CLIENT:ENV,config=/etc/openvpn/server.conf
>CLIENT:ENV,ifconfig_local=192.168.2.1
>CLIENT:ENV,ifconfig_remote=192.168.2.2
>CLIENT:ENV,route_net_gateway=82.146.52.1
>CLIENT:ENV,route_vpn_gateway=192.168.2.2
>CLIENT:ENV,route_network_1=192.168.2.0
>CLIENT:ENV,route_netmask_1=255.255.255.0
>CLIENT:ENV,route_gateway_1=192.168.2.2
>CLIENT:ENV,script_context=init
>CLIENT:ENV,tun_mtu=1500
>CLIENT:ENV,link_mtu=1542
>CLIENT:ENV,dev=tun0
>CLIENT:ENV,END

лог другого клиента

>CLIENT:ESTABLISHED,3
>CLIENT:ENV,n_clients=1
>CLIENT:ENV,time_unix=1391250285
>CLIENT:ENV,time_ascii=Sat Feb  1 14:24:45 2014
>CLIENT:ENV,ifconfig_pool_local_ip=192.168.2.17
>CLIENT:ENV,ifconfig_pool_remote_ip=192.168.2.18
>CLIENT:ENV,trusted_port=3616
>CLIENT:ENV,trusted_ip=83.149.48.93
>CLIENT:ENV,common_name=user3
>CLIENT:ENV,untrusted_port=3616
>CLIENT:ENV,untrusted_ip=83.149.48.93
>CLIENT:ENV,tls_serial_0=05
>CLIENT:ENV,tls_digest_0=34:90:9b:71:b6:f9:fb:3d:4f:83:e8:9d:a8:f2:39:0f:45:cd:6d:f7
>CLIENT:ENV,tls_id_0=/C=RU/ST=Omskaya/L=Omsk/O=Fizlico/OU=*/CN=user3/name=*/emailAddress=*
>CLIENT:ENV,X509_0_emailAddress=*
>CLIENT:ENV,X509_0_name=*
>CLIENT:ENV,X509_0_CN=user3
>CLIENT:ENV,X509_0_OU=*
>CLIENT:ENV,X509_0_O=Fizlico
>CLIENT:ENV,X509_0_L=Omsk
>CLIENT:ENV,X509_0_ST=Omskaya
>CLIENT:ENV,X509_0_C=RU
>CLIENT:ENV,tls_serial_1=B8EF121CCA0A4470
>CLIENT:ENV,tls_digest_1=c8:c0:37:f9:8c:b6:89:45:e0:b1:28:8d:51:29:ca:f3:a6:2f:ba:cb
>CLIENT:ENV,tls_id_1=/C=RU/ST=Omskaya/L=Omsk/O=Fizlico/OU=*/CN=server/name=*/emailAddress=*
>CLIENT:ENV,X509_1_emailAddress=*
>CLIENT:ENV,X509_1_name=*
>CLIENT:ENV,X509_1_CN=server
>CLIENT:ENV,X509_1_OU=*
>CLIENT:ENV,X509_1_O=Fizlico
>CLIENT:ENV,X509_1_L=Omsk
>CLIENT:ENV,X509_1_ST=Omskaya
>CLIENT:ENV,X509_1_C=RU
>CLIENT:ENV,remote_port_1=1194
>CLIENT:ENV,local_port_1=1194
>CLIENT:ENV,proto_1=udp
>CLIENT:ENV,daemon_pid=24872
>CLIENT:ENV,daemon_start_time=1391245586
>CLIENT:ENV,daemon_log_redirect=0
>CLIENT:ENV,daemon=1
>CLIENT:ENV,verb=3
>CLIENT:ENV,config=/etc/openvpn/server.conf
>CLIENT:ENV,ifconfig_local=192.168.2.1
>CLIENT:ENV,ifconfig_remote=192.168.2.2
>CLIENT:ENV,route_net_gateway=82.146.52.1
>CLIENT:ENV,route_vpn_gateway=192.168.2.2
>CLIENT:ENV,route_network_1=192.168.2.0
>CLIENT:ENV,route_netmask_1=255.255.255.0
>CLIENT:ENV,route_gateway_1=192.168.2.2
>CLIENT:ENV,script_context=init
>CLIENT:ENV,tun_mtu=1500
>CLIENT:ENV,link_mtu=1542
>CLIENT:ENV,dev=tun0
>CLIENT:ENV,END
может кто-нибудь подсказать, что необходимо дописать в конфиге, чтобы клиенты могли работать друг с другом? Чтобы IP раздавался в пределах одной виртуальной сети? И чтобы IP раздавались хоть как-нибудь последовательно? Кучу форумов перечитал, множество перепробовал... Ничего не получается...


Чтобы клиенты видели друг друга:

--client-to-client

Дальше курим man openvpn:

--server 10.8.0.0 255.255.255.0 в режиме tun выдаст

--ifconfig-pool 10.8.0.4 10.8.0.251

Читаем про него:

Set aside a pool of subnets to be dynamically allocated to connecting clients, similar to a DHCP server. For tun-style tunnels, each client will be given a /30 subnet (for interoperability with Windows clients).

Так что совершенно правильно клиенты адреса через 4 получают, это последовательные /30. Тебе нужно куда-то в сторону --ifconfig-push копать, алгоритм ты надеюсь понял.

З.Ы. Не ищи по русскоязычному интернету, ищи по-английски

selivan ★★★
()

И чтобы IP раздавались хоть как-нибудь последовательно

topology subnet
getup
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.