Rakan sebaya VPN membuat ping ke antara muka lain kerana ia tempatan
Jadual penghalaan setempat menghantar paket ke mana-mana alamat yang dimiliki oleh hos, di antara muka mana pun ia berada. Tetapan pemajuan tidak pernah masuk ke laluan itu.
Klien WireGuard menyambung dan membuat ping ke alamat pada antara muka yang sama sekali berbeza, dan balasannya tiba. Tangkapan menunjukkan permintaan hanya pada terowong. Tiada apa yang rosak, dan tetapan pemajuan yang dimatikan dengan teliti tidak ada kaitan dengannya. Ini ialah perbandingan antara dua laluan yang kelihatan serupa dalam rajah dan sama sekali berbeza dalam kernel.
Satu laluan memajukan paket untuk orang lain; yang satu lagi menyampaikannya kepada hos itu sendiri.
Paket yang dialamatkan kepada hos kekal dalam hos
Klien jauh menghantar paket IP ke alamat yang dimiliki oleh hos. Penghalaan bertanya satu soalan tentang paket itu: adakah destinasi ini setempat? Setiap alamat yang dipegang hos muncul dalam jadual penghalaan setempat, dan jadual itu dirujuk sebelum jadual utama, jadi paket itu pergi ke tindanan hos sendiri dan bukan keluar melalui antara muka lain. Balasan dijana secara setempat, dan ia kembali melalui terowong kerana dari situlah pertanyaan datang.
Itulah keseluruhan mekanisme. Tiada pemajuan berlaku, tiada perubahan keadaan antara muka terlibat, dan alamat yang berkenaan tidak perlu boleh dicapai dari mana-mana tempat lain.
Mengapa ip_forward tidak terpakai
Pemajuan mengawal paket yang mesti keluar melalui antara muka berbeza daripada yang ia tiba. Ping ke hos itu sendiri tidak pernah mengambil laluan itu: paket digunakan secara setempat dan balasan dijana secara setempat. Oleh itu menetapkan net.ipv4.ip_forward=0 tidak mengubah apa-apa di sini, dan peraturan dalam rantaian pemajuan tidak pernah melihat trafik itu. Kawalan yang betul terletak pada laluan input, dihadkan oleh antara muka masuk atau sumber.
Sebab itulah mematikan pemajuan dan menganggap hos terasing menghasilkan rasa selamat yang palsu.
Baca jadual setempat yang membuat keputusan
ip rule show biasanya melaporkan peraturan dengan keutamaan sifar yang menghantar semua carian ke jadual setempat terlebih dahulu, dan ip route show table local menyenaraikan alamat hos sendiri dengan skop setempat. Jadual itu merangkumi alamat pada antara muka yang dimatikan secara pentadbiran tetapi masih dikonfigurasikan. Alamat IPv4 yang diberikan secara statik biasanya bertahan apabila pautan terputus, dan itulah sebabnya ping ke jambatan yang mati masih boleh berjaya dan mengejutkan pengendali.
IPv6 tidak bersetuju tepat pada perkara ini. Alamatnya biasanya ditarik balik apabila pautan gagal, melainkan keep_addr_on_down ditetapkan. Bandingkan keluarga tersebut dan bukannya menganggap satu peraturan meliputi kedua-duanya.
Apa yang sebenarnya dicapai oleh rakan sebaya
Jawapan daripada alamat penghala itu sendiri pada segmen tidak mengatakan apa-apa tentang mesin di belakang segmen itu. Rakan sebaya tidak boleh mencapai hos di belakang antara muka yang lain melalui laluan ini; ia hanya mencapai alamat yang dimiliki oleh penghala itu sendiri. Menguji perkhidmatan pada hos LAN berasingan, bukannya membuat ping ke alamat penghala, ialah apa yang menentukan sama ada pemajuan dibenarkan sama sekali.
Menghadkan rakan sebaya kepada perkhidmatan yang terikat pada alamat terowong ialah persoalan dasar input. Benarkan perkhidmatan yang dikehendaki pada antara muka terowong dan hadkan sumber yang boleh menggunakannya, kerana paket itu benar-benar tiba di sana.
Periksa juga alamat yang anda berniat untuk bersara. Mengalih keluar alamat daripada antara muka lebih boleh dipercayai daripada menyusun peraturan tembok api di atas alamat lama.