Невозможно выполнить внешний пинг моего сервера

Невозможно выполнить внешний пинг моего сервера

Я настроил сервер Ubuntu с LAMP и пытаюсь получить к нему внешний доступ.

Что я сделал:

  • Я создал учетную запись на no-ip.com следующим образомЭта статья

  • Я дал серверу локальный статический ip 192.168.1.127 и перенаправил порты 80 и 22 (как внешний, так и локальный) на этот ip-адрес. Я также перенаправил внешний порт 50005 на внутренний порт 80.

  • Я нашел свой внешний ip через Portcheckers. Насколько я понимаю, внешний ip одинаков для всех компьютеров и маршрутизаторов в моей сети.

    Проблема

  • Я проверяю порты 80, 22 и 50005 с помощьюпортчекерыи все они (вместе со всеми другими крупными портами) были объявлены недоступными.

  • Я также попытался пропинговать внешний IP моего сервера спортчекерыи получил Ping Failed: TimedOut Я попробовал пропинговать IP-адрес с терминала, но он завис после того, PING myhost.no-ip.org (66.XXX.XXX.XX) 56(84) bytes of data.как Когда я попытался подключиться к серверу через браузер, я получил сообщение Oops! Google Chrome could not connect to....

    Информация

    Я могу подключиться к своему серверу локально (192.168.1.127) через ssh, sftp и http.

    У меня маршрутизатор Linksys E320, и я отключил брандмауэр.

    Пожалуйста, дайте мне знать, если мне нужно указать мой внешний IP. Спасибо за помощь.

    РЕДАКТИРОВАТЬ

    Я изменил /etc/apache2/ports.conf для прослушивания порта 50005 вместо 80, заменив Listen 80его наlisten 50005

  • решение1

    ПОЧЕМУ Я НЕ ПРАВ

    Я говорю, что причина, по которой вы не можете пинговать, заключается в следующем: маршрутизатор никогда не пересылает эхо-запрос на ваш сервер, но это не объясняет, почему сам маршрутизатор не отвечает на эхо-запрос. В моей домашней сети я могу пинговать свой маршрутизатор напрямую (192.168.1.254), так почему же, когда я пытаюсь пинговать его извне, он не работает?

    Моя лучшая догадка

    Я все еще учусь этому, поэтому эта информация может быть неточной. Я в основном получил свой ответ отhttps://community.spiceworks.com/topic/85353-пересылка-пингов-от-маршрутизатора-на-сервер-за-ним

    Ваша неспособность выполнить ping на самом деле не ваша вина, а вина ограниченного дизайна IPv4. Я предполагаю, что у вашего маршрутизатора есть назначенный IP-адрес, и вы настроили его на переадресацию портов 80, 22 и 50005 на какой-то компьютер по вашему выбору; это ваш маршрутизатор использует преобразование адресов портов (PAT), которое является особым типом преобразования сетевых адресов (NAT).

    При отправке ping-запроса на сервер ping передает сообщение с эхо-запросом по протоколу ICMP и ждет ответного сообщения.

    Проблема в том, что ICMP настолько низкого уровня, что у него нет портов. Поэтому ваш маршрутизатор не пересылает запросы ICMP echo на ваш сервер, потому что ваш маршрутизатор пересылает только порты, поэтому нет ping.

    Вместо того чтобы использовать ping для проверки работоспособности сервера, вы можете обойти эту проблему с помощью telnet 25. Я еще не настроил его на своем сервере, поэтому не знаю, как это сделать.

    У меня это работает? Вместо того чтобы выполнить переадресацию портов, я перешел в раздел «Брандмауэр» > «Сквозная передача IP-адресов» и изменил режим распределения с «Сквозная передача» на «Сервер по умолчанию», а в качестве сервера по умолчанию установил внутренний IP-адрес, который использует мой сервер для ноутбука (192.168.1.99).

    Теперь пинг работает. Честно говоря, я не уверен, похожа ли моя ситуация на вашу, поэтому надеюсь вскоре получить от вас ответ.

    Связанный контент