Можно ли разместить веб-сервер из-за NAT


21

Мой компьютер находится за маршрутизатором NAT, который имеет публичный IP-адрес. Если я хочу разместить веб-сайт, то я считаю, что мне нужно доменное имя, которое я могу купить на каком-то сайте, который обещал бы разрешить все запросы DNS для этого доменного имени и отправить IP-адрес моего маршрутизатора NAT (при условии, что я не хочу разместить мое доменное имя на своих серверах). Теперь я хочу разместить веб-сервер на моем компьютере.

  1. Какие изменения необходимо внести в конфигурацию маршрутизатора NAT для пересылки всех запросов HTTP для example.com на мой компьютер во внутренней сети.
  2. Правильна ли вышеуказанная стратегия?
  3. Это обычно используется?

Ответы:


12

Возможно разместить сервер за NAT, как вы описываете.
Посмотрите эту страницу справки Ubuntu на ServersBehindNAT для ознакомления с основами.

Еще несколько ссылок,

  1. Хостинг сервера Apache за NAT
  2. Настройка сервера за NAT с
    использованием маршрутизатора серии NAT Buffalo AirStation и примеров маршрутизатора Linksys
  3. Метод общего доступа к Интернету в Windows XP . если у вас машина с Windows делает NAT
  4. [Если вы используете XP, вы также можете использовать IIS 6 5 (поддержка 1 виртуального хоста), перейдя в Панель управления> Установка и удаление программ> Добавить компонент Windows> Информационные службы Интернета.

Это предполагает, что вы знаете, как разместить веб-сервер, и вам нужны идеи по NAT.



1

Другой альтернативой может быть что-то вроде homelinux, где ваш динамический IP-адрес может быть сопоставлен с statix .homelinux. URL

Есть и другие варианты, кроме "homelinux"

http://www.dyndns.com/


1
  1. Проверьте portforward.com . У них есть подробные инструкции для такого рода вещей, основная идея в том, что вам нужно настроить маршрутизатор так, чтобы он перенаправлял TCP-запросы через порт 80 на IP-адрес вашего компьютера. Это поднимает еще одну вещь: вам нужно настроить компьютер на статический IP-адрес. Если на вашем маршрутизаторе запущен DHCP-сервер (что имеет место в 97% случаев), убедитесь, что он назначен намного выше или ниже его. Google для «статического IP-адреса локальной сети», вероятно, выведет инструкции о том, как настроить это на различных ОС.
  2. Это будет работать при условии, что ваш провайдер не блокирует входящие соединения через порт 80; некоторые делают это по соображениям безопасности.
  3. Может быть. Это то, что я сейчас делаю с ftp, http, ssh, vnc, xmpp и некоторыми другими вещами ...

Вам также необходимо запустить веб-сервер на вашем компьютере. Просто возьмите Apache, он работает практически на всем, и это то, что использует большинство сайтов.


1

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

https://github.com/rofl0r/nat-tunnel

Это 250-строчный скрипт Python, который вы можете запустить прямо из Git Checkout.

Пример: у вас есть HTTP-сервер, прослушивающий на локальном компьютере порт 80. Вы хотите сделать его доступным на общедоступном IP-адресе вашего облачного сервера / VPS / etc на порту 7000. Мы используем порт 8000 на облачном сервере для канала управления.

использовать как

Сервер:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

Клиент:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000

0
  1. TCP-трафик переадресации порта к вашему маршрутизатору через порт 80 к вашему компьютеру на port_whwhat_you_are_running_your_webserver

  2. вам не нужно доменное имя, чтобы другие могли получить доступ к вашему веб-серверу, достаточно публичного ip. доменное имя для вашего публичного ip просто удобнее. в противном случае ваш план выглядит хорошо.

  3. Ваш маршрутизатор - это просто «межсетевой экран» между публикой и вашим сервером. такая настройка довольно распространена.



0

1.) Вам нужно перенести порт 80 на ваш внутренний IP-адрес на порт 80

2.) Возможно. Если у вас есть статический ip от вашего интернет-провайдера, вы полностью настроены на эту стратегию. Если у вас нет статического ip, вам, вероятно, потребуется использовать Dynamic Dns, где вы запускаете часть программного обеспечения на сервере, и он постоянно обновляет IP-адрес вашего доменного имени, который обычно они назначают. Однако вы можете настроить запись CNAME в своем домене, указывающую на запись от провайдера динамического DNS.

3.) Я лично не сказал бы, что это распространено, но это также не редкость.


-2

Ваша стратегия довольно часто используется, и если вы купили общедоступный IP-адрес, значит, вы довольно хороши.

Вы должны получить XAMPP. XAMMP предварительно настроен, и Apache будет использовать порт 80 по умолчанию. Убедитесь, что на порте 80 не запущен другой процесс, иначе Apache не запустится. Как правило, Skype (если вы используете скайп, который играет) играет в испорченный спорт и порт 80 свиней, вам нужно отключить его в настройках вашего соединения.

Он содержит Apache, PHP и Mysql, который позаботится обо всех ваших потребностях. Только не забудьте хорошо это закрепить .

Просто имейте в виду, что XAMPP не является производственным программным обеспечением, но оно должно удовлетворить ваши потребности в размещении личного веб-сайта / блога.

Еще одна вещь, если вы хотите, чтобы этот веб-сайт работал 24/7, то вам пришлось бы держать ваш компьютер в основном 24/7.

Если вам нужен бесплатный домен, вы можете получить co.cc для личного пользования, и они обновляют его каждый год.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.