OpenVPN + iptables — определение допустимых маршрутов

OpenVPN + iptables — определение допустимых маршрутов

У меня есть bastionсерверы, которые принимают пользователей через OpenVPN. Бастион имеет два сетевых адаптера: один в Интернете, а другой в частной сети. У каждого пользователя есть свой IP-адрес и разные места, которые он может посещать внутри частной сети.

Например: пользователь John имеет статический IP 10.8.0.1на OpenVPN. John может получить доступ только к этому IP-адресу 10.8.1.1внутри внутренней сети. Любое другое место, к которому John попытается получить доступ, должно быть заблокировано.

Я попробовал сделать что-то вроде этого:

iptables -A FORWARD -p tcp --source 10.8.0.1 --destination 10.8.1.1 -j ACCEPT

Политика по умолчанию для INPUT, OUTPUT и FORWARD — блокировка.

Я ожидал, что разрешу Джону доступ к его ресурсу. Но на самом деле все его запросы блокируются.

Что я делаю не так?

Обновление 1

Добавляем полный код:

#!/bin/sh
# flush all
iptables -F
iptables -X

# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Allow unlimited traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A FORWARD -p tcp --source 10.8.0.1 --destination 10.8.1.1 -j ACCEPT

# make sure nothing comes or goes out of this box
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

Связанный контент