Мне сложно установить правильный 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 INPUT -i tun + -j ACCEPT $ iptables -A FORWARD -i tun + -j ACCEPT
# Разрешить udp 1194 # iptables -A INPUT -p udp --dport 1194 -j ACCEPT
# Разрешить трафику, инициированному из VPN, доступ к iptables LAN -I FORWARD -i tun0 -o eth2 \ -s 10.8.0.0/24 -d 192.168.0.0/24 \ -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
-j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 \
-s 10.8.0.0/24 -j MASQUERADE
iptable на OpenVPN
Может ли кто-нибудь указать, как я могу решить эту проблему?
Если мое предположение верно, вы пытаетесь использовать 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 на маршрутизаторе.