@greensid

Как ограничить доступ к локальным подсетям для разных клиентов OpenVPN?

Openvpn сервер развернут на linux-машине на сервере, который напрямую подключен к L3 коммутатору. На коммутаторе созданы несколько сетей (например 10.200.3.1, 10.200.99.1 и 10.90.0.1). ВПН-сервер находится в сети .99.1 и раздает для клиентов отдельную сеть 10.8.0.1/24. На данный момент клиенты могут ходить в любую сеть на коммутаторе (маршрутизация включена). Мне необходимо чтобы клиент мог ходить, например, только в 10.90.0.1, а в остальные сети нет. Я планировал это сделать за счет назначения статических айпишников клиентам и прописать для каждого правила. На коммутаторе я этого сделать не могу, т.к. пакеты уже приходят со шлюза 10.8.0.1 и соответственно можно ограничить доступ только для всей сети, а не для конкретного клиента. Соответственно я попытался сделать это непосредственно на самом сервере через настройку iptables.
Пример:
iptables -A OUTPUT -s 10.8.0.10 -d 10.90.0.0/24 -j ACCEPT
iptables -A OUTPUT -s 10.8.0.10 -d 0.0.0.0/0 -j DROP
Пробовал аналогичные варианты и с INPUT и с FORWARD, однако ни до ни после ничего не изменилось. Клиенты по прежнему спокойно ходят в любую сеть как ни в чем не бывало.
Конфиг сервера:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh none
server 10.8.0.0 255.255.255.0
topology subnet
push "redirect-gateway def1"
client-config-dir /usr/local/etc/ccd
keepalive 10 120
tls-crypt ta.key
cipher AES-256-GCM
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1

Никак не могу понять в чем проблема и какие есть варианты решения?
Перекопал уже кучу примеров и статей, но так и не смог получить желаемый результат.
Буду очень признателен за помощь!
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
@greensid Автор вопроса
Видимо вся проблема заключалась именно в push "redirect-gateway def1". После того как начал пушить конкретные маршруты push "route 10.90.0.10 255.255.255.0" через конфиги в ccd, то и форвардинг
iptables -A FORWARD -i tun0 -s 10.8.0. 10 -d 10.90.0.0/24 -j ACCEPT
iptables -A FORWARD -i tun0 -s 10.8.0.10 -d 0.0.0.0/0 -j DROP

сразу начал отрабатывать как надо. Так и не понял по какой причине он не срабатывал из за push "redirect-gateway def1", но благо проблема решилась.
Всем спасибо за помощь!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы