У меня 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.