freebsd에 두 개의 인터넷 채널과 게이트웨이가 있습니다. 명령으로 채널을 전환 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
수면 $ 10
$ sudo route add 기본 xxx.xxx.144.125
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
첫 번째 라우팅 테이블의 게이트웨이와 트레이스 루트의 첫 번째 홉이 동일하지 않습니다 (.53 대 .54). 복사하여 붙여 넣기 또는 다시 입력 했습니까? 당신은 또한 전체 출력을 게시 할 수 있습니까
—
James O'Gorman
netstat -rnf inet
?
내 GW (.54)에서 실행되는 traceroute, .53은 IP 최초 제공 업체의 장치입니다.
—
Taron
새 기본 경로를 추가하기 전에 ARP 캐시
—
inetplumber
arp -d -a
및 / 또는 라우팅 테이블 route flush
을 지우십시오. 아마도 커널 / 사용자 공간이 오래된 데이터를 참조하고있을 것입니다.
uname -a
표시해야 함)?