
У меня есть 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