PfSense OpenVPN Server + Linux-client
-
werter, я проверил ваши предложения, но результат был тот же.
Comonn name верный, сертификаты не "заглушены", я лишь сделал заготовку, чтобы потом можно были их туда вписывать, там сейчас закрытых сертификатов нуль, но я для пробы поставил NONE, в любом случае ничего не изменилось.
Пока читал разные источники наткнулся на эту страницу https://doc.pfsense.org/index.php/Why_won't_OpenVPN_push_routes
Поэтому решил вернуться опять к варианту когда за работу мобильных клиентов будет отвечать opnevpn server - REMOTE ACCESS SSL|TLS, а для соединения двух и более локальных сетей (для чего я и затеял весь этот сыр бор) будет отвечать другой openvpn server - Peer to peer, только уже настроил его по варианту SSL|TSL, а не Shared key как было ранее.
В итоге есть двухсторонняя связь между главной и удаленной сетью, - УРА.
В перспективе я подключу еще одну удаленную сеть по такому же принципу и постараюсь обеспечить связь каждой сети с каждой не зависимо от каждой.
Сейчас же идем дальше, подключаю мобильного клиента, в конкретном случае планшет, имеем полный доступ в главную сеть, но нет доступа в удаленную, не роутит PFSENSE из одного Openvpn сервер в другой…
Добавил таблицу маршрутов которая сейчас сформировалась на pfsense, также лог сервера OVPNS при подключении к нему планшет:
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 SENT CONTROL [16_VPN_C2]: 'PUSH_REPLY,route 192.168.1.0 255.255.255.0,route 192.168.12.0 255.255.255.0,route 192.168.87.0 255.255.255.0,ifconfig 10.0.0.6 10.0.0.5' (status=1)
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 send_push_reply(): safe_cap=940
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 PUSH: Received control message: 'PUSH_REQUEST'
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 MULTI: primary virtual IP for 16_VPN_C2/217.118.78.123:39394: 10.0.0.6
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 MULTI: Learn: 10.0.0.6 -> 16_VPN_C2/217.118.78.123:39394
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 MULTI_sva: pool returned IPv4=10.0.0.6, IPv6=(Not enabled)
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 OPTIONS IMPORT: reading client specific options from: /var/etc/openvpn-csc/16_VPN_C2
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 [16_VPN_C2] Peer Connection Initiated with [AF_INET]217.118.78.123:39394
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY OK: depth=0, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_VPN_C2
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY SCRIPT OK: depth=0, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_VPN_C2
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY OK: depth=1, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_CA
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY SCRIPT OK: depth=1, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_CA
Mar 13 01:20:13 openvpn[69378]: 217.118.78.123:39394 TLS: Initial packet from [AF_INET]217.118.78.123:39394, sid=1f71d622 811fd4e0
Mar 13 01:19:37 openvpn[69378]: 16_VPN_C2/217.118.78.123:39389 SIGTERM[soft,remote-exit] received, client-instance exitingВ его настройках Client Specific Overrides - common names - 16_VPN_C2 указал в разделе IPv4 Local Network/s все три сети к которым хочу обеспечить доступ, в итоге в сети: 192.168.1.0/24 и 192.168.12.0/24 доступ есть, а вот в удаленную есть нет.
В настройках его сервера ничего не менял, кроме того, что вы советовали, на всякий случае его тоже выкладываю.![Routing tables PFSENSE TWO ovpnserver.JPG](/public/imported_attachments/1/Routing tables PFSENSE TWO ovpnserver.JPG)
![Routing tables PFSENSE TWO ovpnserver.JPG_thumb](/public/imported_attachments/1/Routing tables PFSENSE TWO ovpnserver.JPG_thumb)
![ovpn server remote access2.JPG](/public/imported_attachments/1/ovpn server remote access2.JPG)
![ovpn server remote access2.JPG_thumb](/public/imported_attachments/1/ovpn server remote access2.JPG_thumb) -
Сейчас же идем дальше, подключаю мобильного клиента, в конкретном случае планшет, имеем полный доступ в главную сеть, но нет доступа в удаленную, не роутит PFSENSE из одного Openvpn сервер в другой…
А вы не по ви-фи ли его внутри локал. сети подключаете ?
Необходимо подкл. только извне. Это важно. Используйте 3g\4g подключение.Пока читал разные источники наткнулся на эту страницу https://doc.pfsense.org/index.php/Why_won't_OpenVPN_push_routes
А вот за это - мерсИ.
-
Routes cannot be pushed on a shared key setup or an SSL/TLS setup using a /30 tunnel network
Имеется в виду что route push не будет работать если используется net30, а не subnet?
Тогда почему данная связка работает у меня? Может потому, что первоначально OVPN настраивался на 2.0.х?
-
2 Tano
Может я проглядел, но схемы с адресацией не увидел. Рисуйте.
-
Сейчас же идем дальше, подключаю мобильного клиента, в конкретном случае планшет, имеем полный доступ в главную сеть, но нет доступа в удаленную, не роутит PFSENSE из одного Openvpn сервер в другой…
А вы не по ви-фи ли его внутри локал. сети подключаете ?
Необходимо подкл. только извне. Это важно. Используйте 3g\4g подключение.Пока читал разные источники наткнулся на эту страницу https://doc.pfsense.org/index.php/Why_won't_OpenVPN_push_routes
А вот за это - мерсИ.
Нет конечно, вайфай выключаю, плншет подключается по 3G, то же самое делал с тестовой машиной, которая подключалась по vpn.
-
Routes cannot be pushed on a shared key setup or an SSL/TLS setup using a /30 tunnel network
Имеется в виду что route push не будет работать если используется net30, а не subnet?
Тогда почему данная связка работает у меня? Может потому, что первоначально OVPN настраивался на 2.0.х?
У меня сейчас pfsense 2.2.6, поскольку все развернуто на ESXI после выхода релиза 2.3 разверну еще одну виртуальную машину и попробую настроить все с нуля, на чистую версию, если будет что то иначе чем сейчас, руками перенесу все настройки, не чем сохранение конфигурации.
-
2 Tano
Может я проглядел, но схемы с адресацией не увидел. Рисуйте.
Вот схема она практически такая же как и на инструкции которую взял за основу настройки https://forum.pfsense.org/index.php?topic=99694.0
-
Укажите на схеме между какими сетями\клиентами проблемы.
-
Сейчас же идем дальше, подключаю мобильного клиента, в конкретном случае планшет, имеем полный доступ в главную сеть, но нет доступа в удаленную, не роутит PFSENSE из одного Openvpn сервер в другой…
Покажите пожалуйста таблицу маршрутизации у мобильного клиента при подключении по впн (на картинке это ноут), один из важных моментов в понимании проблемы, чтоб понять в какую сторону думать - настройки впн-сервера или роутинг на пф
-
Укажите на схеме между какими сетями\клиентами проблемы.
Сеть 192.168.1.0/24 главная сеть, тут на входе стоит Pfsense и всем рулит.
Сеть 192.168.87.0/24 удаленная сеть, там на входе стоит Neatgear 3500L с последней прошивкой Tomato shybbi v133
Между этими сетями поднимается OPENVPN канал - 192.168.99.0/24 Peer to Peer SSL/TLS
Между сетями есть полный двух сторонний обмен данными.
В перспективе будет еще одна аналогичная удаленная сеть, с таким же оборудованием - в моем случае это будет дача, где разворачивается умный дом и система видео наблюдения.
Есть мобильные клиенты, планшет, смартфоны или ноуты, которые должны попадать в любую из сетей, как в главную так и в удаленные. Сейчас мобильный клиент подключен через openvpn remote access ssl/tls, туннель - 10.0.0.0/24 и имеет доступ в главную сеть, но нет доступа в удаленную.
Попробовал это нарисовать стрелками.
-
Покажите пожалуйста таблицу маршрутизации у мобильного клиента при подключении по впн (на картинке это ноут)
+1
route print в ком. строкеНа этом ноуте устанавливайте и запускайте Openpvn от имени Адм-ра, т.е. прав. кн. мыши "Запустить от имени Адм-ра"
Дистрибутив качать с родного сайта. Он там самый свежий.И еще. Если у вас ОС х64 - попробуйте исп. х32 openvpn-клиент.
-
Вот свежие данные: Клиент ноутбук сони, подключен через вайфай к телефону который раздает инет.
Вот лог подключения этого клиента:
Sun Mar 13 20:36:45 2016 OpenVPN 2.3.10 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on Feb 1 2016
Sun Mar 13 20:36:45 2016 Windows version 6.2 (Windows 8 or greater)
Sun Mar 13 20:36:45 2016 library versions: OpenSSL 1.0.1r 28 Jan 2016, LZO 2.09
Enter Management Password:
Sun Mar 13 20:36:45 2016 Control Channel Authentication: tls-auth using INLINE static key file
Sun Mar 13 20:36:45 2016 UDPv4 link local (bound): [undef]
Sun Mar 13 20:36:45 2016 UDPv4 link remote: [AF_INET]ххх.ххх.ххх.ххх199
Sun Mar 13 20:36:46 2016 [16_VPN_S] Peer Connection Initiated with [AF_INET]ххх.ххх.ххх.ххх:1199
Sun Mar 13 20:36:48 2016 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sun Mar 13 20:36:48 2016 open_tun, tt->ipv6=0
Sun Mar 13 20:36:48 2016 TAP-WIN32 device [Ethernet 2] opened: \.\Global{DAEA41DA-4D2C-46D8-9CF7-73E9ACDAF1B2}.tap
Sun Mar 13 20:36:48 2016 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.0.0.10/255.255.255.252 on interface {DAEA41DA-4D2C-46D8-9CF7-73E9ACDAF1B2} [DHCP-serv: 10.0.0.9, lease-time: 31536000]
Sun Mar 13 20:36:48 2016 Successful ARP Flush on interface [30] {DAEA41DA-4D2C-46D8-9CF7-73E9ACDAF1B2}
Sun Mar 13 20:36:53 2016 Initialization Sequence CompletedЧуть ниже скрины tracert на машину в удаленной сети (это принтер он точно в сети и из главной сети на пинги отвечает) и route print после поднятия ovpn канала.
OVPN клиент на ноуте запущет от имени администратора, сам пользователь то же администратор.
Клиент последний не давно скачан с оф. сайта.
Версия на мой взгляд значение не имеет, поскольку такая же проблема на планшете.
Так же выкладываю текущую конфигурацию Client Specific Overrides этого клиента-16_VPN_C3![Route print client_sony.PNG](/public/imported_attachments/1/Route print client_sony.PNG)
![Route print client_sony.PNG_thumb](/public/imported_attachments/1/Route print client_sony.PNG_thumb)
![Tracert from client to 87net.PNG](/public/imported_attachments/1/Tracert from client to 87net.PNG)
![Tracert from client to 87net.PNG_thumb](/public/imported_attachments/1/Tracert from client to 87net.PNG_thumb)
-
Имеем pfSense, на нём OpenVPN сервер (Remote Access TLS/SSL). Имеем клиента на CentOS, он подключен к серверу (tun0-интерфейс) всё ок, пингует, видит. А вот машинки за этим шлюзом на CentOS не видят и не пингуют "серверную" сетку, хотя вроде все правила не запрещают это. Куда копать? Читал, что вроде как нужно уйти с "tun" на "tap", если это шлюз, за которым будут "жить" клиенты, так ли это?
P.S. почему-то на "tap'ax" не работает туннель, т.е. он устанавливается, но пинги не ходят…
Маршруты на клиентском CentOS (шлюзе)[root@server log]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface inet_ip 0.0.0.0 255.255.255.252 U 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 192.168.0.0 10.10.10.1 255.255.240.0 UG 0 0 0 tun0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth3 0.0.0.0 inet_gateway 0.0.0.0 UG 0 0 0 eth0
Т.е. исходя из этого видно, что сервер "знает" о туннельной сети 192.168.0.0/20 и видит/пингует её, всё ок.
Вот маршруты клиента на Win 7 за этим CentOS сервером:
C:\Users\ПК>route print =========================================================================== Список интерфейсов 11...bc 5f f4 60 70 e7 ......Realtek PCIe GBE Family Controller 1...........................Software Loopback Interface 1 12...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface =========================================================================== IPv4 таблица маршрута =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.82 10 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 192.168.100.0 255.255.255.0 On-link 192.168.100.82 266 192.168.100.82 255.255.255.255 On-link 192.168.100.82 266 192.168.100.255 255.255.255.255 On-link 192.168.100.82 266 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 192.168.100.82 266 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.100.82 266 =========================================================================== Постоянные маршруты: Отсутствует IPv6 таблица маршрута =========================================================================== Активные маршруты: Метрика Сетевой адрес Шлюз 1 306 ::1/128 On-link 11 266 fe80::/64 On-link 11 266 fe80::959a:37c9:fa8a:3744/128 On-link 1 306 ff00::/8 On-link 11 266 ff00::/8 On-link =========================================================================== Постоянные маршруты: Отсутствует C:\Users\ПК>
И при пинге с клиента хоста за туннелем, например
C:\Users\ПК>ping 192.168.1.58 Обмен пакетами с 192.168.1.58 по с 32 байтами данных: Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса.
Видим фигу, в то время, как с самого клиентского CentOS'a:
[root@server log]# ping 192.168.1.58 PING 192.168.1.58 (192.168.1.58) 56(84) bytes of data. 64 bytes from 192.168.1.58: icmp_seq=1 ttl=127 time=73.0 ms 64 bytes from 192.168.1.58: icmp_seq=2 ttl=127 time=72.8 ms 64 bytes from 192.168.1.58: icmp_seq=3 ttl=127 time=73.1 ms 64 bytes from 192.168.1.58: icmp_seq=4 ttl=127 time=75.2 ms
Где затык?
-
Добрый день!
Вот свежие данные: Клиент ноутбук сони, подключен через вайфай к телефону который раздает инет.
Если чесно, я не пользуюсь OpenVPN Client specific overrides.
Для експеримента попробуйте удалить всех юзеров из OpenVPN Client specific overrides, заново экспортировать настройки для подключения и проверить.
(Сначало сделать, чтоб нормально любой клиент мог достучаться в удаленную сеть при подключении по ВПН, а уже потом для каждого клиента определять настройки.)
ВВиду того, что https://doc.pfsense.org/index.php/OpenVPN_multi_purpose_single_server#OpenVPN_Client_specific_overridesМаршруты из вашего ноута правильные, т.е. конфигурация OpenVPN-сервера для мобильных клиентов правильная. Теперь вопрос настроек и конфигов ПФсенсы.
Покажите еще правила фаервола на LAN, OpenVPN, а также Firewall: NAT: Outbound -
2 Tano
Версия на мой взгляд значение не имеет, поскольку такая же проблема на планшете.
О, еще как имеет.
Так же выкладываю текущую конфигурацию Client Specific Overrides этого клиента-16_VPN_C3
Если вашим машинам за сервером (к-ые в сети 192.168.1.0/24) не нужен доступ в сеть за этим Win-клиентом, то Client Specific Overrides
не нужно.
И еще, чтобы дать доступ за win-клиент нужно некоторое шаманство - https://community.openvpn.net/openvpn/wiki/NatOverWindows20081. Enabling IP forwarding Press Windows+R and type:
regedit.exeNow navigate to the:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parametersand set
IpEnableRouterto 1
И перезагрузить клиента.
-
И еще, чтобы дать доступ за win-клиент нужно некоторое шаманство
Верно подмечено!!!!!!
-
tap или tun? Если Site-to-Site?
-
Добрый день!
Вот свежие данные: Клиент ноутбук сони, подключен через вайфай к телефону который раздает инет.
Если чесно, я не пользуюсь OpenVPN Client specific overrides.
Для експеримента попробуйте удалить всех юзеров из OpenVPN Client specific overrides, заново экспортировать настройки для подключения и проверить.
(Сначало сделать, чтоб нормально любой клиент мог достучаться в удаленную сеть при подключении по ВПН, а уже потом для каждого клиента определять настройки.)
ВВиду того, что https://doc.pfsense.org/index.php/OpenVPN_multi_purpose_single_server#OpenVPN_Client_specific_overridesМаршруты из вашего ноута правильные, т.е. конфигурация OpenVPN-сервера для мобильных клиентов правильная. Теперь вопрос настроек и конфигов ПФсенсы.
Покажите еще правила фаервола на LAN, OpenVPN, а также Firewall: NAT: OutboundЕсли для клиента не использовать OpenVPN Client specific overrides то как я передам клиенту информацию об удаленной сети, в этом случае клиент получит доступ только в главную сеть, который по сути сейчас и имеет, но у него не появится маршрут в удаленную сеть.
Поэтому в моём случае думаю Client specific overrides придется использовать.
Или на сервере можно прописать удаленную сеть??? как локальную сеть? это будет верно?Настройки фаервола на LAN, OpenVPN, а также Firewall: NAT: Outbound я выложил в самом начале обсуждения вопроса.
-
Или на сервере можно прописать удаленную сеть??? как локальную сеть? это будет верно?
В настроках openvpn сервера для мобильных клиентов (см скрин):
В разделе Tunnel Settings -> IPv4 Local Network/s допишите через запятую в какие сети хотите предоставить доступ аля: 192.168.1.0/24,192.168.12.0/24,192.168.87.0/24. Пускай openvpn сервер сам определяет маршрутизацию.
Для експеримента попробуйте удалить всех юзеров из OpenVPN Client specific overrides, заново экспортировать настройки для подключения и проверить.В данном случае все клиенты, которые будут подключаться к openvpn для мобильных клиентов будт иметь одинаковые настройки, это имеет смысл для правильной настройки, когда все получиться, тогда делать для каждого клиента OpenVPN Client specific overrides - тем самым нарезая доступы как нравиться.
![Remote Access (SSL_TLS)2.jpg](/public/imported_attachments/1/Remote Access (SSL_TLS)2.jpg)
![Remote Access (SSL_TLS)2.jpg_thumb](/public/imported_attachments/1/Remote Access (SSL_TLS)2.jpg_thumb) -
Если для клиента не использовать OpenVPN Client specific overrides то как я передам клиенту информацию об удаленной сети, в этом случае клиент получит доступ только в главную сеть, который по сути сейчас и имеет, но у него не появится маршрут в удаленную сеть.
Вы ошибаетесь. Client specific overrides исп-ся для сети за сервером для доступа к сети за клиентом.
Для доступа к сети за сервером клиенту сервером отдаются марш-ты директивой push route …..;