OpenVPN PKI: Site-to-Site инструкция для обсуждения
-
Режим “Peer to Peer (SSL/TLS)” (PKI) несколько более сложен в настройке, чем PSK, но предоставляет большую безопасность, гибкость конфигурирования и отсутствие необходимости заводить отдельный экземпляр сервера OpenVPN для каждого клиента.
Если не трудно, может кто подскажет как это реализовать? Если можно с картинками. Есть работающая VPN, нужно подключить с этому серверу еще одного клиента, не порушив существующую связь.
-
Режим “Peer to Peer (SSL/TLS)” (PKI) несколько более сложен в настройке, чем PSK, но предоставляет большую безопасность, гибкость конфигурирования и отсутствие необходимости заводить отдельный экземпляр сервера OpenVPN для каждого клиента.
Если не трудно, может кто подскажет как это реализовать? Если можно с картинками. Есть работающая VPN, нужно подключить с этому серверу еще одного клиента, не порушив существующую связь.
Присоединюсь к вопросу.
Поднял сервер по данному мануалу, за который, а так же за поддержку в ЛС спасибо уважаемому rubic.2.0.3-RELEASE (i386)
Open VPN pfsense, за ним сеть 10.0.2.0/24OVPN-client - "железный" роутер
Конфиг сервера:
–-------------------------------------------------
dev ovpns4
dev-type tun
dev-node /dev/tun4
writepid /var/run/openvpn_server4.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto tcp-server
cipher AES-256-CBC
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
local ххх.ххх.75.229
tls-server
server 10.0.9.0 255.255.255.0
client-config-dir /var/etc/openvpn-csc
ifconfig 10.0.9.1 10.0.9.2
tls-verify /var/etc/openvpn/server4.tls-verify.php
lport 1195
management /var/etc/openvpn/server4.sock unix
push "route 10.0.2.0 255.255.255.0"
route 10.0.4.0 255.255.255.0
ca /var/etc/openvpn/server4.ca
cert /var/etc/openvpn/server4.cert
key /var/etc/openvpn/server4.key
dh /etc/dh-parameters.1024
persist-remote-ip
float
route 10.0.5.0 255.255.255.0route 10.0.5.0 255.255.255.0 внесено в Advanced configuration сервера
На сервере отключена TLS Authentication - "железный" роутер ее не поддерживает.
Заведено 2 клиента, условно - client1 и client2 для них в Client Specific Override указано
client1 :
iroute 10.0.4.0 255.255.255.0client2 :
iroute 10.0.5.0 255.255.255.0При коннекте клиента client1 сети 10.0.2.0 и 10.0.4.0 взаимно доступны.
При коннекте клиента client2 сеть 10.0.5.0 "видит" сеть 10.0.2.0, из 10.0.2.0 сеть 10.0.5.0 недоступна.
Смена клиента (common name) на железном роутере производилась попеременно, т.е. подключались либо client1 либо client2.Возможно ли средствами сервера обеспечить взаимную доступность 10.0.2.0<->10.0.5.0 не меняя Remote Network (route 10.0.4.0 255.255.255.0) в его настройка? В планах подключение дополнительных клиентов и хочется обойтись одним экземпляром сервера.
-
@ alex101
Первая страница этого топика. ИМХО, расписано более чем.@ pigbrother
n-клиентов - n-команд route …. в настройках сервера. Это закон.
Далее, не пойму ,чем не устраивает Server mode: Remote access (SSL\TLS) ? Можно подключать столько клиентов , сколько хотите.
Зачем обязательно Peer to Peer ?Ваша "односторонняя" доступность из 10.0.2.0 сеть 10.0.5.0 - может аппаратный роутер-клиент блокирует ? Что за "железяка", если не секрет ?
Вы на одном ресурсе из сети .2. в сеть .5. проверяли или на многих? Телнет проходит ли ?Плюс покажите таблицу роутинга на pfsense при этом, пож-та.
-
>n-клиентов - n-команд route …. в настройках сервера. Это закон.
так закон и соблюдается. 10.0.4.111 внесено через Remote Network, 10.0.5.111 - через Advanced configuration.>Зачем обязательно Peer to Peer ?
Согласно рекомендациям данного топика. Пробовал и Remote access (SSL\TLS) - получаю одностороннюю доступность
10.0.4.0->10.0.2.0>Ваша "односторонняя" доступность из 10.0.2.0 сеть 10.0.5.0 - может аппаратный роутер-клиент блокирует?
Нет, не блокирует. Но проверю позже ещеЧто за "железяка", если не секрет ?
Mikrotik.Вы на одном ресурсе из сети .2. в сеть .5. проверяли или на многих? Телнет проходит ли ?
На нескольких. Телнет не проходит. Но позже проверю еще раз.Сеть 10.117.х.х на скриншоте - линк к hideme.ru
Сеть 10.0.3.0 - OpenVPN сервер в режиме PSKЕсли сеть 10.0.4.0 убрать из Remote Network, но оставить в Advanced configuration - получаем
"одностороннюю" доступность 10.0.4.0 ->10.0.2.0
-
_>n-клиентов - n-команд route …. в настройках сервера. Это закон.
...Как вариант попробуйте на сервере в Client Specific Override для клиента1 прописать клиента 2, а для клиента 2 клиента 1 командой push "route x.x.x.x y.y.y.y" мне это помогло. Режим сервера RA.
PS
@pigbrother:..
Если сеть 10.0.4.0 убрать из Remote Network, но оставить в Advanced configuration - получаем
"одностороннюю" доступность 10.0.4.0 ->10.0.2.0Remote Network это на клиенте вы прописываете? Я на DSR - Д-линковском вообще на это забил и без него работает, оставил для самоуспокоения только серверную сеть._
-
@ pigbrother
Смотрите логи fw на Микротике.
-
Remote Network это на клиенте вы прописываете? Я на DSR - Д-линковском вообще на это забил и без него работает, оставил для самоуспокоения только серверную сеть.
Нет, это настройки сервера.
-
Remote Network это на клиенте вы прописываете? Я на DSR - Д-линковском вообще на это забил и без него работает, оставил для самоуспокоения только серверную сеть.
Нет, это настройки сервера.
Все я понял, у вас режим p2p стоит. Советую все-таки поменять на Remote Access и прописать команды указанные выше.
-
Remote Network это на клиенте вы прописываете? Я на DSR - Д-линковском вообще на это забил и без него работает, оставил для самоуспокоения только серверную сеть.
Нет, это настройки сервера.
Все я понял, у вас режим p2p стоит. Советую все-таки поменять на Remote Access и прописать команды указанные выше.
Перевел сервер в RA. client1 (за которым сеть 10.0.4.0) работает адекватно (как и работал с сервером в режиме P2P), сети взаимно доступны.
Если захожу, как client2 (за которым сеть 10.0.5.0) получаю любопытную картину - с pfSense сеть за клиентом доступна, из LAN за pfSense - нет, tracert с машины в LAN показывает, что пакеты уходят в интернет, а не в туннель.
Маршрут в 10.0.5.0 pfSense при этом имеет:
10.0.5.0/24 10.0.9.2 UGS 0 1 1500 ovpns4>Как вариант попробуйте на сервере в Client Specific Override для клиента1 прописать клиента 2, а для клиента 2 >клиента 1 командой push "route x.x.x.x y.y.y.y"
Если я правильно помню\понимаю - push "route x.x.x.x y.y.y.y" дает возможность сетям за клиентами видеть друг друга?
-
получаю любопытную картину - с pfSense сеть за клиентом доступна, из LAN за pfSense - нет, tracert с машины в LAN показывает
А вы случаем явно руками маршрут не добавляли на pfsense ? Если - да, то удалите его.
И еще, посмотрите таблицу маршрутизации на этой машине в LAN - route print (от имени Администратора), если это Win.
Если я правильно помню\понимаю - push "route x.x.x.x y.y.y.y" дает возможность сетям за клиентами видеть друг друга?
Все верно.
Еще можно добавить маршрут на самом клиенте, т.е. добавить директиву route x.x.x.x y.y.y.y ему в Custom options\Advanced.
-
Привет, парни. С обновлением на 2.1.3 у меня появилась проблема с ovpn. Очень часто стало происходить переподключение клиента к серверу в режиме Site-to-Site.
Лог клиентаMay 15 09:30:01 openvpn[64470]: Initialization Sequence Completed May 15 09:30:01 openvpn[64470]: Preserving previous TUN/TAP instance: ovpnc1 May 15 09:29:59 openvpn[64470]: [srv-r1.domain.ru] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:11194 May 15 09:29:59 openvpn[64470]: UDPv4 link remote: [AF_INET]xxx.xxx.xxx.xxx:11194 May 15 09:29:59 openvpn[64470]: UDPv4 link local (bound): [AF_INET]yyy.yyy.yyy.yyy May 15 09:29:59 openvpn[64470]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts May 15 09:29:59 openvpn[64470]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. May 15 09:29:57 openvpn[64470]: SIGUSR1[soft,ping-restart] received, process restarting May 15 09:29:57 openvpn[64470]: [srv-r1.domain.ru] Inactivity timeout (--ping-restart), restarting
Лог сервера
May 15 09:30:01 openvpn[64669]: srv-r2.domain.ru/yyy.yyy.yyy.yyy:32885 send_push_reply(): safe_cap=940 May 15 09:29:59 openvpn[64669]: srv-r2.domain.ru/yyy.yyy.yyy.yyy:32885 MULTI_sva: pool returned IPv4=10.0.18.6, IPv6=(Not enabled) May 15 09:29:59 openvpn[64669]: yyy.yyy.yyy.yyy:32885 [srv-r2.domain.ru] Peer Connection Initiated with [AF_INET]yyy.yyy.yyy.yyy:32885 May 15 09:29:39 openvpn[68832]: Initialization Sequence Completed May 15 09:29:39 openvpn[68832]: /usr/local/sbin/ovpn-linkup ovpnc2 1500 1541 172.16.202.21 172.16.202.22 init May 15 09:29:39 openvpn[68832]: /sbin/ifconfig ovpnc2 172.16.202.21 172.16.202.22 mtu 1500 netmask 255.255.255.255 up May 15 09:29:39 openvpn[68832]: do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=0 May 15 09:29:39 openvpn[68832]: TUN/TAP device /dev/tun2 opened May 15 09:29:39 openvpn[68832]: TUN/TAP device ovpnc2 exists previously, keep at program end May 15 09:29:37 openvpn[68832]: [ticket-server] Peer Connection Initiated with [AF_INET]zzz.zzz.zzz.zzz:1196 May 15 09:29:36 openvpn[68832]: UDPv4 link remote: [AF_INET]zzz.zzz.zzz.zzz:1196 May 15 09:29:36 openvpn[68832]: UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx May 15 09:29:36 openvpn[68420]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts May 15 09:29:36 openvpn[68420]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. May 15 09:29:36 openvpn[68420]: OpenVPN 2.3.2 amd64-portbld-freebsd8.3 [SSL (OpenSSL)] [LZO] [eurephia] [MH] [IPv6] built on Mar 27 2014 May 15 09:29:36 openvpn[1195]: SIGTERM[hard,] received, process exiting May 15 09:29:36 openvpn[1195]: /usr/local/sbin/ovpn-linkdown ovpnc2 1500 1541 172.16.202.21 172.16.202.22 init May 15 09:29:36 openvpn[64669]: Initialization Sequence Completed May 15 09:29:36 openvpn[64669]: UDPv4 link remote: [undef] May 15 09:29:36 openvpn[64669]: UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx:11194 May 15 09:29:36 openvpn[1195]: event_wait : Interrupted system call (code=4) May 15 09:29:36 openvpn[62072]: /usr/local/sbin/ovpn-linkup ovpns1 1500 1557 10.0.18.1 10.0.18.2 init May 15 09:29:36 openvpn[62072]: /sbin/ifconfig ovpns1 10.0.18.1 10.0.18.2 mtu 1500 netmask 255.255.255.255 up May 15 09:29:36 openvpn[62072]: do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=0 May 15 09:29:36 openvpn[62072]: TUN/TAP device /dev/tun1 opened May 15 09:29:36 openvpn[62072]: TUN/TAP device ovpns1 exists previously, keep at program end May 15 09:29:36 openvpn[62072]: Control Channel Authentication: using '/var/etc/openvpn/server1.tls-auth' as a OpenVPN static key file May 15 09:29:36 openvpn[62072]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts May 15 09:29:36 openvpn[62072]: OpenVPN 2.3.2 amd64-portbld-freebsd8.3 [SSL (OpenSSL)] [LZO] [eurephia] [MH] [IPv6] built on Mar 27 2014 May 15 09:29:36 openvpn[97729]: SIGTERM[hard,] received, process exiting May 15 09:29:36 openvpn[97729]: /usr/local/sbin/ovpn-linkdown ovpns1 1500 1557 10.0.18.1 10.0.18.2 init May 15 09:29:36 openvpn[97729]: event_wait : Interrupted system call (code=4) May 15 09:28:59 openvpn[1195]: Initialization Sequence Completed May 15 09:28:59 openvpn[1195]: /usr/local/sbin/ovpn-linkup ovpnc2 1500 1541 172.16.202.21 172.16.202.22 init May 15 09:28:59 openvpn[1195]: /sbin/ifconfig ovpnc2 172.16.202.21 172.16.202.22 mtu 1500 netmask 255.255.255.255 up May 15 09:28:59 openvpn[1195]: do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=0 May 15 09:28:59 openvpn[1195]: TUN/TAP device /dev/tun2 opened May 15 09:28:59 openvpn[1195]: TUN/TAP device ovpnc2 exists previously, keep at program end May 15 09:28:57 openvpn[1195]: [ticket-server] Peer Connection Initiated with [AF_INET]zzz.zzz.zzz.zzz:1196 May 15 09:28:57 openvpn[1195]: UDPv4 link remote: [AF_INET]zzz.zzz.zzz.zzz:1196 May 15 09:28:57 openvpn[1195]: UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx May 15 09:28:57 openvpn[1114]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts May 15 09:28:57 openvpn[1114]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. May 15 09:28:57 openvpn[1114]: OpenVPN 2.3.2 amd64-portbld-freebsd8.3 [SSL (OpenSSL)] [LZO] [eurephia] [MH] [IPv6] built on Mar 27 2014 May 15 09:28:57 openvpn[3639]: SIGTERM[hard,] received, process exiting May 15 09:28:57 openvpn[3639]: /usr/local/sbin/ovpn-linkdown ovpnc2 1500 1541 172.16.202.21 172.16.202.22 init May 15 09:28:57 openvpn[97729]: Initialization Sequence Completed May 15 09:28:57 openvpn[97729]: UDPv4 link remote: [undef] May 15 09:28:57 openvpn[97729]: UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx:11194 May 15 09:28:57 openvpn[3639]: event_wait : Interrupted system call (code=4) May 15 09:28:57 openvpn[95558]: /usr/local/sbin/ovpn-linkup ovpns1 1500 1557 10.0.18.1 10.0.18.2 init May 15 09:28:57 openvpn[95558]: /sbin/ifconfig ovpns1 10.0.18.1 10.0.18.2 mtu 1500 netmask 255.255.255.255 up May 15 09:28:57 openvpn[95558]: do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=0 May 15 09:28:57 openvpn[95558]: TUN/TAP device /dev/tun1 opened May 15 09:28:57 openvpn[95558]: TUN/TAP device ovpns1 exists previously, keep at program end May 15 09:28:57 openvpn[95558]: Control Channel Authentication: using '/var/etc/openvpn/server1.tls-auth' as a OpenVPN static key file May 15 09:28:57 openvpn[95558]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts May 15 09:28:57 openvpn[95558]: OpenVPN 2.3.2 amd64-portbld-freebsd8.3 [SSL (OpenSSL)] [LZO] [eurephia] [MH] [IPv6] built on Mar 27 2014 May 15 09:28:57 openvpn[99580]: SIGTERM[hard,] received, process exiting May 15 09:28:57 openvpn[99580]: /usr/local/sbin/ovpn-linkdown ovpns1 1500 1557 10.0.18.1 10.0.18.2 init May 15 09:28:57 openvpn[99580]: event_wait : Interrupted system call (code=4)
Помогите пожалуйста разобраться что изменилось в настройках после обновления.
-
Перевел сервер в RA. client1 (за которым сеть 10.0.4.0) работает адекватно (как и работал с сервером в режиме P2P), сети взаимно доступны.
Если захожу, как client2 (за которым сеть 10.0.5.0) получаю любопытную картину - с pfSense сеть за клиентом доступна, из LAN за pfSense - нет, tracert с машины в LAN показывает, что пакеты уходят в интернет, а не в туннель.
Маршрут в 10.0.5.0 pfSense при этом имеет:
10.0.5.0/24 10.0.9.2 UGS 0 1 1500 ovpns4Обратите внимание на https://forum.pfsense.org/index.php?topic=59081.msg401867#msg401867 этот пост. Мне в схожей ситуации это тоже все вылечило.
-
Перевел сервер в RA. client1 (за которым сеть 10.0.4.0) работает адекватно (как и работал с сервером в режиме P2P), сети взаимно доступны.
Если захожу, как client2 (за которым сеть 10.0.5.0) получаю любопытную картину - с pfSense сеть за клиентом доступна, из LAN за pfSense - нет, tracert с машины в LAN показывает, что пакеты уходят в интернет, а не в туннель.
Маршрут в 10.0.5.0 pfSense при этом имеет:
10.0.5.0/24 10.0.9.2 UGS 0 1 1500 ovpns4Обратите внимание на https://forum.pfsense.org/index.php?topic=59081.msg401867#msg401867 этот пост. Мне в схожей ситуации это тоже все вылечило.
Сходил по ссылке. Добавил на LAN самым первым
TCP/UDP LAN net * 10.0.5.0/24 * * none
Все равно при трассировке с машины за pfsense пакеты уходят в интернет.С самого pfsense - все ОК.
Ping c LAN pfsense:
ING 10.0.5.100 (10.0.5.100) from 10.0.2.111: 56 data bytes
64 bytes from 10.0.5.100: icmp_seq=0 ttl=127 time=22.595 msTraceroute c pfsense:
1 10.0.9.6 (10.0.9.6) 36.029 ms 21.866 ms 48.023 ms
2 10.0.5.100 (10.0.5.100) 45.926 ms 46.530 ms 42.703 ms10.0.5.100 - PC за клиентом.
Добавил в настройки сервера еще одного потенциального клиента:
route 10.0.5.0 255.255.255.0;route 10.0.4.0 255.255.255.0**;route 10.0.7.0** 255.255.255.0;Соответственно, имеем в routes pfsense:
10.0.4.0/24 10.0.9.2 UGS 0 91 1500 ovpns4
10.0.5.0/24 10.0.9.2 UGS 0 8484 1500 ovpns4
10.0.7.0/24 10.0.9.2 UGS 0 0 1500 ovpns4И тут начинается интересное - при трассировке 10.0.5.0 и 10.0.7.0 с PC за pfsense пакеты шлются интернет.
При трассировке 10.0.4.0 - все ОК, уходят на основной шлюз - pFsense -
получаю любопытную картину - с pfSense сеть за клиентом доступна, из LAN за pfSense - нет, tracert с машины в LAN показывает
А вы случаем явно руками маршрут не добавляли на pfsense ? Если - да, то удалите его.
И еще, посмотрите таблицу маршрутизации на этой машине в LAN - route print (от имени Администратора), если это Win.
Если я правильно помню\понимаю - push "route x.x.x.x y.y.y.y" дает возможность сетям за клиентами видеть друг друга?
Все верно.
Еще можно добавить маршрут на самом клиенте, т.е. добавить директиву route x.x.x.x y.y.y.y ему в Custom options\Advanced.
Маршруты нигде вручную добавлялись.
route print с PC за pfsense:
Список интерфейсов
0x1 …........................ MS TCP Loopback interface
0x2 ...00 07 e9 0b 37 21 ...... Intel(R) PRO/100 M Desktop Adapter===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 10.0.2.111 10.0.2.91 20
10.0.2.0 255.255.255.0 10.0.2.91 10.0.2.91 20
10.0.2.91 255.255.255.255 127.0.0.1 127.0.0.1 20
10.255.255.255 255.255.255.255 10.0.2.91 10.0.2.91 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 10.0.2.91 10.0.2.91 20
224.0.0.0 240.0.0.0 10.0.2.91 10.0.2.91 20
255.255.255.255 255.255.255.255 10.0.2.91 10.0.2.91 1
Основной шлюз: 10.0.2.111Постоянные маршруты:
Отсутствует -
Невнимательно сходили :
**IPv4 *** LAN Net * 192.168.101.0/24 * * none
Добавил в настройки сервера еще одного потенциального клиента
А iroute добавили на сервере?
P.s. Покажите скрин разделов Certificates и OpenVPN-> Client-specific overrides на сервере.
-
Mikrotik as OpenVPN client - http://unblockvpn.com/support/how-to-set-up-openvpn-on-router-mikrotik.html
-
Невнимательно сходили :
**IPv4 *** LAN Net * 192.168.101.0/24 * * none
Добавил в настройки сервера еще одного потенциального клиента
А iroute добавили на сервере?
P.s. Покажите скрин разделов Certificates и OpenVPN-> Client-specific overrides на сервере.
Исправил правило, спасибо и для сети 10.0.5.0 все заработало.
Отсюда вопросы:
1**. Почему для 10.0.4.0 такого правила создавать не было нужно?**
2. Такие правила нужно будет создавать для всех сетей за клиентами?
3. Если это так - не внести ли необходимость их создания в FAQ? Вопросы недоступности сетей - самые популярные.За ссылку на настройке Микротик - был там в свое время. В свое время задавал тут вопрос как раз на эту тему. Был послан искать решение по непрофильному продукту :). Нашел. Проблема состояла в том, что Микротик не дает настроить OVPN-клиента без указания user\password котрые в обсуждаемых конфигурациях не используются. На деле в user\password следует вписать все что угодно.
Да и реально работающая настройка OVPN-клиента Микротик применительно к обсуждаемой конфигурации pfsense гораздо проще.
Спасибо werter за терпеливость, KARLAGIN за правильную подсказку, rubic за инструкцию и саму тему.
-
@ pigbrother
А всего-то нужно было включить логирование fw на pfsense, запустить ping на машине за сервером и смотреть логи fw при этом.
-
@ pigbrother
А всего-то нужно было включить логирование fw на pfsense, запустить ping на машине за сервером и смотреть логи fw при этом.
Согласен.
И все же - можно надеяться на ответы по вопросам 1,2,3? -
@ pigbrother
А всего-то нужно было включить логирование fw на pfsense, запустить ping на машине за сервером и смотреть логи fw при этом.
Согласен. Хотя предположить блокировку файрволлом в этом случае в голову бы не пришло никак - ведь для 10.0.4.0 не требовалось никаких усилий.
И все же - можно надеяться на ответы по вопросам 1,2,3?