Переадресация IP-адресов Linux для OpenVPN — правильная настройка брандмауэра?

Переадресация IP-адресов Linux для OpenVPN — правильная настройка брандмауэра?

У меня OpenVPN запущен на машине Linux. VPN-сервер имеет публичный IP-адрес (xxxx), а VPN-клиентам назначаются адреса на устройстве "tun" в 10.8.0.0\24. У меня есть правило IPTables для NAT-маскировки 10.8.0.0\24 на публичный IP-адрес.

Чтобы запустить VPN-сервер, мне пришлось включить переадресацию IP (поэтому я установил net.ipv4.conf.default.forwarding=1).

... Другими словами, это именно то, что говорится в руководстве OpenVPN, без каких-либо замысловатых трюков.

Все это работает, но меня беспокоит часть, связанная с включением переадресации. Ядуматьмашина теперь будет пересылать пакеты с любого IP-адреса на любой IP-адрес, что не кажется подходящим. Поскольку у него есть общедоступный IP-адрес, это особенно плохо.

Есть ли какие-либо предложения по правилам брандмауэра для ограничения нежелательного поведения пересылки? Я думаю, что ответ будет одним или несколькими правилами IPTables в цепочке FORWARD, но вот здесь я застрял.

Спасибо!

решение1

Если вы используете эти правила для переадресации таблиц, то все будет в порядке.

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -j REJECT

Вы можете поместить правила в файл /etc/sysconfig/iptables и перезапустить брандмауэр. Для пробной версии командной строки сначала выполните

 iptables -F 

чтобы удалить отклонение пересылки трафика по умолчанию и добавить «iptables» перед каждым из трех вышеуказанных правил.

решение2

Вот часть того, что я настроил на своем шлюзе OpenVPN:

iptables -A FORWARD -i tun0 -o tun0 -j ACCEPT # vpn to vpn
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT # vpn to ethernet
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # ethernet to vpn

Обратите внимание, что это всего лишь подмножество; остальная часть правила выполняет стандартные действия NAT.

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