Loopback в таблице маршрутов

Я и работаю над проектом по созданию эмулятора WAN с использованием FreeBDS в гостевой системе VMWare, настроенной для маршрутизации трафика между операционной системой хоста и обычным маршрутизатором шлюза. Я планирую изменить таблицу маршрутизации на хосте так, чтобы ее трафик перенаправлялся правильно, и использовать ipfw в гостевой системе для изменения различных характеристик сети.

В Windows 7 я могу полностью очистить таблицу маршрутов с помощью "ROUTE -f", но после этого я не могу воссоздать маршруты для адреса обратной связи.

Вот моя таблица маршрутов перед очисткой с помощью "ROUTE -f":

===========================================================================
Interface List
 10...00 1c c0 ea c9 c2 ......Realtek RTL8168D/8111D Family PCI-E Gigabit
 Ethernet NIC (NDIS 6.20)
 18...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
 20...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
  1...........................Software Loopback Interface 1
 11...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 12...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 19...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
 21...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.68     20
       10.10.10.0    255.255.255.0         On-link        10.10.10.1    276
       10.10.10.1  255.255.255.255         On-link        10.10.10.1    276
     10.10.10.255  255.255.255.255         On-link        10.10.10.1    276
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link      192.168.1.68    276
     192.168.1.68  255.255.255.255         On-link      192.168.1.68    276
    192.168.1.255  255.255.255.255         On-link      192.168.1.68    276
    192.168.110.0    255.255.255.0         On-link        10.10.10.1    276
    192.168.110.1  255.255.255.255         On-link        10.10.10.1    276
  192.168.110.255  255.255.255.255         On-link        10.10.10.1    276
    192.168.163.0    255.255.255.0         On-link     192.168.163.1    276
    192.168.163.1  255.255.255.255         On-link     192.168.163.1    276
  192.168.163.255  255.255.255.255         On-link     192.168.163.1    276
===========================================================================
Persistent Routes:
  None

После "ROUTE -f" все маршруты ниже "Активные маршруты:" исчезают в Windows 7. (Это не происходит в Vista; там только шлюз по умолчанию, верхняя строка, исчезает.) Я смог воссоздать таблицу по большей части, но я не могу воссоздать маршрут для 127.0.0.1. Сообщение об ошибке не появляется, но отображается текст справки для ROUTE.

Может кто-нибудь сказать мне ручной способ добавить обратно маршрут для адреса обратной связи?

3 ответа

Решение

Если вы хотите воссоздать этот маршрут:

        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306

Тогда вы должны сделать это:

route add 127.0.0.1 mask 255.255.255.255 0.0.0.0 metric 306

Тем не менее, вы заметите, что METRIC никогда не воссоздается. Я понятия не имею, почему это так, но, вероятно, это просто Windows пытается перехитрить пользователя. Вы можете добиться большего успеха при использовании "... METRIC 1". Кроме того, чтобы воссоздать On-link, вы просто используете 0.0.0.0,

Еще две вещи.

(1) При удалении маршрутов Windows удаляет ВСЕ маршруты на этом Network Destination, Таким образом, они должны быть воссозданы, как вы заметили.

(2) Обнаружение локальных петлевых интерфейсов не очень хорошо поддерживается в Windows, поэтому вам необходимо убедиться, что петлевые маршруты сначала "выходят" из интерфейса, обычно через внешний шлюз.

Когда пользователи не могут пропинговать 127.0.0.1, один из шагов по устранению неполадок, который мы использовали, был netsh winsock reset, Требуется перезагрузка машины, но у меня это просто сработало.

Я думаю о том, что лучше использовать это (в файле *.bat):

route -p add 127.0.0.1 mask 255.255.255.255 0.0.0.0 metric 1 if 1
route -p add 127.0.0.0 mask 255.0.0.0 0.0.0.0 metric 1 if 1

и там же сразу следующая команда:

route -p change 127.0.0.1 mask 255.255.255.255 0.0.0.0 metric 1 if 1
route -p change 127.0.0.0 mask 255.0.0.0 0.0.0.0 metric 1 if 1

где если 1 - номер петлевого интерфейса, то есть один.

Другие вопросы по тегам