У меня есть маршрутизатор на Tomato (shibby), работающий на сервере OpenVPN (с TAP; интерфейс - tap21
на маршрутизаторе). Различные ресурсы (включая некоторые рабочие станции) физически подключены к eth0
на этом маршрутизаторе. У меня есть другое физическое устройство по всей стране, на котором запущены nginx и другие сервисы. Теперь, я знаю , что это не большой топографический установки, но неизменные требуют обстоятельства , что устройство работает под Nginx должен быть клиентом маршрутизатора VPN и все входящего трафика и исходящего трафика этого устройства на порты 80 и 443 должны быть туннелировано через это VPN-соединение.
В общем, что должно произойти:
- example.com разрешает IP WAN на маршрутизаторе
- маршрутизатор перенаправляет порты 80 и 443 через интерфейс
tap21
на сервер nginx - Ответ сервера nginx возвращается через
tap21
и направляется обратно через WAN
Часть # 2 - это то, с чем у меня проблемы.
В настоящее время сервер может обмениваться данными с другими устройствами в подсети (может пинговать другие ресурсы в VPN, а также ресурсы, физически подключенные к eth0
на маршрутизаторе) и может получать доступ к Интернету через VPN. Однако я не смог перенаправить порты из WAN на адрес сервера в VPN. Первая попытка, которую я предпринял, состояла в том, чтобы просто попробовать графический интерфейс переадресации портов в Tomato (но, похоже, это не работает для IP-адресов в VPN, только для IP-адресов eth0
или wlan0
). Когда это не сработало, я попытался добавить правила iptables, но, поскольку я все еще в значительной степени не удовлетворен iptables, мне удалось найти фрагменты из других ответов только для вопросов, которые на самом деле не относятся к этой странной и проблемной сетевой настройке. , Вот что я пытаюсь (используя 10000 в качестве тестового порта с прослушиванием nc
):
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.12.53:10000
iptables -I FORWARD -d 192.168.12.53 -p tcp --dport 10000 -j ACCEPT
Однако я не могу понять, что происходит с пакетами, перенаправляемыми таким образом - они, конечно, не достигают сервера. По сути, мой вопрос заключается в том, как я могу переадресовывать входящие соединения на определенных портах на конкретное устройство в VPN? Исходящий трафик через порты 80 и 443 из других ресурсов маршрутизатора eth0
, конечно же, не должен быть затронут.
Спасибо за любую помощь, вы можете предоставить!