OpenVPN PKI: Site-to-Site инструкция для обсуждения
-
И да правильно я понимаю что в Common Name нужно указывать интерфейс vpn подключения и в мое случаи ovpnc2
Нет,не правильно.
http://fastinetserver.wordpress.com/2013/03/09/pfsense-openvpn-static-ip-for-clients/
NOTE: Common Name should be the same as specified in the clients certificate:
If you have forgotten this name go to System\Cert Manager\Certificates and check the value of the CN for your VPN use
-
Доброе. Подскажите кто в курсе, есть ли принципиальная разница в организации маршрутизации между подключениями по схеме OpenVPN p2p (share key) и OpenVPN p2p (SSL/TSL)?
Суть проблему в том, что при настройки по схеме OpenVPN p2p (share key), трафик между двумя роутерами на базе pfsense ходит без проблем, в том числе между рабочими станциями, которые находиться в локальных сетях за этими роутерами. Если я перенастраиваю только OpenVPN для работы по схеме и OpenVPN p2p (SSL/TSL), то трафик почему получается односторонним, причем только от клиента к серверу, от сервера к клиенту трафик уже не ходит не говоря о том что и нету трафика между рабочими станциями. При этом с маршрутизации все в порядке, на клиенте есть маршрут в сеть сервера, а на сервере есть маршрут в сеть клиента. Даже если открыть полностью файрвол, то проблема останется. В чем может быть дело?
Есть ли директива iroute на сервере OpenVPN. Она необходима, чтобы сеть за сервером могла видеть сеть за клиентом.
Спасибо за разъяснение. Был невнимателен. Действительно нужно было указать подсеть клиента с помощью директивы iroute на сервер в Client Specific Override, где в Common name, нужно было указать Common name из сертификата клиента.
-
А как завернуть сеть в сеть которые за VPN находятся ? что бы сети друг друга "знали" ?
-
А как завернуть сеть в сеть которые за VPN находятся ? что бы сети друг друга "знали" ?
Если имеются в виду подсети за OVPN-клиентами, подключенными к "центральному"OVPN-серверу, то указать каждой подсети маршрут в другую подсеть:
На клиентах в Advanced configuration
route 192.168.Х.0/24 255.255.255.0или, если на сервере используется конфигурация PKI - в Client Specific Overrides
push route "192.168.Х.0 255.255.255.0"где 192.168.Х.0 - сеть удаленного филиала
В редких случаях push route может оказаться нужным дополнить явным указанием шлюза:
push route "192.168.Х.0 255.255.255.0 10.х.х.1"где 10.х.х.1 адрес OVPN-сервера в туннеле
Не лишним может оказаться добавление на LAN на сервере и клиентах правил вида
IPv4 * LAN net * 192.168.Х.0/24 * * none
Обратите внимание на **IPv4 *** - по умолчанию правило создается только для TCP
-
А как завернуть сеть в сеть которые за VPN находятся ? что бы сети друг друга "знали" ?
Если имеются в виду подсети за OVPN-клиентами, подключенными к "центральному"OVPN-серверу, то указать каждой подсети маршрут в другую подсеть:
На клиентах в Advanced configuration
route 192.168.Х.0/24 255.255.255.0или, если на сервере используется конфигурация PKI - в Client Specific Overrides
push route "192.168.Х.0 255.255.255.0"где 192.168.Х.0 - сеть удаленного филиала
В редких случаях push route может оказаться нужным дополнить явным указанием шлюза:
push route "192.168.Х.0 255.255.255.0 10.х.х.1"где 10.х.х.1 адрес OVPN-сервера в туннеле
Не лишним может оказаться добавление на LAN на сервере и клиентах правил вида
IPv4 * LAN net * 192.168.Х.0/24 * * none
Обратите внимание на **IPv4 *** - по умолчанию правило создается только для TCP
Тобишь, если имеется сервер с IPv4 Tunnel Network 172.16.1.0/24 нужно в Advanced добавить помимо вот этого push "route 192.168.0.0 255.255.255.0";
route 192.168.100.0 255.255.255.0; ещё и push route "192.168.5.0 255.255.255.0 172.16.1.0 ? Сеть от 5 заворачиваем через 172.16.1.0 в 100 ? это на одном сервере, тоже самое на другом, только тунель будет другим ? -
Забудьте про адресацию туннелей. Для туннеля ваша единственная задача - обеспечить уникальную (неиспользуемую ни в какой реальной подсети адресацию, которая работает\будет работать в OpenVPN.
После того, как туннель поднялся все настройки производятся с реальными адресами подсетей, шлюзов и т.д.это на одном сервере, тоже самое на другом, только тунель будет другим ?
Давайте уточним терминологию.
Сервер - это то, что ожидает подключения.
Клиент - это то, что инициирует подключение.В случае PKI ("сервер с сертификатами") настройки сервера в client specific overrides в принципе равнозначны настройкам на клиенте.
Например push route "…. в client specific overrides делает то же самое, что route в настройках клиента.
Исключение - директива iroute, ее нужно указывать именно в client specific overrides на сервере. -
Забудьте про адресацию туннелей. Для туннеля ваша единственная задача - обеспечить уникальную (неиспользуемую ни в какой реальной подсети адресацию, которая работает\будет работать в OpenVPN.
После того, как туннель поднялся все настройки производятся с реальными адресами подсетей, шлюзов и т.д.Ну и где это делается ? из сети 192.168.0.0 я могу пинговать всё что можно, а вот из 192.168.5.0 не могу пинговать 192.168.100.0 но из этих сетей я могу пинговать 192.168.0.0
-
Добрый день!
Все сделал как написано в топике, все хорошо работает. Но почему то компьютеры не видят друг друга в сетевом окружении и более того непонятен такой момент. Компьютеры которые находятся в одной подсети с сервером не пингуют компы из подсети клиента, а наоборот пинги есть и доступ по IP.
Какой то парабокс - доступ из клиентской подсети в серверною есть, а наоборот нет :(Сеть с сервером 10.2.0.0/24
Сеть клиента 10.2.1.0/24
Туннель 172.16.0.1/24Маршруты на сервере
default xxx.xxx.xxx.xxx UGS 0 8327006 1500 em1
10.2.0.0 link#1 U 0 8450553 1500 em0
gw01 link#1 UHS 0 0 16384 lo0
10.2.1.0 172.16.0.2 UGS 0 3790876 1500 ovpns1
xxx.xxx.xxx.0/27 link#2 U 0 205476 1500 em1
xxx.xxx.xxx.xxx link#2 UHS 0 0 16384 lo0
localhost link#5 UH 0 217 16384 lo0
172.16.0.0 172.16.0.2 UGS 0 0 1500 ovpns1
172.16.0.1 link#7 UHS 0 0 16384 lo0
172.16.0.2 link#7 UH 0 0 1500 ovpns1Маршруты на клиенте
default xxx.xxx.xxx.xxx UGS 0 29325548 1500 em0
10.2.0.0/24 172.16.0.5 UGS 0 2891014 1500 ovpnc1
10.2.1.0/24 link#2 U 0 28010720 1500 em1
10.2.1.1 link#2 UHS 0 0 16384 lo0
xxx.xxx.xxx.xxx/27 link#1 U 0 715465 1500 em0
xxx.xxx.xxx.xxx link#1 UHS 0 0 16384 lo0
127.0.0.1 link#5 UH 0 176 16384 lo0
172.16.0.1/32 172.16.0.5 UGS 0 0 1500 ovpnc1
172.16.0.5 link#7 UH 0 0 1500 ovpnc1
172.16.0.6 link#7 UHS 0 0 16384 lo0Чего не хватает?
-
NetBIOS, iroute.
-
iroute 10.2.1.0 255.255.255.0 добавлено в specific.
А как быть с NetBios -
Внимательнее смотрите страницу настроек. Там должна быть галка по поводу NetBIOS.
Или поднимайте tap-туннель. -
Добрый день!
Посоветуйте, как лучше реализовать следующую схему:Есть 2 сети за pfsense и внешние виндовые клиенты с виндовым openvpn.
Нужно объединить сети за pfsence и дать возможность внешним клиентам, при подключении видеть общие ресурсы обеих сетей, а не только той к openvpn серверу которой они коннектятся.
При этом не хотелось бы устраивать на pfsense множество серверов openvnc. Желательно вообще 1.Навскидку кажется, что можно это сделать при помощи “Peer to Peer (SSL/TLS)” (PKI), но неясно можно ли подключить туда виндовых клиентов, и если да, то как.
-
Для одиночных клиентов есть Remote access… Peer to Peer - это когда нужно сделать связь сети за сервером с сетью за клиентом.
-
У меня 2 pfsense за каждым из них сеть и эти сети надо объединить. Кроме этого существуют виндовые клиенты, которые подключаются к одному из серверов, но хотят видеть ресурсы из второй сети тоже.
Вы предлагаете, поднять для виндовых клиентов отдельный север с RA, а 2 сети объединять Site 2 Site ? Сейчас так и сделано, но при этом виндовые клиенты видят только сеть за сервером к которому подключаются. -
Если сети за pfSense'ми видят друг-друга, то и клиенты на windows тоже могут без проблем. Нужно просто передать им маршрут в соседнюю сеть. Типа: route 192.168.0.0 255.255.255.0
-
Это сделано, но не помогает *)
-
Наконец, зачем была нужна директива: iroute 192.168.20.0 255.255.255.0 в Client Specific Overrides для клиента ovpnc1
Прописываю iroute в Client Specific Overrides на OpenVPN сервере (что бы прописать мартрут и сказать серверу за каким клиентом сеть) и почему то не добавляется маршрут на сервере, а если прописываю route в Advanced в настройках самого OpenVPN сервера то маршрут прописывается и все работает
-
если прописываю route в Advanced в настройках самого OpenVPN сервера то маршрут прописывается и все работает
Не советую этого делать.
Прописываю iroute в Client Specific Overrides на OpenVPN сервере (что бы прописать мартрут и сказать серверу за каким клиентом сеть) и почему то не добавляется маршрут на сервере
А имя клиента в Client Specific Overrides - правильное ?
NOTE: Common Name should be the same as specified in the clients certificate:
If you have forgotten this name go to System\Cert Manager\Certificates and check the value of the CN for your VPN user
-
Уважаемый werter, прежде все хочу сказать спасибо за Ваши ответы!
Теперь по теме, я задал не правильно вопрос…
В настройках OpenVPN сервера я прописываю -
VPN - OpenVPN - Server - Advanced - route ip_range netmask;
Делаю я это для того что бы в таблице маршрутизации OpenVPN сервера прописался маршрут до удаленной сети за OpenVPN клиентом.Вопрос как можно приписать добавление маршрута в таблицу маршрутизации OpenVPN сервера в настройках
VPN - OpenVPN - Client Specific Overrides - CommonName - Advancedесли прописываю route в Advanced в настройках самого OpenVPN сервера то маршрут прописывается и все работает
Не советую этого делать.
Поясните как лучше сделать?
@werter:Прописываю iroute в Client Specific Overrides на OpenVPN сервере (что бы прописать мартрут и сказать серверу за каким клиентом сеть) и почему то не добавляется маршрут на сервере
А имя клиента в Client Specific Overrides - правильное ?
Да праивльное в предыдущем посте про iroute излишняя информация этой дериктивой прописываем за каким конкретно клентом та или иная сеть.
Почему этого не достаточно и необходимо еще прописывать route в настройках сервера? -
… iroute... этой дериктивой прописываем за каким конкретно клентом та или иная сеть.
Почему этого не достаточно и необходимо еще прописывать route в настройках сервера?Потому что route инсталлирует маршрут в системную таблицу маршрутов pfSense (и говорит системе, что сеть находится за OpenVPN сервером), а iroute - во внутреннюю базу маршрутов OpenVPN (и говорит серверу за каким именно клиентом находится сеть). Это совсем разные вещи.
Почему iroute не инсталлирует маршруты и туда и туда? Таков дизайн, и это правильно. Мне например никакие системные маршруты от iroute не нужны, т. к. я получаю их по OSPF. Что было бы если бы те же маршруты полезло писать туда же iroute? Так что, пусть каждый занимается своим делом.