@Toshua

Как запретить выход в интернет VPN-клиентам, оставив доступ только от заданного ip?

Здравствуйте.

В наличии VPS сервер с развернутым OpenVPN.
Как с помощью iptables ограничить доступ vpn-клиентам к интернету, разрешив только от заданных ip?
  • Вопрос задан
  • 1994 просмотра
Решения вопроса 1
Добрый день. Под OpenVPN - у тебя отдельная сеть/интерфейс, под публичный интернет - тоже. Вижу два варианта:
1) Либо отменяй маскарадинг для всей OpenVPN сети и прописывай маскарадинг для конкретного ip-адреса
2) Либо играй с цепочкой OUTPUT для сети/интерфейса интернета. Запрещай всем, но разрешай конкретному ip.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@krosh
Весь трафик впн-сервера проходит через цепочку FORWARD, там занимайтесь фильтрацией. В этом контексте он становится маршрутизатором, а на эту тему достаточно материала в поиске. Предполагая, что tun0 - интерфейс для впн-клиентов, а eth0 - в интернет, то можно начать со следующих правил.

iptables -P FORWARD DROP
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -m comment --comment "РАЗРЕШЕНО Установленные соединения" -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -s 192.168.0.100 -p udp -m udp --dport 53 -m comment --comment "РАЗРЕШЕНО DNS/udp для 192.168.0.100" -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -s 192.168.0.100 -m conntrack --ctstate NEW -m comment --comment "РАЗРЕШЕНО Интернет для 192.168.0.100" -j ACCEPT


Возможно правило про ДНС лишнее, не помню как OpenVPN работает с днс-запросами. Попробуйте для начала вовсе без него.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы