Один общедоступный IP-адрес, частные IP-адреса, DNS-сервер и несколько серверов [закрыто]

У меня много вопросов по этим темам без ответов. Итак, приступим.

Прежде всего, я не гуру серверов и сетей. Я обычный PHP-разработчик. И я прочитал почти все статьи об этом. Но не мог понять и найти решения.

У меня новая работа, и мой босс хочет, чтобы я установил Windows Server 2012 R2 на физическом сервере и 2 виртуальные машины на этой машине. Первая виртуальная машина - это Windows Server 2012 R2, вторая - Ubuntu 14.04. Целью является настройка сервера Ubuntu в качестве сервера DNS, PHP и т. Д. И сервера Windows в качестве сервера ASP.NET.

Я могу установить и настроить все это с помощью Hyper-V. Проблемы возникают, когда я пытаюсь настроить сеть и DNS-сервер.

У нас есть оптоволоконное интернет-соединение с модемом и «1 общедоступный IP-адрес». Допустим, это 203.0.113.9 . И у нас есть 192.168.x.x частных IP-адресов. Я настроил все статические IP-адреса на серверах, используя частные IP-адреса. Допустим, физическая машина имеет 192.168.2.2 , виртуальная машина Windows имеет 192.168.2.3 , vm Ubuntu имеет 192.168.2.4 . Я могу подключить эти серверы, используя эти частные IP-адреса в локальной сети, например, с помощью удаленного рабочего стола.

Я настроил сервер Ubuntu и BIND с использованием частных IP-адресов. Я настроил IP-адреса ns1.example.com и ns2.example.com как 203.0.113.9 на панели GoDaddy. Я настроил серверы имен example.com на панели GoDaddy как ns1.example.com и ns2.example.com. Я поместил файл index.html для example.com на сервер Ubuntu. Если я попытаюсь получить доступ к example.com на сервере Ubuntu, он заработает. Я вижу index.html. Но когда я пытаюсь получить доступ к example.com на других компьютерах, это не работает.

Как я могу добиться того, чтобы это работало? Думаю, дело не в конфигурации BIND или конфигурации сервера. Все дело в публичных и частных IP.

Приведу несколько примеров.

Я хочу получить доступ к удаленному рабочему столу сервера Ubuntu, виртуальной машине Windows или физической машине у себя дома. Но есть «1 публичный IP-адрес». Итак, как компьютеры узнают, к какому серверу я пытаюсь получить доступ?

Я хочу разместить сайт ASP.NET на виртуальной машине Windows и сайт PHP на виртуальной машине Ubuntu. Допустим, сайт ASP.NET - это example1.com, а сайт PHP - это example2.com. Как мне настроить файлы зоны? Какие IP-адреса следует использовать при настройке файлов зоны? Общедоступный или частный?

Я знаю, что могу использовать физический сервер для всего этого. Но есть и проблема. Когда я настраиваю статический IP-адрес с использованием общедоступного IP-адреса вместо частного IP-адреса, я не могу подключиться к Интернету.

Кстати, если бы это сработало, это все равно не решило бы мою проблему. Потому что мне нужно 2 vms на физическом сервере.

Пожалуйста, помогите мне разобраться в этой штуке с IP. Как это работает, как настроить? Я смотрел много видео об IP-адресах, шлюзах, масках подсети, но ни один из них не ответил на мои вопросы. Наверное, я пытаюсь найти ответы на неправильные темы. Итак, я здесь. Пожалуйста, помогите мне выбраться из этой массы.

-2
задан 17 August 2014 в 17:53
1 ответ

Вам нужен NAT и переадресация портов...


     PUBLIC IP
         |
 -----------------
 |      NAT      |
 -----------------
  |              |
 TCP 80          |
 UDP 53          |
  |              |
Ubuntu          Everything else
Server          Private IP
Private IP


У вас есть и сервер имён, и веб-сервер на блоке Ubuntu. Таким образом, ваш NAT-маршрутизатор должен быть настроен на переадресацию TCP 80 и UDP 53 на личный IP Ubuntu box.

Вы действительно должны серьезно подумать о том, чтобы действительно иметь 2 сервера имён, а не просто притворяться. Требование иметь два существует не просто так

.
1
ответ дан 5 December 2019 в 21:26

Теги

Похожие вопросы