Я установил OpenVPN + PF на сервере FreeBSD 10.3.
В число клиентов моей VPN входят администраторы, которые должны иметь полный доступ к сети, и ненадежные пользователи, которые должны иметь доступ ТОЛЬКО к паре IP-адресов.
Я использовал client-config-dir, чтобы задать конкретным пользователям уникальный IP-адрес, который позже я заблокирую или передаю с помощью PF.
Проблема в том, что, поскольку OpenVPN настроен с использованием устройства с ответвлением, любой подключенный клиент может вручную изменить свой IP-адрес на доверенный IP-адрес и преодолеть это ограничение.
то есть: я подключаю машину к VPN, которая получает IP-адрес 10.0.1.11 в соответствии с его ccd, которому НЕ доверяют. Но если клиент меняет свой IP (используя ifconfig) на 10.0.1.15, который является ДОВЕРИЕМ, его ограничения отменяются.
Есть ли способ заставить клиента использовать только определенный IP-адрес без использования устройства TUN?
Если нет, есть ли способ фильтровать доступ к сети без использования IP-адреса VPN-клиента или использования отдельной VPN?
Спасибо за вашу помощь
OpenVPN на это не способен. Просто создайте второй экземпляр OpenVPN на другом порту с дополнительным секретом и совершенно другой подсетью, чтобы сделать его более безопасным. Это можно сделать с помощью тех же сертификатов и минимальных дополнительных усилий по управлению.
Просто идея: я знаю, что есть способ запускать сценарии до и после подключения. Возможно, вы могли бы сделать что-то вроде: заблокировать весь трафик VPN по умолчанию и включить трафик после подключения (создать правило pf с подключенным IP-адресом туннеля) .Таким образом, если пользователь затем переключает свой IP-адрес, pf не пропускает трафик. (только мои 2 цента)