У меня много вопросов по этим темам без ответов. Итак, приступим.
Прежде всего, я не гуру серверов и сетей. Я обычный 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-адресах, шлюзах, масках подсети, но ни один из них не ответил на мои вопросы. Наверное, я пытаюсь найти ответы на неправильные темы. Итак, я здесь. Пожалуйста, помогите мне выбраться из этой массы.
Вам нужен 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 сервера имён, а не просто притворяться. Требование иметь два существует не просто так
.