Можно ли заблокировать доступ пользователя к каждому серверу / IP, кроме одного конкретного сервера, после того, как он вошел в систему через OpenVPN, и как я могу это реализовать?
Это ограничение не должно касаться других пользователей.
Спасибо.
Если вы используете сертификаты x.509 для каждого пользователя, вы можете назначить уникальный IP-адрес из пула удаленных IP-адресов openvpn. См. Вариант --ifconfig-pool-persist file
в OpenVPN 2.2 Руководство .
После этого вы можете использовать iptables как обычно.
Пожалуйста, посмотрите репозиторий https://github.com/dmytro/openvpn_restrict
Оно использует learn-address
опция конфигурации OpenVPN для запуска скрипта IPTables при подключении / отключении клиентом. Клиент обнаружен CN сертификата.
Добавьте в конфиг OpenVPN 2 строчки:
learn-address /etc/openvpn/connect
client-disconnect /etc/openvpn/connect
и добавьте сценарий и файл конфигурации, как описано в README.
Если ваш openvpn настроен на использование маршрутизации без моста, вы можете сделать это, проталкивая им только маршрут хоста / 32 на основе сертификата, который они отправляют. В образце конфигурации openvpn есть пример того, как вы можете это настроить.