OpenVPN PKI: Site-to-Site инструкция для обсуждения
-
Уважаемый 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? Так что, пусть каждый занимается своим делом.
-
Помогите пожалуйста.. настраивал OpenVPN по этой инструкции … с подводными камнями разобрался и все работало (есть мои посты выше)
Уже подключено с 10 клиентов и все работает.... версия 2.1.3-RELEASE (i386)Сейчас подключается еще 1 клиент.... все настроено как и раньше единственное отличие это новая версия pfSense 2.2.2-RELEASE (i386)
Никак не могу понять что он хочет?... почему реконект?Лог клиента pfSense 2.2.2-RELEASE (i386)
Apr 20 09:18:57 openvpn[96982]: Restart pause, 5 second(s) Apr 20 09:19:02 openvpn[96982]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Apr 20 09:19:02 openvpn[96982]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts Apr 20 09:19:02 openvpn[96982]: Socket Buffers: R=[65228->65536] S=[65228->65536] Apr 20 09:19:02 openvpn[96982]: Attempting to establish TCP connection with [AF_INET]203.169.76.29:1194 [nonblock] Apr 20 09:19:03 openvpn[96982]: TCP connection established with [AF_INET]203.169.76.29:1194 Apr 20 09:19:03 openvpn[96982]: TCPv4_CLIENT link local (bound): [AF_INET]10.85.110.7 Apr 20 09:19:03 openvpn[96982]: TCPv4_CLIENT link remote: [AF_INET]203.169.76.29:1194 Apr 20 09:19:03 openvpn[96982]: TLS: Initial packet from [AF_INET]203.169.76.29:1194, sid=9fd8d700 66b332bc Apr 20 09:19:03 openvpn[96982]: VERIFY OK: depth=1, C=UA, ST=Kyivskaya, L=Kyiv, O=Gidroenergoinvest, emailAddress=itgdr@gmail.com, CN=internal-vpn2-ca Apr 20 09:19:04 openvpn[96982]: VERIFY OK: depth=0, C=UA, ST=Kyivskaya, L=Kyiv, O=Gidroenergoinvest, emailAddress=itgdr@gmail.com, CN=gei.com Apr 20 09:19:05 openvpn[96982]: Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key Apr 20 09:19:05 openvpn[96982]: Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Apr 20 09:19:05 openvpn[96982]: Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key Apr 20 09:19:05 openvpn[96982]: Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Apr 20 09:19:05 openvpn[96982]: Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA Apr 20 09:19:05 openvpn[96982]: [gei.com] Peer Connection Initiated with [AF_INET]203.169.76.29:1194 Apr 20 09:19:07 openvpn[96982]: SENT CONTROL [gei.com]: 'PUSH_REQUEST' (status=1) Apr 20 09:19:07 openvpn[96982]: PUSH: Received control message: 'PUSH_REPLY,route 172.21.0.0 255.255.255.0,route 172.21.0.0 255.255.255.0 172.10.0.1,route-gateway 172.10.0.1,topology subnet,ping 10,ping-restart 60,ifconfig 172.10.0.3 255.255.255.0' Apr 20 09:19:07 openvpn[96982]: OPTIONS IMPORT: timers and/or timeouts modified Apr 20 09:19:07 openvpn[96982]: OPTIONS IMPORT: --ifconfig/up options modified Apr 20 09:19:07 openvpn[96982]: OPTIONS IMPORT: route options modified Apr 20 09:19:07 openvpn[96982]: OPTIONS IMPORT: route-related options modified Apr 20 09:19:07 openvpn[96982]: Preserving previous TUN/TAP instance: ovpnc1 Apr 20 09:19:07 openvpn[96982]: Initialization Sequence Completed Apr 20 09:19:12 openvpn[96982]: Connection reset, restarting [0] Apr 20 09:19:12 openvpn[96982]: SIGUSR1[soft,connection-reset] received, process restarting Apr 20 09:19:12 openvpn[96982]: Restart pause, 5 second(s)
Лог с сервера pfSense 2.1.3-RELEASE (i386)
Apr 20 09:19:00 openvpn[38122]: ktsvo.com/186.105.212.244:9355 send_push_reply(): safe_cap=940 Apr 20 09:19:02 openvpn[38122]: TCP connection established with [AF_INET]105.134.224.202:8627 Apr 20 09:19:05 openvpn[38122]: 105.134.224.202:8627 [ ktsvo.com] Peer Connection Initiated with [AF_INET]105.134.224.202:8627 Apr 20 09:19:05 openvpn[38122]: MULTI_sva: pool returned IPv4=172.10.0.3, IPv6=(Not enabled)
-
Эти директивы есть в конфиг. файле клиента ?
keepalive 5 10
ping-timer-rem
persist-tun
persist-keyhttp://tuxnotes.ru/note/1
-
ээээмм…. не знаю.... а где это указывается?.... в Advanced configuration чисто… на сервере только iroute указан в Client Specific Override….
-
Эти директивы есть в конфиг. файле клиента ?
Прочтите еще раз внимательнее где
-
Странная проблема, не могу осилить правила файрволла на pfSense 2.2.1 (x64)
Есть сервер с OpenVPN PKI, есть один удаленный клиент, сеть сервера 192.168.0.0/22, клиента 192.168.20.0/24
Все работает, но с компов за клиентом не пингуется ничего кроме самого сервера (и не только не пингуется, ничего не идет). Если на клиенте отключить файрволл, пинги идут, но это не вариант (клиент торчит во внешку).
в LAN на клиенте есть правила - IPv4 * * * * * * none any to any
в OpenVPN - IPv4 * * * * * * none any to any
Просмотр логов firewall не показывает где идет блокировка (например, пингую с компа из сети клиента свой комп, а ICMP в логах не вижу совсем).
Куда копать? Дело явно в файрволле, т.к. если поставить галку Disable all packet filtering на клиенте - все работает.Добавление правил вида IPv4 * LAN net * 192.168.0.0/22 * * none до правила any to any ситуацию не меняет.
-
2 xl
В кач-ве клиента тоже pfsense ?Директиву iroute в настройках сервера (Client Specific Overrides) с правильным указанием Сommon name Вы для себя уже открыли ?
iroute 192.168.20.0 255.255.255.0;
В настройках сервера есть ли директивы ?
_route 192.168.20.0 255.255.255.0;
push "route 192.168.0.0 255.255.252.0";_
Есть сервер с OpenVPN PKI, есть один удаленный клиент, сеть сервера 192.168.0.0/22, клиента 192.168.20.0/24
IPv4 * LAN net * 192.168.0.0/22 * * none до правила any to any ситуацию не меняет.
Должно быть и на сервере и на клиенте (и в первых рядах правил fw):
IPv4 * LAN net * 192.168.0.0/22 * * none - на клиенте
IPv4 * LAN net * 192.168.20.0/24 * * none - на сервере
P.s. Не хочу показаться
мучудаком и кого-то учить уму разуму, но люди , если Вы уж взялись быть сисадминами, то
вспоминайте элементарные вещи. Я про замечательную команду traceroute \ tracert пытаюсь донести. Она отлично покажет Вам на каком этапе в цепочке прохождения пакетов от точки А до точки Б затык. Пользуйтесь ею! -
Конечно все это сделано, я же написал, если отключить файрволл, то всё во все стороны ходит.
Но, дело было не в файрволле. При отключении файрволла там есть такое:
Disable all packet filtering.
Note: This converts pfSense into a routing only platform!
Note: This will also turn off NAT!
Вот как раз отключение Outbound NAT, в котором криво создались правила, и помогало. Судя по всему какой-то баг в новой версии, переключение режимов из Automatic в Manual и обратно спасло ситуацию.
И кстати, трейс доходил до 10.0.8.1 (что вроде как сервер), а помогало отключение NAT и файрволла на клиенте. Вот чем тут мне трейсроут помог? :) -
Покажите правила в Outbound NAT в режиме автоматическом и ручном на сервере и клиенте.
И правила fw на LAN\WAN\OpenVPN на сервере и клиенте. -
Добрый день!
Прежде всего хочу сказать огромное спасибо rubic за инструкцию! По ней у меня всё работает прекрасно.Есть сервер
WAN = реальный ип адрес
LAN1 = 192.168.21.0/24
LAN2 = 192.168.0.0/24 новаяИ есть клиент
WAN1 = реальный ип адрес №1
WAN2 = реальный ип адрес №2
LAN1 = 192.168.2.0/24Единственное отклонение от инструкции - пришлось в клиенте указать IPv4 Remote Network/s = 192.168.21.0/24
Иначе хосты из сети клиента не могли видеть хосты в сети сервера от чего-то. Может быть из-за версии пфсенса (у меня 2.1.5-RELEASE с обеих сторон). Хотя в обратную сторону работало.И в общем-то всё работало около года без проблем, пока на сервере не появилась новая сетевая карта с сетью 192.168.0.0/24 куда мне нужно обеспечить доступ из сети клиента.
Казалось бы, всё просто.
Изменил на сервере IPv4 Local Network/s = 192.168.21.0/24, 192.168.0.0/24
Изменил на клиенте IPv4 Remote Network/s = 192.168.21.0/24, 192.168.0.0/24На клиенте появился маршрут 192.168.0.0/24 10.0.8.5 UGS 0 0 1500 ovpnc1
Но хосты из сети клиента не хотят по нему ходить! Трасировка показывает, что они пытаются идти через wan сетевую (интернет)!
Хотя трасировка прямо со шлюза показывает что машрут рабочий, и прямо со шлюза хосты в новой сети пингуются!В чем же дело? =(
-
Эти директивы есть в конфиг. файле клиента ?
Прочтите еще раз внимательнее где
:) удивительно но с первого раза я прочитал придельно внимательно
Клиентом является роутер pfSense версии 2.2.2-RELEASE (i386) …. настроенный через вебинтерфейс как и другие клиенты с версией 2.1.3....
и вопрос где? я задавал потому как понятия не имею "где искать конфиг. файл у клиента" а в веб интерфейсе никаких упоминаний о
keepalive 5 10
ping-timer-rem
persist-tun
persist-key
нету…. это нужно через Diagnostics: Edit file смотреть?... если да то куда? :) (адрес к нужному конфиг файлу и понятно что у клиента) -
Ищите статьи по настройке pfsense в кач-ве клиента. Уверен, они существуют.
-
В инструкции сказано, что написанное в Remote Network, лишь говорит ядру системы о сетях. Да, так и есть. В списке маршрутов на шлюзе появляется нужный маршрут. Но клиенты по нему не ходят!!! А вот как сказать об этом клиентам за pfsense теперь?
В инструкции пользовались директивой iroute для передачи знания клиентам на СЕРВЕРЕ о сети КЛИЕНТОВ.
Так как же мне сообщить КЛИЕНТАМ о новой дополнительной сети на СЕРВЕРЕ? =(( -
@ton:
Так как же мне сообщить КЛИЕНТАМ о новой дополнительной сети на СЕРВЕРЕ? =((
На сервере:
push "route ….";
На клиенте (-ах) в конец конф. файла добавьте директиву pull
-
На клиенте (-ах) в конец конф. файла добавьте директиву pull
pull разрешает клиенту получать от vpn-сервера push-инструкции, так?
Насколько она обязательна? У меня клиенты получают push route из Client Specific Override без pull. -
pull разрешает клиенту получать от vpn-сервера push-инструкции, так?
Верно. Насчет обязательности - не скажу. Но я добавляю.
http://forum.ixbt.com/topic.cgi?id=14:40906
http://unix.stackexchange.com/questions/16500/how-to-refuse-routes-that-are-pushed-by-openvpn-server
You can't refuse individual routes, however if you have access to edit your OpenVPN configuration then you can effectively stop the server –pushing any configuration to you by removing all instances of client or pull from your configuration. You will need instead to add tls-client if this directive doesn't already exist in your configuration (client is just a synonym for pull, tls-client).
Т.е. если в конфиг. файле клиента не будет директив client или pull, то всё что push-ся сервером приниматься на стороне клиента не будет.
-
Т.е. если в конфиг. файле клиента не будет директив client или pull, то всё что push-ся сервером приниматься на стороне клиента не будет.
Простите меня, а как правильно добавить в конфиг файл эти директивы? Я до этого работал только с веб интерфейсом, а по ssh как-то пробовал что-то менять, но после перезагрузки все изменения исчезали.
-
Либо в Client Specific Override для каждого клиента на PfSense, либо в конкретный конфигурационный файл конкретного клиента - зависит от реализации OpenVPN.
Если PfSense конфигурируется как клиент, директиву client (tls-client) PfSense добавляет сам
/var/etc/openvpn/clientX.conf -
Либо в Client Specific Override для каждого клиента на PfSense, либо в конкретный конфигурационный файл конкретного клиента - зависит от реализации OpenVPN.
Если PfSense конфигурируется как клиент, директиву client (tls-client) PfSense добавляет сам
/var/etc/openvpn/clientX.confв Client Specific Override на сервере изменил настройки так: push "route 192.168.0.0 255.255.255.0";iroute 192.168.2.0 255.255.255.0
Не помогло! Маршрут в таблице-то клиентского pfsense есть, но клиенты по нему не ходят!
Директива tls-client есть в /var/etc/openvpn/client1.conf - посмотрел через cat по ssh.
Как добавить туда pull не понял, пытался поставить mc по инструкции тут http://itautsors.ru/install-midnight-commander-mc-pfsense но в конце мне говорится ./mc: Exec format error. Binary file not executable. Сделал исполняемым, но ошибка такая же. Думал поможет пакет Filer, судя по описанию, он для изменения файлов, но нет, он вообще не понятно как работает.
Как мне добавить pull в /var/etc/openvpn/client1.conf да еще что бы изменения не исчезли после перезагрузки? И почему нет возможности через веб интерфейс это сделать? =(((