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
Jawaban:
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.
sumber