Назад | Перейти на главную страницу

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

У меня OpenVPN работает на машине с Linux. VPN-сервер имеет общедоступный IP-адрес (x.x.x.x), а 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, но именно здесь я застрял.

Спасибо!

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

-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 перед каждым из трех вышеупомянутых правил.

Вот часть того, что я настроил на моем шлюзе 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.