Почему мое правило переадресации портов не работает?

1

Я абсолютный нуб о TCP / IP и пытаюсь установить правило переадресации портов.

То, что я пытаюсь сделать, это:

  • У меня есть несколько компьютеров, подключенных к моему маршрутизатору ( Zyxel P-660HW-T1 V2 ), один из них работает как Ubuntu Server
  • Я хочу подключить этот сервер Ubuntu, введя мой публичный IP-адрес и определенный порт. Поэтому я хочу набрать 88.225.my.ip: 26600 (это безопасно?) И получить доступ к домашней странице apache
  • Он имеет установленный Apache и работает, когда я набираю 192.168.1.35 из моей домашней сети. Так что я думаю, это локальный IP-адрес 192.168.1.35.

Сейчас я пытаюсь перенаправить порт 26600 на 192.168.1.35.

Это моя страница настроек модема. (Они на турецком языке, не могли понять, как отображать на английском, но вы узнаете ключевые слова, и я постараюсь объяснить)

первая: NAT - & gt; Перенаправление порта страница: enter image description here

второй: Брандмауэр - & gt; генеральный

Не установленный флажок означает «Активный брандмауэр». Таким образом, другие правила не применяются в любом случае, верно? enter image description here

третий: Брандмауэр - & gt; правила

Активировал uPnP, но я его сейчас деактивировал, так или иначе не работает .. enter image description here

четвёртая: Дополнительно - & gt; UpnP - & gt; генеральный enter image description here

Подскажите, пожалуйста, что я делаю не так?
И я был бы очень признателен, если бы вы объяснили свой ответ нубу :)

Редактировать:

Или как я могу определить, в чем проблема?

jeff
источник
Относительно части "88.225.my.ip: 26600 (это безопасно?)". Да, если вы регулярно обновляете веб-сервер (в вашем случае Apache) и все дополнительное программное обеспечение, которое может быть вызвано с веб-страницы (например, PHP), то это должно быть безопасно.
Hennes
Не относится к вашему вопросу, но если в вашей сети нет устройств UPnP, вы можете отключить его, поскольку это считается угрозой безопасности. На самом деле, просто выключите его. Увидеть grc.com/unpnp/unpnp.htm
happy_soil
@happy_soil, я думал, что upnp остановлен для "включения переадресации портов" или чего-то еще. Хорошо, я выключу это. Спасибо за оба комментария. И спасибо Хеннес за вставку картинок в пост :)
jeff
и, пожалуйста, кто-нибудь поддержит меня, чтобы я мог выразить всю помощь :)
jeff

Ответы:

1

Кажется, вы не можете перенаправить порт, отличный от того, который был установлен на вашем сервере. Например, ваша микропрограмма не позволяет пересылать порт 26600 вашего WAN IP на порт 80 вашего локального компьютера.

Возможно, вы захотите изменить порт, на котором Apache обслуживает свою службу HTTP, прежде чем включить переадресацию портов.

  1. открыто /etc/apache2/httpd.conf в текстовом редакторе. Найдите эту строку:

    Listen 80
    

    Изменить это для:

    Listen 26600
    
  2. Перезапустите Apache

    sudo service httpd restart
    

следить эта ссылка чтобы узнать больше о том, как переадресовать порты на вашем маршрутизаторе. Вы будете перенаправлять порт 26600 в 26600 на ваш локальный IP 192.168.1.35,

user7429642
источник
Привет Грегори, Большое спасибо за ваш ответ. Но я действительно смущен здесь. На моей странице настроек роутера. Он запрашивает у меня следующие параметры: (порт для пересылки, ip для пересылки), поэтому он не работает как My_WAN_IP:Port -> My_Local_IP ? Я имею в виду, что порт 26600 относится к моему маршрутизатору, а не к моему ПК, я не прав? Я имею в виду, что он перенаправит порт 26600 на мой локальный ip, затем выберет порт 80 по умолчанию внутри моего ПК. Таким образом, использование Apache для прослушивания порта 26600 не должно менять ситуацию. Но я все равно попробую. Ясно что-то, чего я не понимаю ..
jeff
Привет Ченгиз, порт 26600 к сожалению, имеет отношение к вашему компьютеру тоже. Некоторые маршрутизаторы позволяют переадресовывать один порт на другой. Например, вы можете иногда делать привязки для перенаправления порта 10000 вашего WAN IP в порт 80 IP вашего компьютера. В вашем случае ваша прошивка позволяет вам только переадресовывать один и тот же порт. Если вы решили, что хотите получить доступ к вашему веб-серверу через порт 26600 вашего WAN IP, вы также должны настроить свой компьютер для обслуживания HTTP через порт 26600, Тогда пересылка будет с вашего WAN IP, порт 26600, на IP вашего локального ПК, порт 26600,
user7429642
вау, я этого не знал Хорошо, теперь я попытаюсь изменить настройки Apache. И еще один вопрос, возможно ли, что мой провайдер блокирует некоторые порты? Потому что, скорее всего, так и есть. И если да, какой порт выбрать? 26600 это то, что я придумал. Мне просто нужен один пустой порт. Какой из них я должен использовать? Я даже попробовал порт 80. Мне нужен только FTP и HTTP, кроме Unity MasterServer (Мое веб-приложение), должен ли я выбрать «стандартный» / «стандартный» открытый порт?
jeff
Да, многие интернет-провайдеры блокируют порты 21 (FTP), 80 (HTTP) и 443 (HTTPS) для своих клиентов. Они обычно разрешают эти порты только для коммерческих клиентов. Любой порт свыше 10000 должен быть в порядке.
user7429642
0

В ответ на ваш вопрос. "это безопасно?" Лично я бы этого не делал. Машина, к которой вы хотите получить доступ из внешнего мира, вероятно, может получить доступ к любой другой машине в вашем доме и, вероятно, не предназначена только для Apache. Если эта машина скомпрометирована, ваши данные на этой и других компьютерах могут быть повреждены.

Потратьте пару фунтов в месяц и получите общий хостинг или чуть больше VPS.

К вашему сведению: безопасность - это не только конфигурация и безопасность сервера, но и ваше веб-приложение, ваш хостинг.

user2375592
источник
Thansk! Хорошо, но пока на моем веб-сервере нет ни приложения, ни данных. Это просто показывает "Это работает!" страница по умолчанию apache. И причина, по которой я пытаюсь это сделать, заключается в том, что я хочу настроить Unity MasterServer, поэтому безопасность теперь не является моей главной задачей. Когда это произойдет, я, конечно, арендую VPS. Но я пытаюсь научиться делать это сам.
jeff