OpenVPN PKI: Site-to-Site инструкция для обсуждения
-
Друзья, товарищи, братья! Творится какая-то дичь с этим pfSense 2.2.5 (или со мной).
Та же ситуация, что и у fenix_0 несколькими постами ранее (https://forum.pfsense.org/index.php?topic=59081.msg575475#msg575475): сети главного и дополнительного офиса не видят друг-друга, в отличие от pfSens'ов, каждый из которых видит другой pfSense, а также свою и удаленную сети.
Проделывал все рекомендуемые выше операции, перезагружался, но сети так и не видят друг-друга.
Покажите настройки Openvpn (все вкладки) на сервере и клиенте.
Так же скрины правил fw на сервере и клиенте.И да, у Вас имеется правило fw на LAN сервера и клиента явно разрешающее прохождение трафика из одной сети в другую ?
Это обязательно. -
Вот как-то так.
Кстати, если поднимать OpenVPN сервер в режиме Remote Access, то локальная сеть сервера видна (правда не работают DNS-имена локальных сайтов).M1-GW (клиент) –> ping --> M2-RMS (сервер) = Да
M1-GW (клиент) --> ping --> 192.168.2.0/24(сеть сервера) = Да
M2-RMS (сервер) --> ping --> M1-GW (клиент) = Да
M2-RMS (сервер) --> ping --> 192.168.152.0/24 (сеть клиента) = Да192.168.152.0/24 (сеть клиента) --> ping --> 192.168.2.10 = Да
192.168.152.0/24 (сеть клиента) --> ping --> 192.168.2.0/24 = Нет192.168.2.0/24 (сеть сервера) --> ping --> 192.168.152.1 = Нет
192.168.2.0/24 (сеть сервера) --> ping --> 192.168.152.0/24 = НетНастройки сервера (вкладка Server):
Server Mode: Peer to Peer (SSL/TLS)
Protocol: UDP
Device Mode: tun
Local port: 1194IPv4 Tunnel Network: 10.0.8.0/24
IPv4 Local Network/s: 192.168.2.0/24
IPv4 Remote Network/s: пустоAdvanced configuration: route 192.168.152.0 255.255.255.0
Настройки сервера (вкладка Client Specific Overrides):
Tunnel Network: 10.0.8.0/24
IPv4 Local Network/s: пусто
IPv4 Remote Network/s: пустоAdvanced: iroute 192.168.152.0 255.255.255.0
Настройки клиента (вкладка Client):
Server Mode: Peer to Peer (SSL/TLS)
Protocol: UDP
Device Mode: tun
Server host or address: ...IPv4 Tunnel Network: 10.0.8.0/24
IPv4 Remote Network/s: пустоAdvanced configuration: route 192.168.2.0 255.255.255.0
-
В актуальной версии pfSense не нужно ничего прописывать в Advanced. Для того, что туда писалось, разработчики сделали специальные поля, пользуйтесь ими:
Настройки сервера
IPv4 Remote Network/s: 192.168.152.0/24 == route 192.168.152.0 255.255.255.0
и на сервере в Client Specific Overrides:
IPv4 Remote Network/s: 192.168.152.0/24 == iroute 192.168.152.0 255.255.255.0
сеть туннеля в Client Specific Overrides указывать не нужно, если уже указали в настройках сервера, Common Name в настройках Client Specific Overrides должно совпадать с CN сертификата клиента
-
Common Name в настройках Client Specific Overrides должно совпадать с CN сертификата клиента
Проверил еще раз – совпадает.
В актуальной версии pfSense не нужно ничего прописывать в Advanced. Для того, что туда писалось, разработчики сделали специальные поля, пользуйтесь ими:
Сделал по вашему совету, но, к сожалению, ситуация не изменилась.
Попробую полностью удалить настройки сервера и клиента и настроить заново OpenVPN-туннель.
-
2 Ablukov_A.A
Настраивайте в режиме клиент-сервер, а не p2p.
- 3 months later
-
По данной инструкции соединил два филиала и все прекрасно работало.
Но недавно пришло письмо от провайдера, о том, что необходимо изменить настройки сети, т.к. у них меняются ip-адреса. Я изменил настройки в главном офисе и все ок. Но когда настройки поменял на сервере филиала, то туннель перестал работать. Из другой сети к офису можно подключиться.
Может ли это быть связано, что в офисе и филиале один провайдер у которого шлюз и днс адреса одинаковые, отличие только в ip-адресах. IP естественно статические и там и там. -
Может ли это быть связано, что в офисе и филиале один провайдер у которого шлюз и днс адреса одинаковые, отличие только в ip-адресах. IP естественно статические и там и там.
Маловероятно. У меня центральный офис и 2 филиала - в той же ситуации, но работе это не мешает.
Пинг\трейс между филиалом и офисом по внешним IP ходят? Не блокирует ли провайдер порт, который слушает сервер?
-
Порты провайдер не блокирует. Кстати с виндового впн я могу подключиться к офису.
А на сервере филиала статус клиента OpenVPN down.Вот лог:
[UNDEF] Inactivity timeout (–ping-restart), restarting
SIGUSR1[soft,ping-restart] received, process restarting
WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
NOTE: the current –script-security setting may allow this configuration to call user-defined scripts
UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx
UDPv4 link remote: [AF_INET]xxx.xxx.xxx.xxx:1194 -
WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Это, вроде, не критическая ошибка, у меня с ней работало.
Включите более детальный лог, verb 4, например.И что в логе сервера при неудачном коннекте?
-
В логах сервера нет ничего.
Но когда я подключался с виндового клиента, то лог такой:
xxx.xxx.xxx.xxx:61544 [cert1] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:61544
cert1/xxx.xxx.xxx.xxx:61544 MULTI_sva: pool returned IPv4=10.0.8.6, IPv6=(Not enabled)
cert1/xxx.xxx.xxx.xxx:61544 send_push_reply(): safe_cap=940
cert1/xxx.xxx.xxx.xxx:61544 [cert1] Inactivity timeout (–ping-restart), restarting -
В логах сервера нет ничего.
Совсем никаких следов попытки подключения?
Установите на сервере принудительно verb 3 или verb 4
-
Вот еще лог:
openvpn[14527]: MANAGEMENT: Client connected from /var/etc/openvpn/server1.sock
openvpn[14527]: MANAGEMENT: CMD 'status 2'
openvpn[14527]: MANAGEMENT: CMD 'quit'
openvpn[14527]: MANAGEMENT: Client disconnected
openvpn[14527]: event_wait : Interrupted system call (code=4)
openvpn[14527]: /sbin/route delete -net 10.0.8.0 10.0.8.2 255.255.255.0
openvpn[14527]: /sbin/route delete -net 192.168.1.0 10.0.8.2 255.255.255.0
openvpn[14527]: Closing TUN/TAP interface
openvpn[14527]: /usr/local/sbin/ovpn-linkdown ovpns1 1500 1557 10.0.8.1 10.0.8.2 init
openvpn[14527]: SIGTERM[hard,] received, process exiting
openvpn[30007]: OpenVPN 2.3.6 amd64-portbld-freebsd10.1 [SSL (OpenSSL)] [LZO] [MH] [IPv6] built on Dec 1 2014
openvpn[30007]: library versions: OpenSSL 1.0.1k-freebsd 8 Jan 2015, LZO 2.08
openvpn[30076]: NOTE: the current –script-security setting may allow this configuration to call user-defined scripts
openvpn[30076]: Control Channel Authentication: using '/var/etc/openvpn/server1.tls-auth' as a OpenVPN static key file
openvpn[30076]: TUN/TAP device ovpns1 exists previously, keep at program end
openvpn[30076]: TUN/TAP device /dev/tun1 opened
openvpn[30076]: do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=0
openvpn[30076]: /sbin/ifconfig ovpns1 10.0.8.1 10.0.8.2 mtu 1500 netmask 255.255.255.255 up
openvpn[30076]: /usr/local/sbin/ovpn-linkup ovpns1 1500 1557 10.0.8.1 10.0.8.2 init
openvpn[30076]: UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx:1194
openvpn[30076]: UDPv4 link remote: [undef]
openvpn[30076]: Initialization Sequence Completed -
Проблема решена. Оказывается провайдер заблокировал
-
Проблема решена. Оказывается провайдер заблокировал
Вешайте openvpn на стандартный порт типа 80 tcp ,443 tcp, 53 tcp\udp
-
Проблема решена. Оказывается провайдер заблокировал
Страницей назад вас спрашивал:
Пинг\трейс между филиалом и офисом по внешним IP ходят? Не блокирует ли провайдер порт, который слушает сервер?
Вы отвечаете:
Порты провайдер не блокирует.
-
Я звонил в техподдержку, они ответили, что ничего не блокируют, а когда я им написал на support, то все сразу же решилось.
-
Уважаемые эксперты!
Подскажите, пожалуйста, что нужно сделать, чтобы подключить второй филиал?
Соединение есть, второй клиент подключается, но ping не идет. Вероятно, что-то с маршрутами.
Пробовал экспериментировать с маршрутами, но ничего не вышло. Кто знает, что нужно сделать?Заранее благодарен
-
Уважаемые эксперты!
Подскажите, пожалуйста, что нужно сделать, чтобы подключить второй филиал?
Соединение есть, второй клиент подключается, но ping не идет. Вероятно, что-то с маршрутами.
Пробовал экспериментировать с маршрутами, но ничего не вышло. Кто знает, что нужно сделать?Заранее благодарен
По идее
достаточно добавить route a.b.с.d 255.255.255.0 в Advanced configuration или, что то же самое - a.b.с.d/24 в IPv4 Local Network/s в настройках каждого сервера.
a.b.с.d 255.255.255.0 - сеть за "дружественным" OVPN-сервером.
и
iroute c.d.f.e 255.255.255 или или, что то же самое - c.d.f.e/24 в IPv4 Remote Network/s для передачи серверу маршрута в сеть за клиентом, это, предпложу, у вас для работющей пары клиент-сервер уже настроено.
Для передачи клиенту маршрута в сеть за другим сервером - push "route … или, что то же самое - добавляем сеть в IPv4 Local Network/s
Это делается в Client Specific OverridesРуками никакие маршруты в System: Static Routes добавлять не следует, так же, как добавлять не следует явные OVPN-интерфейсы в меню Interfaces: Assign.
-
pigbrother, спасибо Вам огромное за помощь. Пожалуйста, помогите еще решить один вопрос.
На pfsense 1 (сервер openvpn) убрал из remote network адрес 192.168.5.0, а в advanced добавил два адреса:
route 192.168.5.0 255.255.255.0; route 192.168.10.0 255.255.255.0Теперь из главного офиса вижу сеть 192.168.5.0 и 192.168.10.0 и они видят офисную сеть 192.168.1.0, но как сделать так, чтобы сети 192.168.5.0 и 192.168.10.0 видели друг друга?
В client specific overrides добавлял push route, но что-то не получилось, может не так что делаю?
-
1.На LAN интерфейсах pfSense есть ли правило(а)
IPv4 * LAN net * 192.168.х.0/24 * * none
192.168.х.0/24 - удаленные сети за другими pfSense
2. pfSense - шлюз по умолчанию?
3. Брандмауэр Windows блокирует все пакеты из чужих сетей -
1. Правило везде есть
2. если вы имеете ввиду в general setup use gateway, то везде установлено none
3. Брандмауэр отключен.p.s. также пробовал пинговать с самого pfsense. Получается следующее: с pfsense 1 пингуется и pfsense 2 и pfsense 3. А вот с pfsense 2 пингуется только первый, также и с pfsense 3 пингуется только pfsense 1. Я думаю дело в маршруте
-
если вы имеете ввиду в general setup use gateway, то везде установлено none
Нет, я имел в виду pfSense - шлюз для всех компьютеров своей сети.
Не знаю причину у вас - у меня все сети за OVPN видят друг друга без дополнительных усилий,
route на всех серверах в дружественные сети
iroute и push route в client specific overridesдостаточно, клиенты - либо Микротик, либо одиночные пользователи на разных платформах.
-
pigbrother, если не трудно, можно подробнее объяснить. Возможно, я что-то делаю не так.
Сервер OVPN - сеть 192.168.1.0
Клиент 1 - сеть 192.168.5.0
Клиент 2 - сеть 192.168.10.0Если не затруднит, можно поподробнее описать настройки сервера и client specific override. Я имею ввиду поля advanced и где route, iroute и push route
Заранее благодарен
-
pigbrother, если не трудно, можно подробнее объяснить. Возможно, я что-то делаю не так.
Сервер OVPN - сеть 192.168.1.0
Клиент 1 - сеть 192.168.5.0
Клиент 2 - сеть 192.168.10.0Если не затруднит, можно поподробнее описать настройки сервера и client specific override. Я имею ввиду поля advanced и где route, iroute и push route
Заранее благодарен
Мы в ответе за тех, кого мы экзюпери (С)
Ситуация приблизилась к состоянию, когда легче сделать самому, чем найти, в чем ошибка.
Из любви к Open VPN.Создание сертификатов, настройку туннелей опускаем. Предполагаем, что подсети офиса, филиалов, туннелей не пересекаются. Будем использовать, в основном, поля advanced, хотя с 2.2.х стало возможным оперировать полями IPv4 Local Network/s и IPv4 Remote Network/s в настройках сервера и в client specific override.
Сервер:
IPv4 Local Network/s - 192.168.1.0/24
Advanced - route 192.168.5.0 255.255.255.0;route 192.168.10.0 255.255.255.0;Firewall:
LAN:
IPv4 * LAN net * 192.168.5.0/24 * * none
IPv4 * LAN net * 192.168.10.0/24 * * noneclient specific overrides
Common name=client1:
iroute 192.168.5.0 255.255.255.0;push route "192.168.10.0 255.255.255.0";Common name=client2:
iroute 192.168.10.0 255.255.255.0;push route "192.168.5.0 255.255.255.0";
–-----------------------------------------------------------------------------------------------На pfSense филиалов правила на LAN, аналогичные приведенным для сервера.
На всех pfSense
Firewall: Rules:OpenVPN
IPv4 * * * * * * none -
pigbrother, огромное тебе человеческое спасибо дружище.
Все заработало по твоей инструкции.))) :) -
Поделитесь, что было неправильно\не сделано?
-
Поделитесь, что было неправильно\не сделано?
Не правильно указывал маршрут. Нужно было быть внимательнее.
-
Уважаемый pigbrother!
Подскажите, пожалуйста, а чтобы еще и клиенты windows подключившись к офису могли видеть помимо офиса и два филиала, какие маршруты нужно прописать?
Я в client specific override прописывал push, но не помогло, а также еще и iroute прописывал, но тоже без толку. А iroute я так понимаю, что не надо прописывать, т.к. нет сети за клиентом.Заранее благодарен
-
Да, для "одиночных" клиентов iroute вам не нужен.
Для начала - для клиентов windows используется тот же экземпляр OVPN-сервера, что и для подключения филиалов?
В моем случае используется 2 экземпляра, один для site-to-site (филиалов), второй - для клиентских подключений.Для роутинга "одиночных" клиентов в сети филиалов достаточно в client specific override в поле IPv4 Local Network/s указать сети филиалов в виде
х.0.3.0/24,х.0.4.0/24Того же результата можно добиться добавив через запятую х.0.3.0/24,х.0.4.0/24 в поле IPv4 Local Network/s настроек сервера, тогда эти маршруты будут добавляться всем клиентам без необходимости использовать client specific overrides
-
Да, для "одиночных" клиентов iroute вам не нужен.
Для начала - для клиентов windows используется тот же экземпляр OVPN-сервера, что и для подключения филиалов?
В моем случае используется 2 экземпляра, один для site-to-site (филиалов), второй - для клиентских подключений.Для роутинга "одиночных" клиентов в сети филиалов достаточно в client specific override в поле IPv4 Local Network/s указать сети филиалов в виде
х.0.3.0/24,х.0.4.0/24Того же результата можно добиться добавив через запятую х.0.3.0/24,х.0.4.0/24 в поле IPv4 Local Network/s настроек сервера, тогда эти маршруты будут добавляться всем клиентам без необходимости использовать client specific overrides
Экземпляр сервера тот же, что и для подключения филиалов.
А как лучше? Вы советуете сделать еще один экземпляр сервера?Прописал в client specific override, но не помогло. В поле настроек сервера пока не прописывал, поэтому не знаю сработало бы или нет, но не и хотелось бы, т.к. не всем нужно видеть все сети.
-
Второй сервер (remote access) для клиентов хоть и не обязателен, но позволяет гибче управлять доступом\маршрутами.
Добавляемые маршруты push route должны быть видны либо в конфиге сервера(ов):/var/etc/openvpn
serverN.confлибо в
/var/etc/openvpn-csc
имена файлов равны common name клиентов.Клиента OVPN GUI запускаете с правами администратора? Что говорит лог клиента о получении маршрута? Добавьте verb в конфиг клиента.
- 8 months later
-
утро доброе
Настроил канал согласно инструкции, сам канал поднимается, но подсети друг друга не видят, пр попытке трассировки всё валиться на первом шаге, то есть первая точка адрес tunnel network, далее пусто.
Фаерволы на обоих системах отключал, результат тот же. Не подскажете куда рыть?upd. Сам шлюз сервера видеться, пингуется, но компьютеры за этим шлюзом не видны,то есть проблема маршрутов, но куда ещё их прописать это вопрос.
-
Про правила на LAN не забыли?
https://forum.pfsense.org/index.php?topic=59081.msg606332#msg606332
-
Нет, всё прописал.
получается сервер 4.31 за ним клиенты
клиент 51.1 за ним клиенты
с стороны сервера клиенты 51.1-255 видны
с стороны клиента из подсети 51.1 виден только сетевой интерфейс 4.31
правила на обеих сторонах под опенвпн
States Protocol Source Port Destination Port Gateway Queue Schedule Description Actions
0/58 KiB
IPv4 * * * * * * none
уже на стороне сервера написал принимать все соединения из подсети шлюзов 10.0.8.0/24
и принимать все что приходит с сетевого интерфейса на подсеть 4.0/22 это подсеть сервера
видимо где то затык в маршрутизации, подскажите где глянуть -
В принципе по приведенной ссылке инструкция, по которой все реально должно работать.
видимо где то затык в маршрутизации, подскажите где глянуть
Diagnostics/Routes
-
Доброе.
1. Шлюзами на обоих концах должны быть пф. Проверить.
2. Откл. временно антивирусы, fw на обоих концах . В том числе и встроен. в Вин.
3. Исп. волшебн. команду traceroute с обоих конфцов для поиска затыка. -
Доброе.
1. Шлюзами на обоих концах должны быть пф. Проверить.
2. Откл. временно антивирусы, fw на обоих концах . В том числе и встроен. в Вин.
3. Исп. волшебн. команду traceroute с обоих конфцов для поиска затыка.1. и да и нет, основную маршрутизацию выполняет другая железка, но мне кажется это не отменяет что pf должен выпускать в lan
2. уже делал не помогло
3. traceroute сделал сразу же, если роутить внутренний ресурс на серверной части сети то останавливается на виртуально ip адресе тунельного шлюза. Если посмотреть маршрут до 4,31 который и является серверной частью, то он вообще маршрут заканчивает на первом шлюзе, при этом сам 4,31 пингуется.В принципе по приведенной ссылке инструкция, по которой все реально должно работать.
Diagnostics/Routes10.0.8.0/24 10.0.8.1 UGS 0 1500 ovpns1
10.194.51.0/24 10.0.8.2 UGS 27 1500 ovpns1
10.0.8.2 link#7 UH 0 1500 ovpns1
все три маршрута верны в общем то
Первый это тунельный дипазон
второй подсеть клиента
третий сами понимаете. -
Скрины :
1. Certificates (сервер)
2. Правил fw на LAN.
3. Настройка vpn на сервере\клиенте.
3.1. Настройка Client specific overrides на vpn-сервере
4. Настройка NAT сервер\клиент.основную маршрутизацию выполняет другая железка
Зайдите на эту железку. Видна ли проблемная сеть с нее ?
-
Скрины :
1. Certificates (сервер)
2. Правил fw на LAN.
3. Настройка vpn на сервере\клиенте.
3.1. Настройка Client specific overrides на vpn-сервере
4. Настройка NAT сервер\клиент.основную маршрутизацию выполняет другая железка
Зайдите на эту железку. Видна ли проблемная сеть с нее ?
Проблема в том, что с стороны сервера я клиента и его подсеть вижу, а вот обратно не работает.
То есть с стороны клиента виден только интерфейс lan pf сервера.По изборажениям сейчас выложу, но мне кажется оно не поможет.
NAT везде включён на Automatic outbound NAT rule generation.
(IPsec passthrough included)На клиенте только адресь шлюза прописан и тунельная подсеть. Насколько я понял он должен по сертификату всё взять с сервера.
-
Скрин правил fw на клиенте не увидел. Или проглядел ?
У вас несколько LAN на сервере ? Или это в правилах fw на LAN сервера "каша" ?
Схему с адресацией , если можно, приложите.
Золотое правило:
В правилах fw на интерфейсах в src указываются только те сети, к-ые живут на этих интерфейсах.
Ни WAN, ни ВПН-сети в src на LAN в fw там не указываются (и наоборот).То есть с стороны клиента виден только интерфейс lan pf сервера.
Может все же виден ip впн-интерфейса пф, а не LAN ?