LINUX.ORG.RU
ФорумAdmin

Маршрутизация между OpenVPN клиентами и узлами локальной сети

 ,


0

1

Всем привет. Имеется не понятная проблема. Поднял на PFSense OpenVPN сервер в режиме Remote Access ( SSL/TLS ), с топологией subnet. Конфигурация следующая:

Server mode: Remote Access ( SSL/TLS )

Device mode: tun

Protocol: UDP

interface: WAN

Local port: 22222

Use a TLS Key: true

TLS Key : ******

TLS Key Usage Mode: TLS Authentication

IPv4 Tunnel Network: 10.10.10.0/24

IPv4 Local network(s): 10.11.11.0/24

Inter-client communication: allow

Allow connected clients to retain their connections if their IP address changes: true

Topology: subnet

Остальное всё по умолчанию, где лежит конфиг не знаю. Клиент подключается и видит ресурсы за PfSense в сети 10.11.11.0/24, а машины из этой сети не видят клиента, допустим 10.10.10.2. В pfsens есть маршруты и к сети и сам интерфейс виден. Да и самого сервера тоже не пингуется клиент. Такое ощущение что локальная сеть для клиентов ВПН находится за nat. Но не могу разобраться в чём дело и что за что отвечает. представленных в интерфейсе настроек не понятно.


Нашёл конфиг

dev ovpns2
verb 1
dev-type tun
dev-node /dev/tun2
writepid /var/run/openvpn_server2.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp4
auth SHA256
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
client-connect /usr/local/sbin/openvpn.attributes.sh
client-disconnect /usr/local/sbin/openvpn.attributes.sh
local 125.11.45.153
tls-server
server 10.10.10.0 255.255.255.0
client-config-dir /var/etc/openvpn/server2/csc
tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'OVPN_SERVER_CRT' 1"
lport 22222
management /var/etc/openvpn/server2/sock unix
max-clients 50
push "route 10.11.11.0 255.255.255.0"
push "route 10.11.12.0 255.255.255.0"
push "route 10.11.13.0 255.255.255.0"
push "dhcp-option DOMAIN example.corp"
push "dhcp-option DNS 10.11.11.250"
push "dhcp-option DNS 1.1.1.1"
push "register-dns"
client-to-client
remote-cert-tls client
capath /var/etc/openvpn/server2/ca
cert /var/etc/openvpn/server2/cert
key /var/etc/openvpn/server2/key
dh /etc/dh-parameters.2048
tls-auth /var/etc/openvpn/server2/tls-auth 0
data-ciphers AES-128-GCM
data-ciphers-fallback AES-128-GCM
allow-compression no
persist-remote-ip
float
topology subnet
explicit-exit-notify 1
inactive 300
Stazot
() автор топика
Последнее исправление: Stazot (всего исправлений: 1)

Да и самого сервера тоже не пингуется клиент.

Любой клиент или какой-то конкретный?

anc ★★★★★
()

Скорее всего пакеты от машин в сети уходят на default gateway и куда-то дальше (публичную сеть). Варианта решения три как минимум:

  • Настроить default route на каждой машине чтобы смотрел в openvpn pfsens
  • Настроить роут до 10.10.10.0/24 на каждой машине чтобы смотрел в openvpn pfsens
  • Настроить тот default gateway, что выдаётся машинам чтобы отправлял 10.10.10.0/24 в openvpn pfsens
MadMax
()
Ответ на: комментарий от MadMax

Скорее всего пакеты от машин в сети уходят на default gateway и куда-то дальше (публичную сеть).

ТС написал что «Да и самого сервера тоже не пингуется клиент.», так что ваша мысли мимо.

anc ★★★★★
()

Если подозреваете NAT, открываете консоль и смотреть список правил firewall'а... Но, поди их там много будет, раз эта штука через GUI конфигурится. Можете их даже сюда запоситить, вдруг кто из местных БСД'шников захочет помочь...

mky ★★★★★
()
Ответ на: комментарий от Stazot

Если конкретно openvpn_connect

А вам нужен именно он (connect)?

anc ★★★★★
()
Ответ на: комментарий от mky

Подниму тестовую среду так и сделаю. Дело в том что пришлось встраивать такой костыль из-за удалёнщика. Руку сломал сотрудник, но работать страсть как любит. Пришлось РМ к ней домой отвозить. Но по обычному «отдельно стоящему» VPN серверу не работает нормально SIP из за NAT. звонки проходят, а вот голос не идет, хотя в настройках SIP указано что он может быть за нат. Какая то хрень, не должно быть так по теории, однако… Не пойму в чем проблема. Но вот то факт что трафик OpenVPN не ходит свободно с учетом наличия маршрутов. Листинг файервола придётся очень долго чистить. там вся топология.

Stazot
() автор топика
Ответ на: комментарий от Stazot

У винды, вроде, какие-то свои приколы были, ЕМНИП, она не отвечала на пинги не из своей локалки.

В pfsence же должен быть tcpdump, то есть можно попробовать просто подампить пакеты, уходит куда надо icmp echo req или нет и т.д.

mky ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.