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