Как ограничить доступ одного клиента OVPN к другим, так чтобы он пинговал только сервер OPVN?

Строй Дом
Строй Дом
  • Сообщений: 13
  • Последний визит: 28 марта 2025 в 10:46

Добрый день, такой вопрос, есть OVPN сервер и ряд OVPN клиентов, все они могу общаться между собой и сервером (client-to-client присутствует в конфиге сервера), необходимо сделать так чтобы один из клиентов мог общаться только с сервером, а других клиентов не видел.


Конфиг сервера:

port 1194
proto udp6
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
client-to-client
#push «dhcp-option DNS 8.8.8.8»
#push «dhcp-option DNS 8.8.4.4»
#push «redirect-gateway def1 bypass-dhcp»
#server-ipv6 fd42:42:42:42::/112
#tun-ipv6
#push tun-ipv6
#push «route-ipv6 2000::/3»
#push «redirect-gateway ipv6»
compress lz4-v2
dh dh.pem
tls-auth tls-auth.key 0
crl-verify crl.pem
ca ca.crt
cert server_OwkGDv89X2y7ztM2.crt
key server_OwkGDv89X2y7ztM2.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
route 10.8.1.0 255.255.255.0
status /var/log/openvpn/status.log
verb 3

Стандартный конфиг клиента:

client
proto udp
explicit-exit-notify
remote 109.236.108.172 13920
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_OwkGDv89X2y7ztM2 name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256
#ignore-unknown-option block-outside-dns
#setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
compress lz4-v2

Пробовал задавать через iptables маршруты, чтобы клиент с таким то ip мог общаться только с сервером, не получилось.

DST Global
DST Global
  • Сообщений: 22
  • Последний визит: Вчера в 21:31

Опция client-to-client обеспечивается внутренним роутингом овпн сервера, до обработки iptables и маршрутизацией ядром этот трафик не доходит

Таким образом, надо отключить опцию client-to-client, обеспечить форвандинг трафика между клиентами через ядро (routing and firewal после tun0 на схеме т.е.), и уже тогда можно будет ограничить трафик отдельного клиента через iptables

Антон Тишин
Антон Тишин
  • Сообщений: 16
  • Последний визит: 31 марта 2025 в 11:38

sudo iptables -I FORWARD -s 10.8.0.230! -d 10.8.0.1 -j DROP

Пример правила, который у меня работает.

Валерий Людимов
Валерий Людимов
  • Сообщений: 15
  • Последний визит: 31 марта 2025 в 20:14

Через iptables надо не маршруты задавать, а запрещать трафик на соответствующий диапазон адресов.

Валерий Людимов
Валерий Людимов
  • Сообщений: 15
  • Последний визит: 31 марта 2025 в 20:14

Да кстати и еще в конфиге нужно удалить строчку client-to-client, всё просто. Затем перечитать настройки или перезапустить

Редактировалось: 1 раз (Последний: 28 марта 2025 в 00:08)
Авторизуйтесь, чтобы писать на форуме.

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон