Я хочу заблокировать доступ к определенным веб-сайтам / IP-адресам для всех клиентов, подключенных к VPN (pptpd или OpenVPN).
Это правило:
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -d IP_address -j REJECT
работает только локально. Сервер (тест ping) не может получить доступ к заблокированному IP-адресу, но клиенты через VPN могут.
Как я могу заблокировать весь трафик на указанный IP-адрес для VPN-клиентов?
В OUTPUT
цепочка применяется только к локально сгенерированным пакетам. Для пакетов, которые маршрутизируются через систему, необходимо использовать FORWARD
цепь.
Итак, вам нужно использовать эту команду:
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -d IP_address -j REJECT