Маршрутизация и OpenVPN не работают на шлюзе по умолчанию
У меня возникают трудности с настройкой правильного iptable для маршрутизации трафика OpenVPN на мой внутренний клиент OpenVPN.
Моя сеть похожа на это
+-------------------------+ (public IP)| | {INTERNET}============{ eth1 Router | | | | eth2 | +------------+------------+ | (192.168.0.254) | | +-----------------------+ | | | | | OpenVPN | eth0: 192.168.0.1/24 +--------------{eth0 server | tun0: 10.8.0.1/24 | | | | | {tun0} | | +-----------------------+ | +--------+-----------+ | | | Other LAN clients | | | | 192.168.0.0/24 | | (internal net) | +--------------------+
В общем, я хочу принимать порт и пересылать трафик VPN с маршрутизатора на внутреннюю коробку OpenVPN. Тогда я хочу, чтобы окно OpenVPN брало трафик с порта eth и отправляло его на tun.
Вот что я попробовал:
iptable на роутере:
$ iptables -A ВХОД -i tun+ -j ПРИНЯТЬ $ iptables -A ВПЕРЕД -i tun+ -j ПРИНЯТЬ
# Разрешить udp 1194 # iptables -A INPUT -p udp --dport 1194 -j ПРИНЯТЬ
# Разрешить трафику, инициированному из VPN, доступ к локальной сети iptables -I ВПЕРЕД -i tun0 -o eth2 \ -s 10.8.0.0/24 -d 192.168.0.0/24 \ -m conntrack --ctstate НОВОЕ -j ПРИНЯТЬ
Разрешить установленный трафик проходить туда и обратно
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
-j ACCEPT
Маскарадировать весь трафик от VPN-клиентов - сделано в таблице nat
iptables -t nat -I POSTROUTING -o eth0 \
-s 10.8.0.0/24 -j MASQUERADE
iptable на OpenVPN
Может кто-нибудь дать мне указатель, как я могу решить эту проблему?
1 ответ
Если мое предположение верно, вы пытаетесь использовать 10./8
Диапазон от вашего VPN за пределами вашей публичной сети. Это не сработает, так как вы можете направлять трафик только через ваш публичный IP-адрес извне, и только 192.168./16
Диапазон внутри вашей сети.
Один ключевой элемент: ваш VPN-сервер - это обычное приложение в вашей сети, доступное через сетевой интерфейс 192.168.0.1/24
, Клиенты, которые хотят подключиться к вашей VPN извне, должны сделать это через общедоступный IP-адрес и через порт, который перенаправляется с вашего маршрутизатора в ваше приложение VPN.
Ваш маршрутизатор не знает ни о tun
интерфейс ни о 10./8
Диапазон адресов VPN. Оба обрабатываются на коробке OpenVPN. Зашифрованный трафик инкапсулируется в IP-пакеты с использованием 192.168./16
частная сеть, получая NAT на маршрутизаторе.