Как взаимодействовать между несколькими устройствами уровня 3 в сегментах сети (подробное объяснение статической маршрутизации и соединения уровня 3)
Как взаимодействовать между несколькими устройствами уровня 3 в сегментах сети (подробное объяснение статической маршрутизации и соединения уровня 3)

Начинается новая среда

В связи с деловым партнерством клиенту необходимо общаться с другой компанией на площадке, но проблема в том, что

  • У каждой из двух компаний по одному ядру. Как их соединить, становится проблемой?
  • Будет ли конфликт, если они оба будут использовать vlan10?

Основная конфигурация компании Б

Язык кода:javascript
копировать
sysname Core_B
#
vlan batch 10 to 11
#
interface Vlanif10
 ip address 192.168.10.254 255.255.255.0
#
interface Vlanif11
 ip address 192.168.11.254 255.255.255.0
#
interface MEth0/0/1
#
interface  GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
 stp edged-port enable
#
interface  GigabitEthernet0/0/2
 port link-type access
 port default vlan 11
 stp edged-port enable

Будет ли конфликтовать vlan?

Конфликта не будет. Vlanid действителен локально. Как и частный IP-адрес, каждую локальную сеть компании можно использовать повторно. Однако, если обеим сторонам необходим доступ друг к другу, сегменты IP-сети не могут конфликтовать, иначе доступ не будет успешным. , но VLAN не имеет значения, ее можно избежать путем планирования.

Как соединить ядра

Самая большая проблема сейчас заключается в том, как соединить ядра. Последнее требование заключается в том, что терминалы в ядре A могут иметь доступ к серверам ядра B, а терминалы в ядре B могут иметь доступ к серверам в ядре A.

Вспомните, как раньше одно и то же трехслойное устройство взаимодействовало друг с другом?

(1) Коммутаторы уровня 3 настроены с использованием собственных vlanif в качестве шлюзов.

(2) Поскольку это трехуровневое устройство, оно создаст прямой маршрут.

Таким образом, взаимодействие между VLAN основано на прямых маршрутах (в таблице маршрутизации), генерируемых каждым адресом vlanif, настроенным на трехуровневом коммутаторе, и обеспечивает взаимодействие посредством трехуровневой пересылки. Это взаимодействие между VLAN, которое мы изучили. раньше, но на том же устройстве.

Как соединить два ядра платформы?

(1) Выбор физической линии

В корпоративном Ethernet существует два распространенных варианта физической маршрутизации: один — по сетевому кабелю, а другой — по оптоволоконному кабелю.

  • Если физическое расстояние находится в пределах 100 метров, вы можете выбрать сетевой кабель.
  • Если физическое расстояние превышает 100 метров, можно выбрать только оптоволокно.

(2) Проблема позиционирования

После настройки адреса vlanif на трехуровневом устройстве в таблице маршрутизации будет сгенерирован прямой маршрут. Таким образом, терминал под ядром A заполняет соответствующий vlanif в качестве шлюза. Ядро запрашивает таблицу маршрутизации и находит. напрямую подключенный сегмент сети и может получить доступ к другим vlanifs. Загрузите терминал. Важная проблема здесь заключается в том, что ядро ​​A не знает, где находятся 192.168.10.0/24 и 192.168.11.0/24? Та же основная компания Б не знает, где 192.168.253.0/24 192.168.254.0/24 192.168.255.0/24? Если посмотреть на проблему с другой стороны, ядро ​​A и ядро ​​B в настоящее время не знают, как добраться друг до друга и кто должен с этим справиться. Решение состоит в том, чтобы сначала открыть + ядро ​​A и ядро ​​B и сказать ядру A, чтобы они пошли туда. ядро B. Как перейти в сегмент интрасети, аналогично сообщите ядру B, как перейти в сегмент интрасети ядра A, чтобы со связью не было проблем.

(3) Как пройти через это?

Первый шаг: вам нужно пройти через ядра A и B.

Представьте себе, почему 192.168.255.1 ПК2 может взаимодействовать с vlanif10:192.168.255.254 ядра A?

В той же VLAN трафик ПК2 проходит через офисную зону и имеет тег vlan10, а vlanifID ядра A также равен 10.

В том же сегменте сети сегмент сети ПК находится в том же сегменте сети, что и vlanif10 ядра A, поэтому они могут взаимодействовать друг с другом. Если одно и то же ядро ​​A и B хотят взаимодействовать, должны быть выполнены два условия (1) в одной и той же виртуальной локальной сети (2) в одном и том же сегменте сети.

Например, запланируйте отдельный vlan250 для межсоединения и создайте vlanif250 на обеих сторонах в одном и том же сегменте сети. Обратите внимание, что при планировании межсоединения vlan и сегмент сети не должны конфликтовать или дублировать те, которые используются во всей сети, иначе это произойдет. вызвать проблемы в будущих развертываниях. Это очень хлопотно, приходите и настраивайте соединение.

Язык кода:javascript
копировать
CoreA
[Core]sysname  Core_A 
[Core_A]vlan 250
[Core_A]
interface  vlan 250
[Core_A-Vlanif250]
ip  add 192.168.250.1 24
[Core_A-Vlanif250]int  g0/0/23
[Core_A-GigabitEthernet0/0/23]port  link-type a
[Core_A-GigabitEthernet0/0/23]port  default vlan 250

 CoreB
[Core_B]vlan 250
[Core_B]
int vlan 250
[Core_B-Vlanif250]
ip  add 192.168.250.2 24
[Core_B-Vlanif250]inte  g0/0/23
[Core_B-GigabitEthernet0/0/23]port  link-type a
[Core_B-GigabitEthernet0/0/23]port  default vlan 250
Язык кода:javascript
копировать
Sep  5 2021 14:46:25-08:00 Core_A %%01IFNET/4/IF_STATE(l)[2]:Interface Vlanif250 has turned intoUP state.
Sep  5 2021 14:46:25-08:00Core_A %%01IFNET/4/LINK_STATE(l)[3]:The line protocol IP on the interface Vlanif250 has entered the UP state.
Sep  5 2021 14:47:51-08:00Core_B %%01IFNET/4/IF_STATE(l)[1]:Interface Vlanif250 has turned into UP state.
Sep  5 2021 14:47:51-08:00Core_B %%01IFNET/4/LINK_STATE(l)[2]:The line protocol IP on the interface Vlanif250 has entered the UP state.

Когда интерфейс добавляется к vlan 250, соответствующий vlanif активен. Это связано с тем, что порт G0/0/23 активен и принадлежит vlan 250. Давайте проверим его с помощью ping.

Здесь прямое соединение между ядром A и ядром B в порядке, а процесс связи также очень прост.

  • vlanif250 ядра A отправляет ARP-запрос о том, что такое 192.168.250.2 (переносящий vlan tag 250), при прохождении через порт G0/0/23 интерфейс принадлежит доступу vlan 250, снимите этикетку и отправьте
  • После получения запроса G0/0/23 ядра B пометил vlan 250, узнал MAC-адрес и кэшировал запись ARP (одновременно записывая трехуровневые записи). Он обнаружил, что запрос был для его собственного vlanif250. ИП, вот оно и ответило
  • CoreBпроходитьvlanif250Ответ также будет помеченvlan250изtag,При отправке через порт G0/0/23,Долженинтерфейспринадлежатьaccess vlan 250, снимите этикетку и отправьте
  • Ядро A получает его от G0/0/23, помечает его vlan 250, изучает MAC-адрес и кэширует запись ARP (одновременно записывая трехуровневые записи).
  • Затем отправляется ICMP-запрос, и процесс тот же.

Шаг 2. Как ядро ​​A подключается к сети за ядром B? (Конфигурация зарезервирована и будет использована в следующей статье)

Когда Клиент 2 обращается к WEB A, после того, как данные запроса достигают ядра A, ключевым шагом является таблица маршрутизации. Поскольку ядро ​​A имеет прямой маршрут сегмента сети WEB A, связь может осуществляться.

Предположим, Клиент 2 хочет получить доступ к сервису 192.168.11.1 в ядре B.

В это время

Это не удалось, потому что после того, как пакет данных прибыл в ядро, ядро ​​проверило таблицу маршрутизации и обнаружило, что не было совпадения маршрута, связанного с 192.168.11.1. Оно напрямую отбросило его и вернуло сообщение ICMP о недоступности, чтобы проинформировать клиента. , проблема была известна. Мы должны сообщить ядру A, как перейти к сегменту сети 192.168.11.0, чтобы оно знало, как идти, и могло перенаправить его естественным путем. Технология, которая может реализовать эту функцию, называется статической маршрутизацией.

Статическая маршрутизация:Зависит отITРуководство менеджера Конфигурация Входитьмаршрутизацияповерхность,Функция состоит в том, чтобы сообщить устройству, как переслать сообщение к месту назначения.,Оставьте это тому, кому решать.

Формат команды: iproute-static {адрес назначения} {маска} {исходящий интерфейс} {следующий переход} {приоритет} состоит из

В этой топологии ядро ​​A хочет перейти на 192.168.11.1, который, естественно, должен быть передан для обработки ядру B. Адрес ядра B — подключенный 192.168.250.0. Давайте его настроим.

Язык кода:javascript
копировать
[Core_A]ip  route-static  192.168.11.1 32 Vlanif250  192.168.250.2 preference 60   

Если вы введете его из формата командной строки, он станет

  • Адрес назначения: 192.168.11.1, который является адресом WEB B.
  • маска:32,Указывает 255.255.255.255,В таблице маршрутизации это представляет маршрутизацию хоста.,Эквивалентно совпадению только адреса 192.168.11.1.
  • внеинтерфейс:vlanif250,пойти вCoreBстыковкаизинтерфейсдаvlanif250(В большинстве случаев это можно опустить)
  • Адрес следующего перехода: переход к 192.168.11.1. С точки зрения ядра A следующим переходом является ядро ​​B. Адрес подключения — 192.168.250.2, поэтому адрес следующего перехода — 192.168.250.2, и он передается ядру B для обработки. .
  • Приоритет: Статическая по умолчанию для устройств Huawei H3C. приоритет маршрутизации 60, этот шаг можно пропустить

Когда вы снова проверите таблицу маршрутизации с помощью таблицы маршрутизации displayip, вы увидите дополнительную статическую запись в таблице маршрутизации. Это функция этой команды. После глобальной настройки она будет доставлена ​​в таблицу маршрутизации, поэтому ядро ​​A. знает, как добраться до ядра Б.

В настоящее время ядро ​​A может получить доступ к 192.168.11.1. Означает ли это, что доступ успешен?

Шаг 3: Тест

Доступ не удался! ! ! , очевидно доступ к ядру успешный, давайте разберем, это тоже ошибка, которую склонны совершать многие начинающие друзья.

Процесс ARP здесь описываться не будет. Начнем непосредственно с TCP SYN.

(1) Клиент2 инициировал доступ SYN и обнаружил, что пункт назначения 192.168.11.1 не находится в том же сегменте сети, что и он сам, поэтому он передал пакет данных шлюзу и отправил его с сетевой карты.

(2) Когда пакет данных проходит через коммутатор в офисной зоне 2, он помечается VLAN 20, пересылается на уровне 2, изучает MAC и отправляет пакет из E0/0/1 (магистральная линия сохраняет тег без изменений).

(3) После того, как ядро ​​получило его, оно обнаружило, что это было оно само, а адрес назначения был 192.168.11.1. Оно знало, что требуется пересылка уровня 3, поэтому оно проверило таблицу маршрутизации, чтобы увидеть, существует ли соответствующий маршрут к 192.168.1.1. 11.1.

Обнаружено, что существует запись маршрутизации, идущая на 192.168.11.1, которая передается на обработку 192.168.250.2 и отправляется с физического порта, принадлежащего vlanif250.

Напрямую запросить запись ARP, с какого интерфейса она отправляется. Оказывается, 192.168.250.2 находится на порту G0/0/23, поэтому она отправляется с этого интерфейса (на практике соответствующая запись будет найдена непосредственно из Layer). 3 таблица пересылки, а затем отправлено, но искусственно Не вижу (так что здесь это кажется немного громоздким), кстати, информация уровня 2 будет повторно инкапсулирована. интерфейс принадлежит доступу. vlan 250, снимите метку напрямую

(4) Ядро B получает данные от G0/0/23. Интерфейс принадлежит виртуальной локальной сети 250, поэтому он помечает данные номером 250 и запоминает запись MAC-адреса.

Затем MAC-адрес назначения обнаружил, что это был он сам, и проверил уровень 3. IP-адрес назначения не был моим. Зная, что требуется переадресация уровня 3, он проверил таблицу маршрутизации, чтобы увидеть, существует ли маршрут к 192.168.11.1.

Ядро B обнаруживает, что 192.168.11.1 является его напрямую подключенным сетевым сегментом, и запрашивает запись ARP.

Обнаружено, что 192.168.11.1 находится в G0/0/2, поэтому информация уровня 2 повторно инкапсулируется (источником является MAC-адрес vlan11if, пунктом назначения является MAC-адрес 192.168.11.1) и отправляется (метка раздет)

5) После того, как сервер B получил его, он начал отвечать на SYN+ACK и обнаружил, что адрес назначения 192.168.254.10 не находится в том же сегменте сети, поэтому передал его на обработку шлюзу.

Возникает проблема: ядро ​​B не имеет маршрута к 192.168.254.10, что приводит к сбою доступа. Это также обычная путаница для новичков. Очевидно, что ядро ​​B было проверено, но реальный доступ не удался.

Шаг 4: Решите проблему

На данный момент есть две проблемы

  • Почему ядро ​​может успешно пинговать, а реальный доступ — нет?
  • Разрешить ядру B нормально возвращать пакеты

(1) Почему ядро ​​можно пропинговать, но реальный доступ сделать невозможно.

Давайте рассмотрим таблицу маршрутизации

Ядро A напрямую пингует 192.168.1

1.1, он будет искать таблицу маршрутизации и отправлять ее из физического интерфейса, на котором расположен vlanif250 (запросить таблицу ARP из G0/0/23. Адресом источника в это время является адрес vlanif250 (192.168.250.1). , а адрес назначения — 192.168.1.1.

Ядро B получает его и запрашивает таблицу маршрутизации, чтобы найти маршрут с прямым подключением.

Наступает ключевой момент. WEB B отвечает на ответ ICMP и передается шлюзу для обработки. Аналогично ядро ​​B запросит таблицу маршрутизации.

У него есть маршрут к 192.168.250.1. Поскольку он подключен напрямую, он может в конечном итоге достичь ядра A и завершить весь процесс ICMP.

Фактическое посещение невозможно.дапотому чтоэтоиз Исходный адрес становится192.168.254.10,В это времяCoreBизмаршрутизацияповерхностьвда Нет,Конечно, это не имеет смысла,Итак, вот небольшой совет,По умолчанию пинг сетевых устройств,Оно было отправлено с указанием адреса таблицы маршрутизации интерфейса в качестве источника.,Фактически, вы можете сами определить другие адреса для тестирования.

Параметр ping -a указывает адрес источника. Адрес источника должен быть реальным в устройстве. Здесь используется сетевой адрес vlan20. Общий смысл ping -a 192.168.254.254 192.168.11.1 заключается в том, чтобы разрешить коммутатору Ping. . При 192.168.11.1 используйте исходный адрес 192.168.254.254. В этот момент вы обнаружите, что связь отсутствует. Причина в том, что у другой стороны нет обратного маршрута, что приводит к сбою связи.

(2) Разрешить ядру B нормально возвращать пакеты.

Здесь следует помнить, что в сети TCP/IP большая часть доступа к данным осуществляется туда и обратно. Если описанная выше ситуация заблокирована, пакет данных прошел, и определенное устройство на другой стороне не знает, как это сделать. вернуть пакет, в результате чего связь не удалась, поэтому здесь вам нужно добавить статический маршрут на ядре B, чтобы оно знало, как перейти к сегменту сети 192.168.254.0.

Язык кода:javascript
копировать
[Core_B]ip  route-static 192.168.254.0 24 192.168.250.1

Статическая конфигурация здесь отличается от предыдущей. Адрес назначения — 192.168.254.0, а маска — 24 (255.255.255.0), что означает, что весь сегмент сети 192.168.254.0/24 совпадает. Почему так написано?

Если ты напишешь только сюда

Адрес назначения 192.168.254.10, маска 32, указывающая маршрутизацию хоста. Этот, 192.168.254.10, соответствует ПК4 (не удалось получить доступ к 192.168.254.100). На практике в сегменте сети, к которому требуется доступ, должно быть более одного компьютера, поэтому нам нужно включить весь сегмент сети, поэтому 192.168.254.0/ 24 Доступен весь сегмент сети.

(3) Тест

В это время можно получить доступ,потому чтоCoreBИди с этим192.168.254.0/24измаршрутизация

Все взаимодействие окончательно завершено, поэтому пока пакет данных идет, мы также должны учитывать, сможет ли другая сторона нормально вернуться.

(4) Еще раз узнайте больше о различных параметрах статической маршрутизации.

Язык кода:javascript
копировать
CoreA
ip  route-static 192.168.11.1 255.255.255.255 Vlanif250 192.168.250.2
CoreB
ip route-static  192.168.254.0 255.255.255.0 192.168.250.1

Глядя на таблицу маршрутизации, есть ли разница?

  • Приоритет (Pre): По умолчанию оборудование Huawei H3C Статическая Приоритет маршрутизации равен 60, поэтому настройку этого приоритета можно опустить.
  • Вывести интерфейс: хотя для вывода интерфейса рекомендуется использовать формат командной строки.,Но в реальном письме,Возможно, вы привыкли писать только адрес назначения, маску и следующий переход.,Потому что система проверит, какой интерфейс текущего устройства принадлежит этому сегменту сети, на основе вашего адреса следующего перехода.,Затем автоматически подключайтесь,Вот и вседаCoreBНет写внеинтерфейс,А вот причина, по которой его можно автоматически связать в таблице маршрутизации,Потому что 192.168.250.1,CoreBизvlanif250да В этом сегменте сетииз,Поэтому в большинстве случаев нет необходимости следить за интерфейсом.

Шаг 5. Завершите оставшиеся операции.

Тут дело не в этом, просто к 192.168.254.0/24 на стороне ядра А можно получить доступ к сегменту сети 192.168.11.0/24, а также 192.168.255.0/24 и 192. Доступ к 168.253.0/24 недоступен. Аналогично, 192.168.10.0/24 ядра B не может получить доступ к сегменту сети 192.168.255.0/24 ядра A, поэтому нам нужно продолжать писать маршруты, чтобы пройти через него.

Язык кода:javascript
копировать
[Core_A]ip  route-static 192.168.10.0 24 192.168.250.2
[Core_B]ip  route-static 192.168.255.0 24 192.168.250.1
[Core_B]ip  route-static 192.168.253.0 24 192.168.250.1

ПК5 теперь проверяет WEB B. Давайте попробуем Клиентом 3 получить доступ к WEB A.

Для Клиента 3 нет проблем с доступом к WEB A, поэтому обе стороны подключены.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose