Menjadikan komputer riba sebagai penghala ialah cara popular untuk menyelesaikan masalah yang salah. Pemajuan wujud supaya mesin dapat menghantar paket yang destinasinya bukan dirinya sendiri, dan ia tidak mempunyai pendapat tentang seberapa pantas pelayar pada mesin yang sama memuatkan halaman. Kedua-dua laluan hanya kelihatan sama kerana kedua-duanya menghantar trafik melalui satu terowong. Pisahkan kedua-duanya sekali, dan sebahagian besar nasihat tentang mengaktifkan pemajuan atau membuka tembok api ternyata menerangkan topologi yang anda tidak ada.

Dua laluan paket yang kelihatan serupa dari meja

Pelayar pada komputer riba mencipta permintaannya sendiri. Hos memilih laluan terowong, proses klien membalut paket dan menghantarnya kepada rakan, dan balasan kembali kepada aplikasi. Tiada apa dalam urutan itu merentasi keputusan pemajuan, kerana mesin ini ialah sumber dan destinasi perbualan.

Sekarang letakkan peranti lain pada segmen Ethernet yang dikonfigurasikan dengan sengaja dan jadikan komputer riba sebagai get laluan lalainya. Peranti itu memulakan permintaan, komputer riba menerima paket yang dialamatkan ke tempat lain, dan kernel mesti memutuskan sama ada menghantarnya ke hadapan. Itulah peranan pemajuan, dan ia datang dengan prasyarat yang tidak pernah diperlukan oleh peranan klien: laluan transit yang dibenarkan, laluan di kedua-dua belah dan laluan balik yang masih berfungsi jika terjemahan ialah sebahagian daripada reka bentuk.

RoleWho originates the trafficWhat has to be true
Client onlyThe laptop itselfTunnel route, working resolver, supported profile
GatewayAnother deviceForwarding enabled, permitted transit, routes both ways, return-path decision

Apa sebenarnya yang diubah oleh ip_forward

Dokumentasi kernel tentang IPv4 sysctl menerangkan ip_forward sebagai suis yang membolehkan hos memajukan paket antara antara muka. Ia bukan laluan pantas untuk trafik yang dihasilkan oleh hos sendiri, dan tiada bacaan parameter itu menjadikan pelayar setempat lebih pantas. Jika ada, pemajuan menambah keadaan dan dasar pada mesin yang sebelum ini melakukan kerja yang lebih sedikit.

Dokumentasi yang sama memberi amaran bahawa menukar nilai itu menetapkan semula parameter IPv4 lain kepada nilai lalai hos atau penghala. Itu menjadikan suis sebagai peristiwa konfigurasi dan bukan ujian: tetapan yang telah ditala boleh kembali di bawah kaki anda, dan perubahan itu mungkin bertanggungjawab atas regresi yang tiada siapa terfikir untuk mengaitkannya. Ia juga bermakna suis itu harus ditetapkan sekali, dengan sengaja, oleh sesiapa yang memiliki peranan get laluan. Membaliknya semasa siasatan kelembapan ialah satu-satunya kes apabila kesan sampingan dijamin dikelirukan dengan gejala.

Tiga soalan tembok api yang bukan soalan yang sama

Membenarkan pendengar VPN, membenarkan perkhidmatan yang dijalankan oleh komputer riba, dan membenarkan trafik melintasi komputer riba ialah tiga kebenaran berasingan. Yang pertama membolehkan rakan mencapai daemon, yang kedua mendedahkan sesuatu yang setempat, dan yang ketiga menjadikan mesin sebagai transit untuk orang lain. Setiap satu mempunyai skop berbeza, dan yang terakhir jauh lebih luas daripada balasan yang diperlukan oleh aplikasi keluar biasa.

Apabila aliran tertentu disekat, namakan sumber, destinasi, arah dan pemilik dasarnya sebelum menyunting peraturan. Peraturan sempit untuk aliran itu ialah pembaikan; menerima segala-galanya pada antara muka terowong ialah perubahan dasar yang kebetulan merangkumi pembaikan. Pelayar yang berfungsi selepas itu membuktikan aliran itu berfungsi, bukan bahawa peraturan luas itu perlu.

Ukur hanya apabila laluan sudah betul

Ukur dengan destinasi yang sama, beban kerja yang sama dan keadaan yang setanding, dan ubah satu pemboleh ubah pada satu masa. Ujian yang menggabungkan perubahan pemajuan, pelebaran tembok api dan tetapan sifer yang disalin menghasilkan nombor dan tiada penjelasan, kerana tiada apa di dalamnya memberitahu yang mana antara tiga itu menggerakkan hasilnya.

Jauhkan kegagalan laluan dan penyelesai daripada perbualan prestasi sepenuhnya. Nama yang diselesaikan dengan perlahan bukan masalah daya pemprosesan, dan pemindahan yang berhenti pada satu saiz tetap biasanya soal MTU dan bukan had kelajuan. Catat yang mana antara tiga perkara itu yang anda benar-benar perhatikan sebelum membandingkan sebarang nombor. Jika tidak, pembaca seterusnya mewarisi pengukuran yang mengukur perkara yang salah dan perubahan yang tiada siapa dapat membenarkan.

Terangkan topologi yang anda ada, bukan label pada klien

Komputer riba yang berkongsi sambungannya, menghoskan rangkaian kontena yang dihalakan atau membawa trafik untuk mesin maya ialah get laluan, apa pun nama yang diberikan oleh perisian kepada dirinya. Perkataan klien menerangkan bagaimana terowong dikonfigurasikan, bukan sama ada paket dihantar kepada orang lain.

Jadikan peranan itu eksplisit dalam panduan operasi: apa yang menghasilkan trafik, apa yang mesti melintasi mesin, dan yang mana antara kedua-duanya tugasan semasa. Aktifkan peranan get laluan apabila ia tergolong dalam pelan yang disokong, bukan sebagai pelarasan kelajuan tanpa penjelasan yang digunakan pada topologi yang tidak pernah memerlukannya.

Artikel berkaitan