cara menemukan gateway yang digunakan untuk routing


40

Ini di lingkungan unix. Saya memiliki beberapa rute di host (terlihat dengan perintah 'ip route show'). Jika saya mem-ping suatu alamat, bagaimana saya bisa mengetahui gateway mana yang digunakan untuk merutekan tracffic?

Saya mencoba menggunakan perintah traceroute, tetapi tidak menunjukkan gateway langsung.

Dari output di bawah ini, 10.58.227.1 adalah gateway default saya.

# ip r l
10.58.227.0/24 dev front_eth1  proto kernel  scope link  src 10.58.227.231
169.254.0.0/17 dev bond0  proto kernel  scope link  src 169.254.0.4
default via 10.58.227.1 dev front_eth1  proto gated

Ketika saya melakukan traceroute ke alamat eksternal, gateway yang digunakan (gateway default 10.58.227.1) tidak ditampilkan dalam output.

# traceroute -n -I 10.63.21.118
traceroute to 10.63.21.118 (10.63.21.118), 30 hops max, 40 byte packets
 1  10.58.112.1  0.507 ms  1.008 ms  1.017 ms
 2  10.63.21.118  0.228 ms  0.233 ms  0.234 ms

Apakah ada opsi untuk melihat informasi yang sama seperti yang diberikan oleh perintah traceroute, termasuk gateway yang digunakan untuk perutean?

Jawaban:


67

Anda dapat menggunakan ip route get <address>perintah untuk meminta kernel untuk melaporkan rute yang akan digunakan untuk mengirim paket ke alamat yang ditentukan:

$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0  src 192.168.0.121 
    cache 
$ 

192.168.0.1adalah rute default saya. Jika saya meminta alamat yang tidak akan melewati rute default:

$ ip route get 192.168.0.116
192.168.0.116 dev eth0  src 192.168.0.121 
    cache 
$ 

Banyak hal. :) Itu memecahkan masalah.

Pertanyaan sampingan acak - Jika 192.168.0.1"rute default" atau "gateway" ... nama apa yang akan digunakan untuk merujuk 192.168.0.121? Hanya "sumber"?
dtmland

@sarnold, harap konfirmasi apakah perlu internet di server itu.
kd12

@ kd12 Anda hanya perlu koneksi Internet di server itu jika Anda ingin merutekan paket ke Internet. Anda dapat mengatur jaringan IP tanpa terhubung ke Internet jika diinginkan; tabel routing tidak tahu dan tidak peduli, semuanya bekerja sama. :)
sarnold
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.