Kaunter TPROXY boleh meningkat sedangkan aplikasi tidak menerima apa-apa. Peraturan sepadan, tetapi penghantaran tempatan masih bergantung pada penghalaan dasar dan soket penerima yang serasi.

TPROXY dalam Linux boleh memintas trafik tanpa menulis semula destinasi seperti DNAT. Jadi paket yang dialamatkan ke destinasi bukan tempatan mesti sampai ke soket tempatan yang layak.

Ikuti laluan penghantaran

  1. Trafik sampai ke hos pemintasan pada antara muka dan keluarga alamat yang dimaksudkan.
  2. Peraturan pemintasan dan tanda paket menentukan dasar penghantaran tempatan.
  3. Peraturan dasar yang sepadan memilih laluan yang menghantar paket secara tempatan.
  4. Proksi menggunakan pendengar lutsinar yang disokong dengan pilihan soket yang diperlukan.

Contoh IPv4 kernel memerlukan sokongan aplikasi untuk IP_TRANSPARENT. Pendengar biasa pada port yang sama, atau tetapan ikatan bukan tempatan global, tidak membuktikan sokongan itu.

PemerhatianSemakan seterusnya
Tiada paket masuk yang berkaitanLaluan trafik dan antara muka input
Paket tiba; kaunter pemintasan tidak bergerakKeluarga alamat, rantaian dan syarat padanan
Peraturan sepadan; penghantaran tempatan gagalTanda dan pemilihan laluan dasar
Soket mendengar; aplikasi tidak nampak apa-apaKeupayaan soket lutsinar dan pemilik pendengar
Permintaan bermula; balasan kemudian gagalPadanan soket terbentuk dan laluan balik

Simpan konfigurasi yang dimuatkan dan ruang nama rangkaian bersama setiap pemerhatian. Peraturan kemudian boleh menimpa tanda atau memilih laluan lain. Jika pemintasan berlaku di hos sedangkan pendengar berjalan dalam kontena, laluan tempatan hos yang sah tidak menghantar secara automatik ke kontena itu.

Ambil kira paket kemudian

Contoh kernel merangkumi padanan soket dan laluan DIVERT yang menanda paket milik soket lutsinar. Meninggalkannya boleh membiarkan trafik kemudian pada laluan lain walaupun pemintasan awal berjaya.

Gunakan mod lutsinar yang disokong aplikasi dan dokumentasi kernel yang berkaitan untuk setiap keluarga alamat. Perintah laluan tempatan IPv4 tidak mengkonfigurasi IPv6, dan sokongan dalam satu keluarga tidak membuktikan tingkah laku soket keluarga yang lain.

TPROXY juga tidak menghasilkan rundingan SOCKS. Komponen dari lutsinar ke SOCKS masih perlu menemui destinasi dan berunding dengan hulunya.

Beralih daripada REDIRECT

Catat bagaimana aplikasi sedia ada memperoleh destinasi asal. REDIRECT mengubah destinasi dan bergantung pada mekanisme pemulihan yang sesuai; TPROXY memerlukan soket lutsinar dan susunan penghalaannya sendiri. Pilih mengikut aplikasi dan dasar alamat sumber.

Pasangkan kaunter dengan laluan yang dipilih, keupayaan soket dan log aplikasi sebelum menukar mod pemintasan. Pada edaran yang menyediakan kemudahan yang diperlukan, langkah penghantaran yang hilang ialah titik permulaan yang lebih baik daripada menyusun semula kernel.

Artikel berkaitan