1

Я разместил этот вопрос на stackoverflow и рекомендовалось задать здесь.

Я боролся с этой проблемой в течение последних двух дней и надеюсь, что кто-то здесь может мне помочь. У меня есть виртуальная машина под управлением сервера Ubuntu 14.04, на которой установлен tomcat7 (через apt-get). Я хочу, чтобы он был доступен для компьютеров вне моей локальной сети через мой публичный IP-адрес, но в настоящее время я не могу подключиться к нему таким образом. Однако я могу подключиться к нему в своей локальной сети через 192.168.1.120. Мой маршрутизатор (Western Digital My Net N600) настроен на пересылку запросов через порт 8080 на виртуальную машину, содержащую tomcat7.

На моей виртуальной машине я настроил iptables следующим образом:

Chain INPUT (policy ACCEPT)
target     prot opt source          destination
ACCEPT     tcp  --  anywhere        anywhere                 tcp dpt:http-alt

Chain FORWARD (policy ACCEPT)
target     prot opt source          destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source          destination

Сам Tomcat работает нормально, я могу подключиться и посмотреть "Это работает!"msgstr "когда я получаю к нему доступ от 192.168.1.120:8080. После поиска в Google я подумал, что это может быть связано с запуском tomcat7 с использованием IPv6, поэтому я настроил его на использование IPv4 на основе ответов здесь, но все еще не мог подключиться.

У меня есть другой сервис (сервер Minecraft), размещенный на другой виртуальной машине с точно такими же настройками маршрутизатора /iptable (за исключением другого номера порта), который работает. Я просто не уверен, почему кот не работает.

Я пробовал другие порты, кроме 8080, на случай, если это было что-то с этим конкретным номером порта, но я все еще ничего не получаю. Я также запустил tcpdump для порта 8080 и могу видеть трафик, когда к нему обращаются через 192.168.1.120, но нет трафика, когда к нему обращаются через мой публичный ip. На данный момент я думаю, что я либо упустил что-то довольно простое, либо в tomcat есть какие-то настройки, которые мне нужно исправить / изменить, но я понятия не имею.

1 ответ1

0

Я подозреваю, что переадресация портов с вашего шлюза работает неправильно. Убедитесь, что ваш шлюз перенаправляет порт 8080 на вашу виртуальную машину (192.168.1.120). Я делал это много раз, и это работало хорошо со мной ...

На вашем маршрутизаторе войдите в GUI, используя ваше имя пользователя и пароль (admin/ пароль - учетные данные по умолчанию)

Перейдите в Дополнительные настройки -> Дополнительные функции -> Переадресация портов

Дайте имя своему правилу. Выберите "Имя приложения" как "HTTP", затем установите "Диапазон внешних портов" на 8080. Предполагая, что ваш tomcat также прослушивает порт 8080, установите для этого параметра "Внутренний диапазон портов". Следующим шагом является добавление IP-адреса сервера, который в вашем случае будет 192.168.1.120. Следующим шагом является включение правила. Наконец, сохраните конфигурацию и проверьте соединение.

Если вам нужно руководство со скриншотами, вы можете нажать здесь.

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