Memahami Tabel Perutean Windows dan Gateway Default

11

Catatan: Ini adalah lab komputer rumah saya dan bukan lingkungan bisnis / produksi. Saya sangat senang untuk memecahkannya dan memperbaikinya lagi, jadi ada saran dipersilahkan!

RINGKASAN

Saya telah menambahkan ringkasan cepat ini karena pertanyaan ini agak panjang. Jika Anda ingin detail lebih lanjut tentang tabel routing, konfigurasi IP, dll, lihat di bawah.

Saya memiliki beberapa NIC di komputer. Satu NIC adalah 172.16.200.1 / 24. Ketika saya mencoba melakukan ping 172.16.200.2 (host yang ada di jaringan), saya mendapat balasan. Sejauh ini baik.

Ketika saya mencoba terhubung ke 172.16.200.5 (atau host lain yang tidak ada), komputer akan kembali ke rute default saya (0.0.0.0 melalui gateway default saya 192.168.0.1) - ini kemudian akan dikirim oleh router rumah saya di mana ia kemudian hilang dalam perutean routing di jaringan ISP saya. Lebih banyak detail diberikan di bawah ini jika diperlukan, tapi saya kira ada seorang guru di luar sana yang dapat menjawab ini ...

Pertanyaanku adalah:

Bagaimana saya menghentikan komputer saya jatuh kembali ke gateway default untuk jaringan pribadi ketika tidak ada respon dari host di jaringan itu. Jaringan pribadi ini sudah memiliki rute eksplisit dengan metrik yang lebih rendah.

Saya telah menguji ini pada beberapa mesin (Server 2008 R2, Windows 7, Hyper-V Server 2012 R2, Windows Server 2012) dan mereka semua berperilaku dengan cara yang sama. Saya mulai menerima bahwa ini adalah 'perilaku normal' untuk mesin Windows, tetapi saya ingin tahu apakah ini dapat dihentikan.

Saya telah membuat VM Ubuntu dengan konfigurasi yang sama dengan VM Windows saya - VM Ubuntu tidak kembali ke rute default seperti yang dilakukan VM Windows. Saya telah menambahkan tabel routing dan hasil untuk VM Ubuntu dan Windows 8.1 VM di bagian bawah posting ini.

KETERANGAN LEBIH LANJUT

Saya telah melakukan pencarian ekstensif pada subjek ini dan pertanyaan terdekat yang pernah saya lihat adalah di sini: Routing loop: TTL kedaluwarsa dalam perjalanan , tetapi sayangnya itu tidak menjawab bagaimana menghentikan masalah atau mengubah perilaku di komputer. Jawabannya menyarankan untuk memperbaiki perutean. Saya dapat mengubah router saya untuk menjatuhkan semua yang ditujukan untuk alamat IP pribadi (atau meneruskannya ke IP teman serumah saya, hehehe), tetapi itu tidak akan mengubah perilaku komputer saya. (Saya juga membaca panduan subnetting hebat yang menjadi referensi dalam jawaban asli, yang dapat ditemukan di /server/49765/how-does-ipv4-subnetting-work )

Saya mengalami masalah dalam memahami mengapa komputer saya akan mencoba terhubung ke alamat IP pribadi melalui internet setelah mereka mencoba menggunakan adaptor internal mereka (untuk waktu yang singkat) kemudian gagal - misalnya, dalam mencoba melakukan ping ke host yang saya tahu tidak ada di jaringan saya ...

Pinging 172.16.200.32 with 32 bytes of data:
Reply from 172.16.200.1: Destination host unreachable.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.

Ping statistics for 172.16.200.32:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Tapi ping host yang ada berfungsi

Pinging 172.16.200.2 with 32 bytes of data:
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128

Ping statistics for 172.16.200.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

OK, jadi balasan dari 172.16.200.1 adalah komputer saya yang mengatakan tidak ada jawaban yang diterima ... tetapi kemudian, mengapa bahkan mencoba untuk terhubung melalui koneksi internet saya? Saya punya 4 NIC dan saya berada di jaringan 172.16.200.0 / 24 pada salah satunya…

Ethernet adapter HyperV External (built in):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::582c:97
   IPv4 Address. . . . . . . . . . . : 172.16.1.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter Expansion-2 (middle) HomeNetwork:

   Connection-specific DNS Suffix  . : Home
   IPv4 Address. . . . . . . . . . . : 192.168.0.117
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1

Ethernet adapter Expansion-3 (bottom) iSCSI-1 :

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 172.16.100.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter Expansion-1 (top) iSCSI-2:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 172.16.200.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Jadi, pada titik ini, masuk akal untuk melihat tabel routing ...

===========================================================================
Interface List
 16...64 70 02 00 1f 03 ......Gigabit PCI Express Network Adapter #2
 15...64 70 02 00 40 48 ......Gigabit PCI Express Network Adapter
 23...00 24 1d 1d f8 35 ......TST Onboard
 17...64 70 02 00 32 c1 ......Gigabit PCI Express Network Adapter #3
  1...........................Software Loopback Interface 1
 28...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 26...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 27...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
 29...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.117    410
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
       172.16.1.0    255.255.255.0         On-link        172.16.1.1    266
       172.16.1.1  255.255.255.255         On-link        172.16.1.1    261
     172.16.1.255  255.255.255.255         On-link        172.16.1.1    261
     172.16.100.0    255.255.255.0         On-link      172.16.100.1    266
     172.16.100.1  255.255.255.255         On-link      172.16.100.1    266
   172.16.100.255  255.255.255.255         On-link      172.16.100.1    266
     172.16.200.0    255.255.255.0         On-link      172.16.200.1    266
     172.16.200.1  255.255.255.255         On-link      172.16.200.1    266
   172.16.200.255  255.255.255.255         On-link      172.16.200.1    266
      192.168.0.0    255.255.255.0         On-link     192.168.0.117    266
    192.168.0.117  255.255.255.255         On-link     192.168.0.117    266
    192.168.0.255  255.255.255.255         On-link     192.168.0.117    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.0.117    266
        224.0.0.0        240.0.0.0         On-link      172.16.100.1    266
        224.0.0.0        240.0.0.0         On-link      172.16.200.1    266
        224.0.0.0        240.0.0.0         On-link        172.16.1.1    261
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.0.117    266
  255.255.255.255  255.255.255.255         On-link      172.16.100.1    266
  255.255.255.255  255.255.255.255         On-link      172.16.200.1    266
  255.255.255.255  255.255.255.255         On-link        172.16.1.1    261
===========================================================================
Persistent Routes:
  None

Saya pertama kali berpikir metrik rute 0.0.0.0 adalah penyebabnya - awalnya 6, jadi saya mencoba mengubahnya menjadi 410 yang belum mengubah perilaku. (Omong-omong, saya tidak pernah mengacaukan tabel routing pada mesin ini sebelumnya). Saya kemudian membandingkannya dengan mesin Hyper-V 2012 R2 yang saya miliki di 3 jaringan yang sama (172.16.1.0, 172.16.100.0 dan 172.16.200.0) dan saya perhatikan mesin Hyper-V juga memiliki metrik 6 untuk 0,0. .0.0 rute, jadi saya rasa ini normal dan benar ...

Saya kemudian mencoba mengubah 172.16.200.0 menjadi rute persisten, seperti di bawah ini, tetapi masih tidak berhasil.

===========================================================================
Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric
       172.16.200.0  255.255.255.0       172.16.1.1       1
===========================================================================

Saya juga mencoba meningkatkan metrik (saya tahu lebih rendah lebih disukai, tetapi hanya memetikan, eh?) ... tentu saja, tidak berhasil.

Dalam "Pengaturan Lanjut" di Jendela Sambungan Jaringan, saya telah mengonfirmasi bahwa adaptor 192.168.0.117 adalah yang terendah dalam urutan Adapters and Bindings…

Jadi, setelah sedikit membenturkan kepalaku, aku bingung. Jelas menghapus rute 0.0.0.0 menghentikannya, tapi tentu saja itu akan menghentikan internet saya juga ...

Bagaimana saya bisa menghentikan mesin saya dari mencoba untuk pergi melalui gateway default saya 192.168.0.1 ketika mencoba untuk mencapai host pada 172.16.200.0 ...

http://technet.microsoft.com/en-us/library/cc779122%28v=ws.10%29.aspx ("Tabel Routing IP: TCP / IP") tampaknya menyarankan bahwa "Rute default biasanya meneruskan sebuah Datagram IP (yang tidak ada rute lokal yang cocok atau eksplisit) ke alamat gateway default untuk router di subnet lokal. " Betapa lebih eksplisit yang bisa saya dapatkan dengan rute itu!

Jawaban di sini adalah gateway rute persisten Windows tidak tersedia sehingga rute default yang digunakan menunjukkan bahwa ini adalah perilaku normal - ketika rute persisten ditambahkan, itu akan mencoba untuk menggunakan rute itu jika memungkinkan, tetapi kemudian kembali ke rute default ketika gagal. Tentunya itu bisa menghadirkan beberapa masalah lalu lintas yang cukup serius, belum lagi masalah keamanan (informasi pribadi bocor ke internet, atau setidaknya jaringan pribadi ISP Anda ...)

Beberapa info tambahan: Server ini menjalankan NPS / RRAS biasanya - menonaktifkannya, dan bahkan menghapusnya tidak melakukan apa-apa. Selain itu, saya membuat VM R2 2008 yang baru, memberinya dua NIC, satu langsung pada jaringan 192.168.0.0, dan yang lain pada jaringan 172.16.200.0 dan melakukan hal yang sama ... Saya harap Anda dapat memberi tahu saya bahwa saya sudah menghabiskan sedikit waktu untuk ini.

Saya telah mengatur router rumah saya untuk meneruskan semua barang 172.16.XX kembali ke komputer saya sendiri, tapi itu solusinya ...

Apakah ada sesuatu yang saya lewatkan? Sesuatu yang jelas, mungkin? Apakah saya meminta yang tidak mungkin?

[PEMBARUAN # 1 DAN # 2]

Saya telah menggali setiap bit konfigurasi pada router saya dan tampaknya tidak menangani permintaan proxy ARP - bahkan tidak memiliki pengaturan untuk itu yang dapat saya lihat.

Saya menggunakan MS Network Monitor 3.4 untuk menguji apakah permintaan ARP dijawab oleh router, dan tidak. Saya dapat melihat permintaan ARP dikirim ketika saya mencoba untuk melakukan ping ke host yang tidak ada dan saya tidak menerima tanggapan ARP. Ping host yang ada, secara alami memberi saya respons ARP. Apakah aman untuk mengasumsikan pada titik ini bahwa router saya tidak menangani permintaan proxy ARP?

Tabel routing pada router WS sebagai berikut:

 > route show
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.20.21.36     *               255.255.255.255 UH    0      0        0 ppp0
192.168.0.0     *               255.255.255.0   U     0      0        0 br0
default         *               0.0.0.0         U     0      0        0 ppp0

Saya menambahkan entri ini di bawah ini sebagai tindakan penghentian sementara kesenjangan - ini menghentikan paket saya yang "hilang" dari pergi ke ISP saya:

172.16.1.0      192.168.0.117   255.255.255.0   UG    1      0        0 br0
172.16.100.0    192.168.0.117   255.255.255.0   UG    1      0        0 br0
172.16.200.0    192.168.0.117   255.255.255.0   UG    1      0        0 br0

[UPDATE # 3 - Menambahkan tabel routing Ubuntu dan Win8.1 VMs]

OK, jadi saya membuat VM Ubuntu baru dan VM Windows 8.1 baru. Ubuntu VM tidak mencoba untuk kembali ke rute 0.0.0.0, tetapi Windows 8.1 melakukannya. Saya mencoba ping-a-tidak-ada-host lama dan menonton lalu lintas pada router 172.16.1.1. Ia menerima permintaan ICMP dari Windows 8.1 VM dan meneruskannya, tetapi ia tidak pernah melihat lalu lintas ICMP dari VM Ubuntu.

Tabel Ubuntu VM di bawah ini:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
0.0.0.0         172.16.1.1      0.0.0.0         UG    0      0        0 eth0     0     0      0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1     0     0      0
172.16.1.0      0.0.0.0         255.255.255.0   U     1      0        0 eth0     0     0      0
172.16.200.0    0.0.0.0         255.255.255.0   U     1      0        0 eth1     0     0      0

Tabel Windows 8.1 di bawah ini:

===========================================================================
Interface List
  9...00 15 5d 01 4c 1c ......Microsoft Hyper-V Network Adapter #2
  3...00 15 5d 01 4c 08 ......Microsoft Hyper-V Network Adapter
  1...........................Software Loopback Interface 1
  4...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       172.16.1.1     172.16.1.101      5
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
       172.16.1.0    255.255.255.0         On-link      172.16.1.101    261
     172.16.1.101  255.255.255.255         On-link      172.16.1.101    261
     172.16.1.255  255.255.255.255         On-link      172.16.1.101    261
     172.16.200.0    255.255.255.0         On-link      172.16.200.1    261
     172.16.200.1  255.255.255.255         On-link      172.16.200.1    261
   172.16.200.255  255.255.255.255         On-link      172.16.200.1    261
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      172.16.1.101    261
        224.0.0.0        240.0.0.0         On-link      172.16.200.1    261
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      172.16.1.101    261
  255.255.255.255  255.255.255.255         On-link      172.16.200.1    261
===========================================================================
Persistent Routes:
  None
Gund
sumber
1. Apakah router / firewall Anda melakukan ARP proxy untuk ruang alamat internal Anda? 2. Seperti apa tabel routing pada router / firewall Anda?
joeqwerty
1
Jika Anda ingin menghentikan paket ruang angkasa RFC 1918 agar tidak keluar, cukup null rute 10/8, 172.16 / 12 dan 192.168 / 16 (atau rutekan kembali ke LAN Anda). Tidak ada pengaturan khusus, paket-paket itu seharusnya tidak masuk / keluar dari jaringan Anda. Meskipun saya sama sekali tidak yakin itu pendekatan terbaik (mungkin akan merusak beberapa hal di ujung lain).
CVn
Mempertimbangkan versi Windows yang sedang Anda bicarakan dan nada umum dari posting ini, saya kira Anda berada di lingkungan perusahaan, dalam hal ini Anda mungkin ingin mempertimbangkan menandai posting ini untuk perhatian moderator dan meminta migrasi ke Server Fault .
CVn
Hai Michael, terima kasih atas jawabannya. Saya telah menambahkan rute untuk 10/8, 172.16 / 12 dan 192.168 / 16 pada router saya untuk kembali ke komputer saya (192.168.0.117) sehingga mereka tidak dapat dikirim melalui internet. Saya ingin tahu apakah ini sesuatu yang harus dikonfigurasi oleh setiap router? Juga, saya harus mengklarifikasi bahwa ini adalah laboratorium rumah saya dan bukan lingkungan perusahaan atau bisnis. Saya hanya menggunakannya untuk belajar.
Gund

Jawaban:

2

Gagal ke rute default adalah perilaku normal sejak Vista, Anda dapat membaca tentang ini di artikel berikut: Sumber pemilihan alamat IP pada Komputer Windows Multi-Homed .

Masalah loop disebabkan oleh router yang salah konfigurasi, yang mengirim kembali paket menggunakan subnet yang berbeda, alih-alih menjatuhkannya.

mtm
sumber
Hanya tautan jawaban yang menjadi sia-sia jika tautan turun. Tolong jelaskan bagaimana menyelesaikan masalah sambil mengutip sumbernya.
Raystafarian
Maaf, menambahkan beberapa detail.
mtm
1
Hai, maaf atas jawaban yang terlambat, tetapi banyak terima kasih atas tautan MTM itu! Ini menjelaskan mengapa saya melihat perilaku khusus ini dan telah memberi saya titik awal yang baik untuk penelitian mengubahnya.
Gund