Freebsd змінить маршрут за замовчуванням на Інтернет-канал


10

У мене є два Інтернет-канали та шлюз у freebsd. Коли я перемикаю канал за допомогою команди route change default chan2, команда netstat -nrпоказує змінений маршрут за замовчуванням. Але tracerouteпоказує, що пакети проходять через старий канал1 маршруту.

Приклад:

$netstat -nr 
Routing tables Internet: Destination Gateway  Flags    Refs   Use  Netif Expire
                         default     xxx.xxx.183.54 US 0 8432    em3

$sudo route change default xxx.xxx.144.125 
change net default: gateway> xxx.xxx.144.125

$netstat -nr
Routing tables Internet: Destination Gateway Flags Refs Use  Netif Expire
                         default     xxx.xxx.144.125   US  2  16450  em3

АЛЕ

$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
 1  xxx.xxx.183.53 (xxx.xxx.183.53)  0.527 ms  0.415 ms  0.483ms

Все працює, якщо я запускаю таку комбінацію:

$ sudo route del default

$ сон 10

$ sudo route додати за замовчуванням xxx.xxx.144.125


Яку версію запущено ( uname -aмає відображатися)?
Chris S

FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE # 0: Пт квітня 15 12:45:40 MSD 2011 root@grs.ru: / usr / src / sys / amd64 / compile / IXI_8_2_PF_x64 amd64
Тарон

Шлюз у вашій першій таблиці маршрутизації та перший перехід у вашій послідовній послідовності не однакові (.53 проти .54) - ви скопіювали та вставили чи повторно ввели це? Чи можете ви також розмістити повний результат netstat -rnf inet?
Джеймс О'Горман

traceroute працює від мого GW (.54), .53 - перший пристрій IP-провайдера.
Тарон

5
Очистіть кеш-пам'ять ARP arp -d -aта / або таблиці маршрутів, route flushперш ніж додавати новий маршрут за замовчуванням. Можливо, ядро ​​/ користувацький простір консультують несвіжі дані.
inetplumber

Відповіді:


0

Якщо ви використовуєте route changeкоманду, вам потрібно перезапустити мережевий сервіс, щоб застосувати зміни, наприклад:

$ sudo /etc/rc.d/netif restart

0

Чи можливо у вас є кешований маршрут до 8.8.8.8? Повний результат роботи netstat -nrпоказав би це. Якщо це так, вам потрібно буде видалити його перед тестуванням змін - або конкретно, що це маршрут, або ви могли, route flushа потім додати, а не змінити шлюз за замовчуванням (але майте на увазі, це перерве немісцевий трафік під час між двома командами, якщо ви перейдете до цього спосіб).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.