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 - номер петлевого интерфейса, то есть один.