OpenVPN и локальные ресурсы внутри сети
-
Возможно ли клиентам OpenVPN сделать доступным сервер находящийся за pfSense но у которого шлюзом не прописан pfSense ?
-
@marchello
Возможно
Nat outbound на lan интерфейсе Вам в помощь для клиентов Openvpn , устанавливающих соединение с данным серевером -
Нет, не желает соединятся. Хотя другие сервера на которых шлюзом прописан сам pfSense с соответствующим правилом в firewall и NAT обмениваются пакетами без проблем. Нужно исхитриться сделать так чтобы пакеты отправляемые с подсети OpenVPN доходили а ответы возвращались отправителю с сервера находящегося в локальной сети за pfSense у которого шлюз не pfSense.
-
@marchello
Это значит , что- или Вы меня не поняли
- или что-то делаете неправильно
Тут задача простая , подменить IP адрес источника на адрес , на который сервер обязательно ответит, не используя шлюз по умолчанию . Этим адресом станет ip адрес lan интерфейса ( при условии , что pf и сервер находятся в одной сети ) . Для решения этой задачи Вам надо создать правило Nat Outbound на lan интерфейсе pf для всех пакетов , идущих от openvpn клиентов в сторону сервера .
Например , используя iptables это будет выглядеть так
-A POSTROUTING -o LAN_ИНТЕРФЕЙС -p tcp -s КЛИЕНТЫ_OPENVPN --dport ПОРТ_ВАШЕГО_СЕРВЕРА -d АДРЕС_ВАШЕГО_СЕРВЕРА -j SNAT --to-source IP_АДРЕС_LAN_ИНТЕРФЕЙСА
https://forum.netgate.com/topic/156968/help - проблема , по сути, та же , только без проброса портов
-
@Konstanti В Interfaces > Interface Assignments Добавил и активировал интерфейс VPN-а
Далее создал в Firewall > NAT > Outbound
Попытка достучаться ping-ом до сервера снаружи по VPN безуспешна ((( не отвечает хотя другие сервера у которых прописан гейтом pfSense отрабатывают штатно. -
@marchello
Логично, что не отвечает
TCP и Icmp немного разные протоколы -
This post is deleted! -
This post is deleted! -
@Konstanti said in OpenVPN и локальные ресурсы внутри сети:
@marchello
Логично, что не отвечает
TCP и Icmp немного разные протоколыНе логично, прошу заметить что в протоколах указано ''any''
-
@marchello
На вашей картинке прописано , tcp для интерфейса lan . Откуда any ? -
@Konstanti said in OpenVPN и локальные ресурсы внутри сети:
@marchello
На вашей картинке прописано , tcp для интерфейса lan . Откуда any ?Это два правила касающиеся двух портов на двух разных серверах на которые заходят клиенты из вне, это не имеет отношения к нашему VPN )))
-
@marchello тогда у Вас нет нужно правила на lan интерфейсе
-
@marchello Привет. Недавно настраивал OpenVPN и так же надо было видеть сервера.
- В настройках сервера OpenVPN на pf в разделе "Advanced Configuration" в "Custom options" прописываем в какую подсеть могут стучать клиенты OpenVPN - push "route 192.168.1.0 255.255.255.0" (там это даже в подсказке указано и не с проста)
- На самом сервере при необходимости разрешить доступ с подсети OpenVPN (с той, которую ты указываешь в настройках сервера OpenVPN).
... и всё, должно работать. Может быть ещё включить "заворачивание всего трафика через туннель", но тогда обратить внимание на настройки DNS.
-
@Konstanti said in OpenVPN и локальные ресурсы внутри сети:
@marchello тогда у Вас нет нужно правила на lan интерфейсе
В порядке эксперимента добавил правило на эхо, и всё равно не работает.
-
@marchello
Тогда только остается включать tcpdump и смотреть , что происходит в момент пинга
tcpdump -netti имя_lan_интерфейса icmp and host ip_адрес_сервераи проверять
1 отрабатывает ли nat outbound (те изменился ли ip адрес источника)
2 и приходят ли ответные пакеты -
@luha said in OpenVPN и локальные ресурсы внутри сети:
@marchello Привет. Недавно настраивал OpenVPN и так же надо было видеть сервера.
- В настройках сервера OpenVPN на pf в разделе "Advanced Configuration" в "Custom options" прописываем в какую подсеть могут стучать клиенты OpenVPN - push "route 192.168.1.0 255.255.255.0" (там это даже в подсказке указано и не с проста)
- На самом сервере при необходимости разрешить доступ с подсети OpenVPN (с той, которую ты указываешь в настройках сервера OpenVPN).
... и всё, должно работать. Может быть ещё включить "заворачивание всего трафика через туннель", но тогда обратить внимание на настройки DNS.
Удалил все правила включая OpenVPN. Создал новый сервер включив дополнительный маршрут в Custom options, далее выгрузил конфигурацию, загрузил на клиента, проверил подключение к OpenVPN серверу - работает без вопросов. Добавил правило в NAT
Перепроверил активность и поднятое состояние OpenVPN интерфейса. По итогу ping с клиента показывает что сервера с прописаным гейтом pfSense отвечают, с иным ip гейта на интерфейсе молчат.
-
Думаю дело не в том какой шлюз указан на "неотвечающем" сервере, а во взаимодействии подсетей. Шлюз это только для выхода в интернет. Учти, прохождение пакетов зависит от каждой из участвующих сторон! Ты же на сервере ведь проверил, слушает он подсеть OpenVPN или нет? От стороны pf твой клиент виден в локалке с адресом подсети VPN... соответственно свичи там разные, компьютеры, сервера, все будут отличные от их подсети пакеты или игнорировать или принимать, зависит от настроек.
Кстати! А на pf разрешил трафик между подсетями?! Может pf сам не слушает того твоего сервера?
-
@marchello
Можете показать вывод tcpdump на lan интерфейсе при запущенном пинге в направлении нужного сервера ( с настроенным NAT outbound) ? -
Для следующих поколений оставляю готовый рецепт настройки доступа пользователей из VPN во внутреннюю сеть предприятия без необходимости прописывать на запрашиваемом ресурсе шлюзом pfSense.
-
Заходите в Interfaces > Interface Assignments добавляете интерфейс OpenVPN и в его свойствах активируете (поднимаете)
-
Запоминаем сетку и маску выделенную для тоннеля + галка на ''Redirect IPv4 Gateway'' включена.
-
Добавляем принудительно маршрут в локальную сеть предприятия при установке соединения клиентом
-
Далее идём в NAT и создаём правило которое позволяет клиентам из сетки VPN ходить в сеть предприятия и обратно.
Всё будет работать при условии, что сам OpenVPN предварительно был настроен верно и подключение к нему перед этими манипуляциями проверялось. Спасибо Konstanti и Luha в решении проблемы.
P/S появилась дополнительная проблема, веб сайт к которому получен доступ и который отвечает внутри сети предприятия, делает редирект пользователя за пределы сети предприятия, на другой веб-сервис, попытка дополнительного добавления сети этого нового веб-сервиса (находящемуся за пределами локальной сети предприятия) в NAT и в соответствующее поле VPN к клиенту не помогает.
-
-
Добрый.
- Зачем ВЕСЬ траффик впн-клиентов в туннель-то заворачивать?
- В чем проблема указать шлюзом ЛАН-адрес пф на интересующей машине? Зачем "танцы" ?