Freebsdがデフォルトのインターネットチャネルルートを変更する


10

freebsdに2つのインターネットチャネルとゲートウェイがあります。コマンドroute change default chan2でチャネルを切り替えると、netstat -nrデフォルトルートが変更されたことが表示されます。しかしtraceroute、パケットが古いルートchan1を通過することを示しています。

例:

$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

$ sleep 10

$ sudo route add default xxx.xxx.144.125


どのバージョンを実行していますuname -aか(表示する必要があります)?
クリスS

FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE#0:金4月15日12:45:40 MSD 2011 root@grs.ru:/ usr / src / sys / amd64 / compile / IXI_8_2_PF_x64 amd64
Taron

最初のルーティングテーブルのゲートウェイとtracerouteの最初のホップが同じではありません(.53と.54)-これをコピーして貼り付けるか、再入力しましたか?の完全な出力も投稿できますnetstat -rnf inetか?
James O'Gorman 2013

私のGW(.54)から実行されているtraceroute、.53はIPファーストプロバイダーのデバイスです。
タロン2013

5
新しいデフォルトルートを追加する前に、ARPキャッシュarp -d -aやルーティングテーブルをクリアしてくださいroute flush。おそらく、カーネル/ユーザー空間が古いデータを調べています。
inetplumber 2013

回答:



0

8.8.8.8へのキャッシュされたルートがある可能性はありますか?の完全な出力はそれnetstat -nrを示します。もしそうなら、変更をテストする前にそれを削除する必要があります-そのルートを具体的に、またはroute flushデフォルトゲートウェイを変更するのではなく追加してから追加できます(ただし、これを行うと、2つのコマンドの間に非ローカルトラフィックが中断されます仕方)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.