
Рассмотрим следующий простой сценарий:
У меня есть офисная сеть, где у меня есть сервер, который предоставляет некоторые услуги, например, через HTTPS. Я хотел бы иметь возможность доступа к этому серверу с именем service.example.com
, и я хочу, чтобы это работало как внутри офисной сети, так и через Интернет.
Для этого у меня есть маршрутизатор со статическим IP-адресом на стороне Интернета, и я настроил его так, чтобы он перенаправлял TCP-порт 443 на внутренний сервер.
Я хотел бы настроить DNS таким образом, чтобы запрос service.example.com
возвращал:
10.0.0.2
(внутренний IP) при запросе изнутри офисной сети123.45.67.89
(внешний IP) при запросе из-за пределов офисной сети
Я уже использую Amazon Route 53 для всех своих DNS-нужд и обнаружил, что есть новая функция под названиемМаршрутизация на основе IP, что позволяет мне создавать несколько записей DNS, которые динамически возвращаются на основе запрашивающего IP. Поэтому в принципе я должен настроить свои записи DNS так:
service.example.com
возвращается10.0.0.2
при запросе из123.45.67.89
service.example.com
возвращается123.45.67.89
при запросе из любого другого места
Однако Route 53 не позволяет мне настраивать индивидуальные IP-адреса. Вместо этого мне приходится регистрировать блоки CIDR, которые могут иметь маски только до /24
. Поэтому я не могу настроить индивидуальный IP-адрес (с /32
маской).
Есть ли причина для этого? Я смотрю на это неправильно? Некоторые альтернативные решения, которые я придумал:
- Запишите ручной маршрут для всех внутренних ПК в
/etc/hosts
. Однако я хочу, чтобы это работало на ноутбуках, которые могут быть во внутренней сети иногда, а иногда и вне ее. Я не думаю, что разумно просить пользователей менять их/etc/hosts
каждый раз, когда они приносят свой ноутбук домой. - Настройте DNS-сервер внутри моей сети только для этого. Я думаю, что это очень тяжелая операция только для этого случая использования — я не хочу настраивать сервер для обработки каждого DNS-запроса внутри офисной сети, учитывая, что трафик к этому внутреннему серверу минимален.
- Прекратите использовать NAT и получите целый
/24
блок статических IP-адресов. Я думаю, что это излишне для моих нужд. - Используйте IPv6, которые доступны где угодно, так что этой проблемы не существует. Это то, что я делаю сейчас, но у многих людей до сих пор нет IPv6 в их домашних сетях, так что эта услуга полностью недоступна для людей без IPv6.
Как правильно это организовать?