Я настроил виртуальную сеть в Azure с VPN-туннелем типа "сеть-сеть". Пока все хорошо, но туннелированные устройства не могут получить доступ к моим сервисам через общедоступный IP-адрес, они могут получить доступ только через локальный IP-адрес. Кажется, что-то мешает VPN-устройствам получить доступ к общедоступному IP-адресу виртуальной машины, подключенной к той же виртуальной сети.
Скажем, api.mydomain.com сопоставляется через DNS с общедоступным IP-адресом виртуальной машины. Это отлично работает для всех интернет-устройств, но не для тех, которые проходят через VPN-туннель между сайтами. Однако они могут получить доступ через локальный ip (192.168.x.x).
Каким образом я могу открыть доступ / направить трафик, входящий через межсайтовый VPN, на общедоступный IP-адрес? Рассматриваемые устройства являются устройствами GPRS и используют DNS оператора сотовой связи. Так что я ничего особо не могу там сделать (например, добавить запись, указывающую на локальный адрес).
После получения заявки в службу поддержки Microsoft Azure они вернулись, заявив, что VPN типа «сеть-сеть» в Azure предназначена для соединения двух частных сетей. «Невозможно направить трафик с одной стороны», - подумал туннель, а с другой стороны - в интернет. Маршрутизация Azure не позволит этого.
Итак, чтобы получить истинное сквозное туннелирование, мне нужно реализовать разделенный DNS.
Вы можете настроить записи для своих частных IP-адресов в /etc/hosts
файл, который переопределит DNS.