Я написал этой вопрос о stackoverflow и было рекомендовано задать здесь.
Я боролся с этой проблемой в течение последних двух дней, и я надеялся, что кто-то здесь может помочь мне. У меня есть виртуальная машина под управлением Ubuntu server 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 работает нормально, я могу подключиться и посмотреть "он работает!"страница, когда я обращаюсь к нему с 192.168.1.120: 8080. После Google некоторых я подумал, что, возможно, это связано с запуском tomcat7 с использованием IPv6, поэтому я настроил его на предпочтение IPv4 на основе ответов здесь но не удалось подключиться.
У меня есть другая служба (сервер minecraft), размещенная на другой виртуальной машине с точно такими же настройками маршрутизатора/iptable (минус другой номер порта), которая работает. Я просто не уверен, почему tomcat не работает.
Я пробовал разные порты, кроме 8080, если это было что-то об этом конкретном номере порта, но я все еще ничего не получаю. Я также запустил tcpdump для порта 8080 и могу видеть трафик при доступе через 192.168.1.120, но нет трафика при доступе через мой публичный IP. На данный момент я думаю, что я либо пропустил что-то довольно простое, либо есть некоторые настройки в tomcat, которые мне нужно исправить/изменить, но я понятия не имею.