У меня есть маршрутизатор Asus RT-N66U с включенным сервером OpenVPN. Мне нужно сделать один порт подключенного клиента OpenVPN доступным из Интернета. Поэтому я хочу перенаправить порт 80 на устройство, подключенное через OpenVPN к моему маршрутизатору.

Сначала я попытался настроить TUN. Клиент имеет IP-адрес 10.8.0.5. Я перенаправил порт 80 на 10.8.0.5

Проблема в том, что он работает только из внутренней локальной сети. Я также могу использовать внешний IP-адрес и, как правило, пересылать все пакеты клиенту на 10.8.0.5, но из Интернета я всегда получаю тайм-аут, похоже, что пакеты поступают на устройство, а ответ нет.

Я попытался вручную изменить iptables в соответствии с https://community.openvpn.net/openvpn/wiki/BridgingAndRouting и ничего не помогает.

Теперь я перенастроил OpenVPN на используемый TAP. И опять же, он полностью работает из локальной сети, но не из Интернета. Там должно быть что-то, что я скучаю.

Вот список всех правил iptables для конфигураций стенда https://gist.github.com/tprochazka/72b5ca9b686d20b200c5f2662d0e9db8 (таблицы IP генерируются самим маршрутизатором)

Может кто-нибудь сказать мне, что мешает трафику от eth0 к интерфейсу tun/tap?

1 ответ1

0

Ваше описание вашей конфигурации очень неполное, так что я могу только рискнуть угадать пару вещей, чтобы проверить.

  1. во-первых, вы добавили директиву « клиент-клиент» в конфигурацию сервера? Это позволит вам обойти большинство проблем, связанных с iptables, поскольку пакеты не будут проходить через обычный стек, но будут внутренне перенаправлены в openvpn.

  2. Вы заметили, что следующие правила

    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    DROP       all  --  anywhere             anywhere
    

предотвратить общение между двумя клиентами? Правила iptables применяются последовательно: при обнаружении первого подходящего правила дальнейшая обработка последующих прекращается и применяется применяемое правило. Следовательно, всякий раз, когда приходит новый пакет, первое правило, приведенное выше, не применяется, второе применяется, следовательно, оно применяется, и новый пакет отбрасывается. Таким образом, новое соединение никогда не устанавливается.

Я не уверен, что это все, что нужно, чтобы ваша конфигурация работала, но вы можете сначала попытаться изменить два пункта выше, а затем вернуться к другой итерации, если вы установили, что вышеизложенное не является единственной причиной ваших махинаций ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .