Я пытаюсь сделать OSX host-A специальным шлюзом для Linux host-B. Запись шлюза по умолчанию B была удалена, и добавьте определенный шлюз, как показано ниже. Примечание. 98.136.144.138 - это IP-адрес доменного имени «search.yahoo.com». Хост-A может нормально связаться с search.yahoo.com. ip для A составляет 10.192.29.246 а для ip - 10.192.13.160 .

Когда браузер host-B обновляет IP- 98.136.144.138 , веб-страница отображается, как и ожидалось. Но Wireshark не может перехватить какие-либо пакеты, иллюстрирующие, что пакеты от хоста-B достигают шлюза хост-A первым, а хост-A направляет эти пакеты. Почему информация не отображается?

  • Пакеты Wireshark перехвачены в host-B, как показано ниже. После того, как я добавлю конкретный маршрут и 98.136.144.138 поиска Yahoo в браузере хоста-B, появятся пакеты ниже линии на картинке. Но нет информации о пакетах для конкретного шлюза (хост-A). А как при необходимости доставить пакеты на шлюз?

  • Возвращает команду traceroute 98.136.144.138 в host-B, как показано ниже. И почему первая линия - это старый шлюз по умолчанию 10.255.255.1, а не конкретный шлюз host-A. Host-A ip 10.192.29.246 даже не показывал.

Если мы не можем отследить или перехватить данные от хоста-B к конкретному шлюзу (хост-A) в соответствии с таблицей маршрутизации при просмотре страницы "Поиск Yahoo", как мы узнаем, действительно ли произошло, что хост-B достигнет » Yahoo Search "страница через хост-A? Правила маршрутизации приведены в таблице маршрутизации, но нам нужно это знать. Любая помощь будет оценена.

Обновление: добавьте информацию о втором слое Wireshark ниже. 10.192.26.24 - это IP-адрес хоста-B с момента перезапуска (но хост-A по-прежнему 10.192.29.246). Первый пакет отправляется на MAC-адрес 00:00:5e:00:01:02 который принадлежит удаленному шлюзу по умолчанию 10.192.0.1 . Но как все-таки отправить его на удаленный шлюз? Все последующие пакеты не содержат MAC-адрес хоста-A.

Обновление: и схема для иллюстрации моей цели. Я не уверен, что это правильно? Сегодня, когда я повторил это, хост-B мог сначала получить доступ к 98.136.144.138 и Wireshark захватил некоторую информацию о "перенаправлении". Это реальная связь между хостом A и хостом B.

Однако через некоторое время это было действительно странно, хост-B больше не мог получить доступ к 98.136.144.138 , но перехваченный Wireshark хост-B действительно отправлял пакеты на хост-A через уровень Ethernet II, а не на исходный удаленный шлюз по умолчанию.

1 ответ1

1

Ваш дисплей tcpdump / wireshark показывает адреса уровня 3 (IP). Связь со шлюзом происходит на уровне 2 (Ethernet).

Вы должны развернуть один (любой) из пакетов ниже красной линии и сравнить MAC-адреса источника и назначения кадра с двумя хостами. Один будет хостом источника (хост B), а другой должен быть MAC-адресом шлюза (хост A), если все работает правильно.

IP-адрес источника и получателя пакета не изменится при прохождении через сеть и маршрутизаторы, но MAC-адрес кадра Ethernet (или другого уровня 2) будет отличаться для каждого участка этой поездки.

Что касается traceroute, вы, вероятно, можете найти способ настройки системы OS-X для отправки ошибок ICMP, чтобы хост OS-X обнаруживался в traceroute, но не ясно, что это будет способствовать достижению вашей основной цели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .