Рассмотрим следующую сеть ^^^.
Настройка виртуальной сети в Azure: 10.10.0.0/16
с 1 подсетью, 10.10.0.0/16
и подсеть шлюза в 10.10.1.0/29
.
Azure знает, как выглядит наша сеть, 2 адресных пространства: 192.168.101.0/24
& 10.246.0.0/16
через дополнительный роутер.
Я хотел бы получить прямую связь из и в Azure.
На данный момент мы настроили его на локальной машине (с IP 192.168.101.36
), который работает под управлением Windows Server 2012 R2 с RRAS. Он подключается к Azure, и у нас есть соединение.
Первый маршрут на RRAS - это 10.10.0.0/16
. Это гарантирует, что любой компьютер в локальной сети (192.168.101.0/24
) может подключиться к сети Azure. Второй маршрут 192.168.101.0/24
, это необходимо для того, чтобы Azure могла с нами разговаривать. Вопрос: Какой здесь должен быть шлюз: 192.168.101.1
(DHCP-сервер) или 192.168.101.36
(сервер RRAS)
Третий маршрут гарантирует, что любой трафик, поступающий на сервер RRAS, который хочет поговорить с 10.246.0.0/16
сеть перенаправлена на 192.168.101.10
, который является модемом / маршрутизатором 3G.
Сейчас нам не хватает части, но позвольте мне сначала объяснить, что работает:
192.168.101.0/24
192.168.101.0/24
) может пинговать что угодно в Azure (10.10.0.0/24
).192.168.101.0/24
) может пинговать что угодно за 3G-модемом (10.246.0.0/24
).НО (и это мой следующий и самый важный вопрос) ни один компьютер в Azure не может проверить связь с сетью 3G ЕСЛИ Я добавляю на модем / маршрутизатор 3G статический маршрут, который говорит: 10.10.0.0/16
к воротам 192.168.101.36
.
Почему 3G-модем / маршрутизатор не знает, как перенаправить трафик обратно на 192.168.101.36
, в конце концов, у него есть именно этот IP-адрес в качестве шлюза.
Это потому что 10.*.*.*
и 192.168.*.*
не маршрутизируемы?
Обновление: пошел посмотреть в 3G роутер / модем и обнаружил следующее:
#> display route
Route Table:
Destination Gw Refs Mhome Iface mtu hops ttl flags
0.0.0.0/0 10.246.52.3 1 0 mobile0 1500 1 INF UGS
10.10.0.0/16 192.168.101.36 2 0 eth0 1500 1 INF UGS
10.246.52.0/29 * 1 0 mobile0 1500 0 INF UC
127.0.0.0/8 127.0.0.1 1 0 LOOPBACK 1500 1 INF UGJS
127.0.0.1/32 127.0.0.1 6 0 LOOPBACK 1500 0 INF UH
192.168.101.0/24 * 1 0 eth0 1500 0 INF UC
Кажется, что первый «съедает» всю сеть, а второй (то есть статический маршрут, который я добавил) это исправляет. И последнее, потому что он знает, что он 192.168.101.0/24
сеть. Хотя странно, что там нет адреса шлюза.
Я был бы удивлен, если вам вообще понадобится статический маршрут на сервере RRAS для 192.168.101.0/24, так как это сеть с «прямым подключением» - сервер RRAS должен знать, как добраться до этой сети без настроенного статического маршрута. . В любом случае установка шлюза для 192.168.101.0/24 в качестве IP-адреса сервера RRAS в этой сети, как вы обнаружили, работает, как вы обнаружили (по сути, это то, что происходит по умолчанию при подключении интерфейса к подсети), но сломается, если RRAS IP изменяется в этой сети, поэтому, вероятно, проще удалить статический маршрут.
Без настроенного маршрута маршрутизатор 3G не знает подсеть 10.10.0.0/16, так как это не напрямую подключенный интерфейс, поэтому без дальнейших инструкций будет отправлять трафик в эту подсеть через шлюз по умолчанию (скорее всего, напрямую в Интернет). Если у него нет шлюза по умолчанию, трафик просто никуда не денется.
Статический маршрут требуется на маршрутизаторе 3G, чтобы сообщить ему, что трафик для 10.10.0.0/16 должен быть направлен на сервер RRAS на 192.168.1.36, поскольку это правильный шлюз для этой подсети.
Причина, по которой лазурные машины не могут пинговать машины в 10.246.0.0/24 без этого маршрута, заключается в том, что, хотя лазурные машины могут попасть в подсеть 10.246.0.0/24 (в этом направлении есть правильно настроенные маршруты), ответы от этих эхо-запросов Не вернемся, если маршруты в обратном направлении не настроены должным образом.
Возьмем пример эхо-запроса icmp между двумя IP-адресами:
10.10.1.20 отправляет эхо на 10.246.10.10.
Установка Azure знает, что RRAS является шлюзом для 10.246.0.0/16.
RRAS знает, что маршрутизатор 3G является шлюзом для 10.246.0.0/16.
Маршрутизатор 3g отправляет пакет в сеть 10.246.0.0/16 для 10.246.10.10
10.246.10.10 получает и генерирует ответ
10.246.10.10 имеет шлюз по умолчанию маршрутизатора 3g, поэтому он отправляет его на маршрутизатор 3g
маршрутизатор 3g не имеет пути к 10.10.0.0/16 и отбрасывает пакет или отправляет его на последний шлюз по умолчанию (который явно не является сервером RRAS, или другой маршрут переопределяет шлюз по умолчанию) - пакет потерян