Cara membezakan gelung penghalaan daripada laluan yang berkelip di tapak VPN
Gelung penghalaan dan laluan tidak stabil menyebabkan kehilangan berselang yang sama. Tiga pemeriksaan pada gateway membezakan keduanya sebelum anda mengubah apa pun.
Dua tapak, satu terowong dan satu awalan jauh yang menjawab seketika lalu senyap. Refleksnya ialah menyebutnya gelung penghalaan, dan kadangkala memang itulah. Tetapi gelung dan laluan yang berkelip menghasilkan aduan yang sama dan memerlukan pembaikan yang bertentangan: satu ialah keputusan penghantaran yang tidak pernah tamat, satu lagi ialah awalan yang terus meninggalkan jadual. Tiga pemerhatian memisahkan keduanya, dan anda boleh mengumpul ketiga-tiganya dari baris perintah gateway sebelum menyentuh penapis atau memulakan semula terowong.
Gelung ditentukan hop demi hop. Tapak A memilih B sebagai hop seterusnya untuk destinasi, B memilih A untuk destinasi yang sama, dan paket tamat pada TTL selepas dua perjalanan pergi balik. Kelipan pula ditentukan oleh protokol penghalaan: awalan ditarik balik, dipasang semula atau diganti dengan hop seterusnya alternatif, jadi sesetengah paket tidak mempunyai laluan sama sekali manakala yang lain mengikut laluan yang sangat baik.
Tiga pemeriksaan yang menyelesaikan persoalan
Anda tidak memerlukan tangkapan paket untuk membuat keputusan pertama. Anda perlukan keadaan awalan di kedua-dua hujung, hop seterusnya yang dipilih oleh setiap pihak, dan bilangan hop yang berulang atau tidak. Jika awalan kekal dipasang dengan hop seterusnya yang sama semasa trafik gagal, gelung itu tinggal di laluan penghantaran. Jika awalan hilang dan kembali, kerosakan itu berada di atas penghantaran dan pembaikannya milik protokol penghalaan, bukan laluan statik.
| Observation | Routing loop | Route flapping |
|---|---|---|
| Prefix in the table | Installed, same next hop throughout | Withdrawn and reinstalled, or next hop alternates |
| Hop count | Reaches zero at the same two gateways | Expires only while the prefix is missing |
| Failure shape | Consistent loss for that prefix from every source | Bursts, often after a link or peer event |
| Where the fix belongs | The site that owns the prefix, plus filters on the transit path | Advertisement, hold timers, or the flapping link |
Satu amaran sebelum bermula. Jika anda membaca ini melalui terowong yang bergelung, sesi anda mati pada saat anda menukar laluan. Buka konsol atau laluan pengurusan yang tidak bergantung pada awalan yang anda akan baiki.
Pemeriksaan satu: adakah awalan itu stabil atau bergejolak
Tanya kernel apa yang dipasangnya, bukan apa yang dijanjikan fail konfigurasi. Pada gateway Linux, ip route get 10.20.30.40 menjalankan carian yang sama seperti laluan penghantaran, termasuk jadual dasar, manakala ip route show 10.20.30.0/24 menunjukkan entri itu sendiri. ip monitor route menstrim setiap perubahan pada saat ia berlaku, iaitu cara terpantas untuk melihat awalan datang dan pergi.
Pada penghala yang menjalankan FRR atau BIRD, jadual penghantaran bukan yang menarik. show ip bgp 10.20.30.0/24 mengembalikan laluan terpilih dan masa hidupnya; masa hidup yang ditetapkan semula setiap beberapa minit ialah kelipan yang boleh anda namakan, bukan gelung. show ip bgp summary menunjukkan keadaan jiran dan kiraan awalan, jadi rakan yang terus jatuh melepaskan kesalahan daripada laluan penghantaran.
Tulis jawapannya sebelum mengubah apa pun. Stabil selama sepuluh minit semasa ping gagal, dan hilang empat kali dalam sepuluh minit, membawa kepada langkah seterusnya yang berbeza. Yang kedua menjadikan setiap teori laluan statik tidak relevan.
Pemeriksaan dua: adakah hop seterusnya menunjuk kembali ke terowong ketibaan
Gelung memerlukan dua gateway bersetuju. Di tapak yang menerima paket, lihat laluan yang akan digunakan paket untuk keluar: ip route get 10.20.30.40 from 10.10.5.20 dengan alamat sumber sebenar, kerana peraturan dasar mungkin menjawab berbeza daripada jadual utama. Kemudian ulangi carian di tapak yang menghantarnya. Jika setiap pihak memilih yang lain sebagai hop seterusnya untuk awalan yang sama, gelung terbukti dan tiada tangkapan akan menambah apa-apa.
Puncanya hampir selalu pengumuman yang tidak sepatutnya melintasi terowong. Laluan lalai yang diagihkan semula ke dalam terowong, agregat yang meliputi subnet tapak jauh itu sendiri, atau laluan statik ke rakan untuk berjaga-jaga semuanya mencipta hop seterusnya timbal balik yang sama. Terowong boleh terbentuk sepenuhnya dan masih membawa trafik berpusing; nota penghantaran strongSwan menerangkan bahagian penghalaan keperluan itu.
WireGuard wajar mendapat nota sendiri, kerana tiada pengumuman untuk dipersalahkan. wg show menyenaraikan AllowedIPs bagi setiap rakan, dan kernel hanya menerima destinasi untuk rakan jika ia jatuh dalam julat itu. Gelung di situ ialah julat AllowedIPs yang bertindih atau laluan statik yang menunjuk kembali merentasi antara muka, jadi pembaikannya hanya wujud di dua tempat itu.
Pemeriksaan tiga: baca kiraan hop, bukan bintang
traceroute -n -I 10.20.30.40 dan mtr -n -r -c 20 10.20.30.40 kedua-duanya menunjukkan laluan, dan mod ICMP sering bertahan daripada penapisan yang memakan prob UDP. Gelung kelihatan seperti urutan pendek berulang dua alamat gateway yang sama dengan TTL naik setiap kali. Kejatuhan kelihatan seperti bintang selepas gateway terakhir yang menjawab, dan satu hop senyap bukan bukti apa-apa.
Apabila laluan kabur, baca TTL pada wayar. tcpdump -ni any -vv icmp pada kedua-dua gateway menunjukkan TTL setiap paket dan alamat sumber setiap balasan melebihi masa. Jika paket sampai ke tapak jauh dengan TTL lebih rendah daripada bilangan hop yang boleh ada pada laluan, sesuatu menambah hop yang tidak ditunjukkan oleh traceroute kepada anda, dan itu berlaku apabila firewall satu tapak menjawab prob bagi pihak tapak lain.
Baiki pemilik awalan, kemudian sahkan kedua-dua arah
Putuskan tapak mana yang menjana destinasi dan laluan transit mana yang dibenarkan, kemudian ubah pengumuman atau laluan statik pada pemilik itu. Membaiki tapak penerima mengghairahkan dan biasanya salah: ia menyembunyikan gelung untuk satu awalan dan membiarkan pengumuman buruk di tempatnya untuk yang seterusnya. Tag laluan, senarai pengagihan dan peraturan split-horizon wujud untuk menghentikannya di sumber, dan ia lebih murah daripada penapis yang sepadan dengan satu awalan.
Selepas perubahan, sahkan arah pergi dan balik secara berasingan, kerana gelung boleh diganti dengan lubang hitam tanpa sebarang penambahbaikan simptom yang kelihatan. Jalankan ip route get dari kedua-dua hujung, hantar trafik dari hos yang bukan gateway, dan biarkan ip monitor route berjalan sekurang-kurangnya satu pemasa tahan supaya kelipan tidak disalah anggap sebagai pembaikan.
Sebelum mengubah apa pun, sahkan lima perkara ini: awalan stabil atau bergejolak, hop seterusnya di kedua-dua hujung menunjuk ke terowong, kiraan hop berulang atau tidak, satu tapak memiliki awalan, dan anda mempunyai laluan pengurusan yang bertahan dengan perubahan itu. Jika mana-mana satu daripada lima tidak diketahui, empat yang lain ialah tekaan.