Может только пинговать один путь через маршрутизатор виртуальной машины
ТЛ; др
У меня есть две локальные сети (одна внутренняя локальная сеть VirtualBox) и виртуальная машина Win2K, действующая как маршрутизатор между ними. Я могу пинговать хосты из одной сети в другую, но не наоборот.
Резюме
Я использую VirtualBox 4.3.6 с группой виртуальных машин во внутренней сети (10.0.42.x). Все виртуальные машины - Windows 2000 Server SP4 (не мой первый выбор, но каждый делает то, что у него есть). Мой ноутбук работает под управлением Windows 7 Home Premium. Я пытаюсь настроить один из серверов для маршрутизации между внутренней сетью VirtualBox и физической локальной сетью (192.168.1.x), которую я буду называть внешней сетью для целей этого вопроса. Маршрутизатор имеет 2-й сетевой адаптер с мостовым соединением (поэтому он выглядит так, как если бы он находился во внешней локальной сети).
Прежде чем кто-либо спросит, как они неизбежно делают, это упражнение обучения.
В настоящее время
- Виртуальная машина маршрутизатора может пропинговать любой пункт назначения в обеих сетях.
- Мой ноутбук может пропинговать любого гостя в виртуальной сети. Я должен был вручную добавить маршрут, чтобы выполнить это:
route add 10.0.42.0 MASK 255.255.255.0 192.168.1.42
, Маршрутизатор работает правильно для трафика, поступающего во внутреннюю сеть. - Гости могут пинговать любой пункт назначения во внутренней сети, а также внешний интерфейс маршрутизатора. Однако они не могут получить доступ к любому хосту во внешней сети, например, к моему ноутбуку или маршрутизатору DSL (ни один из которых не блокирует запросы ping).
Сбой запросов Ping с Request timed out.
tracert
выходы:
Трассировка маршрута до 192.168.1.69 в течение максимум 30 прыжков 1 <10 мс <10 мс <10 мс 10.0.42.1 2 * * * Время запроса истекло. 3 * * * Время запроса истекло....
куда 192.168.1.69
мой ноутбук и 10.0.42.1
это адрес внешнего интерфейса маршрутизатора. Это наводит меня на мысль о том, что что-то не так с конфигурацией маршрутизатора, но все, что я сделал, это настроил RRAS для маршрутизации по локальной сети и оставил все как есть, и это не мешает мне пинговать во внутреннюю сеть.
Что я думаю, я могу исключить
- Межсетевые экраны (каждый задействованный хост отвечает на пинг откуда- то).
- Опечатки (я скопировал наклейку до паранойи, чтобы избежать ошибок).
Что я пробовал
- Удаление и перенастройка RRAS.
- Добавлен маршрут по умолчанию для гостей (
route add 192.168.1.0 MASK 255.255.255.0 10.0.42.1
). - Добавлен шлюз по умолчанию для сетевых карт маршрутизатора (не думал, что это поможет, и это не так).
конкретика
Более подробная информация по запросу; этот вопрос, вероятно, достаточно длинный, как есть.
портативный компьютер
IP 192.168.1.69/24
Шлюз по умолчанию (маршрутизатор DSL)
маршрутизатор
IP 192.168.1.42/24
IP 10.0.42.1/24
гость
IP 10.0.42.128/24
Шлюз по умолчанию 10.0.42.1
Таблицы маршрутов
Я включил таблицы маршрутизации для гостя, который не может пропинговать вне своей собственной сети (на самом деле это другой гость (10.0.42.254), но, как и все гости, кроме маршрутизатора, у него та же проблема):
Метрика интерфейса сетевого шлюза сети назначения 0.0.0.0 0.0.0.0 10.0.42.1 10.0.42.254 1 10.0.42.0 255.255.255.0 10.0.42.254 10.0.42.254 1 10.0.42.254 255.255.255.255 127.0.0.1 127.0.0.1 1 10.255.255.255 255.255.255.255 10.0.42.254 10.0.42.254 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.1.0 255.255.255.0 10.0.42.1 10.0.42.254 1 224.0.0.0 224.0.0.0 10.0.42.254 10.0.42.254 1 255.255.255.255 255.255.255.255 10.0.42.254 10.0.42.254 1 Шлюз по умолчанию: 10.0.42.1
1 ответ
Когда один хост успешно пропингует другой:
ICMP Echo Request
пакет собирается отправителем, с таблицами маршрутов обращаются, выбирается интерфейс, и пакет отправляется на более низкие уровни OSI на целевой хост.
Целевой хост получает ICMP Echo Request
адресованный самому себе, записывает IP-адрес запрашивающей стороны и формулирует ICMP Echo Reply
, просматривает таблицы маршрутов, выбирает интерфейс и отправляет Reply
вернуться к заявителю.
Заявитель получает ICMP Echo Reply
отмечает время, необходимое для завершения цикла отправки и получения, и записывает его пользователю.
На этом этапе пакет прошел путь от A до B, а другой прошел успешно от B до A.
Это подтверждает, что A может добраться до B, а B может добраться до A.
Это должно быть концом этого, но по какой-то причине B не может отправить Echo Request
на А, или А не может отправить Echo Reply
в Б.
Проверьте, какие IP-адреса используются, когда A успешно пропингует B, и убедитесь, что они используются, когда B пытается пропинговать A.
Это проблема с ping
программа? Могут ли две системы связаться друг с другом через TCP? (telnet B 25 Ожидается отказ в соединении; зависание означает, что данные теряются по пути.