Pelayan berjambatan sudah hidup, peraturan masquerade ada, tetapi pelayar pada klien masih berpusing. Semua kelihatan sepatutnya berfungsi, sebab itulah jam pertama dihabiskan untuk memeriksa terowong dan kelayakan. Kemudian anda membaca pembilang pada peraturan NAT dan menemui sifar yang tidak bergerak. Peraturan yang tidak pernah mengira satu paket pun tidak pernah memadankan satu pun, dan pada pelayan berjambatan puncanya bersifat struktur: trafik klien keluar melalui peranti tap maya, manakala peraturan itu menamakan kad fizikal yang anda salin daripada panduan lama.

Pembilang itulah buktinya, bukan entri jadual

Peraturan yang wujud dan peraturan yang sepadan ialah dua perkara berbeza, dan pembilang yang memisahkannya. Senaraikan jadual NAT dengan pembilang terperinci dan baca nombor di sebelah setiap peraturan sebelum mengubah apa-apa. Pembilang yang tersangkut pada sifar sedangkan trafik mengalir bermakna peraturan itu dilangkau, walau sebaik mana alamatnya kelihatan. Pembilang yang menaik sedangkan sambungan masih gagal menghantar anda ke tempat lain: penghantaran, laluan pulang, atau hujung jauh.

iptables -t nat -L POSTROUTING -v -n

Baca pembilang di sebelah padanan antara muka dahulu. Jika julat sumber betul dan bahagian output salah, pembetulannya ialah satu perkataan dalam peraturan, bukan peraturan yang benar-benar baharu.

Cari nama yang sebenarnya direkodkan oleh kernel

Kenal pasti nama peranti terowong sebelum menulis peraturan, menggunakan senarai antara muka dan bukan ingatan. Pada pemasangan OpenVPN berjambatan, peranti itu biasanya antara muka tap yang dicipta oleh pelayan, dan namanya ialah sebahagian daripada konfigurasi tempatan anda, bukan pemalar sejagat. Sahkan ia wujud semasa terowong hidup, kerana peranti yang muncul hanya selepas klien bersambung akan membuat ujian terdahulu kelihatan seperti masalah peraturan.

ip -brief link

Tulis nama itu. Setiap arahan kemudian dalam diagnosis ini merujuk kepadanya, dan salah taip di sini menghasilkan pembilang sifar yang sama tepat seperti kesilapan asal.

Tulis semula peraturan terhadap peranti terowong

Halakan peraturan ke peranti terowong dan kekalkan julat klien sebagai syarat padanannya, supaya ia meliputi trafik terowong dan membiarkan sambungan hos itu sendiri tidak terusik. Gantikan dengan julat dan nama peranti anda sendiri, kerana kedua-dua di bawah ialah contoh dan tiada satu pun boleh dipindahkan antara pemasangan.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADE

Kemudian semak dua syarat lain yang disembunyikan oleh gejala yang sama. Semak sama ada penghantaran diaktifkan, dan jika tidak, aktifkannya dalam konfigurasi pengedaran itu sendiri dan bukan dengan echo yang hilang selepas but semula. Baca juga pembilang rantaian forward, dan jika ia menggugurkan trafik terowong, benarkan antara muka itu secara khusus dan biarkan dasar rantaian tidak diubah.

Membaca rantaian forward dengan pembilang mengambil satu arahan dan menyingkirkan separuh daripada kemungkinan yang tinggal sebelum anda menyentuh peraturan lain.

Mengapa kad fizikal tidak pernah sepadan

Jambatan ialah suis perisian yang dibina daripada peranti tap dan satu antara muka fizikal. Bingkai klien masuk ke suis itu dan keluar ke arah rangkaian fizikal sebagai ahli jambatan, bukan sebagai paket pada kad. Kernel oleh itu mengaitkan paket itu dengan jambatan dan portnya, sebab itulah kad yang anda fikirkan tidak pernah muncul dalam padanan. Tiada apa yang rosak pada antara muka fizikal; ia semata-mata bukan peranti yang kernel kaitkan dengan paket itu.

Masalah susulan yang orang hadapi seterusnya datang daripada struktur yang sama: penapisan bingkai pada jambatan ialah kemudahan berasingan daripada penapisan IP. Jika keperluan ialah sekatan pada peringkat bingkai, ia tergolong dalam penapisan jambatan, bukan peraturan jadual IP.

Buktikan dari hujung ke hujung, kemudian kekalkan

Hidupkan satu klien dan ping sesuatu pada LAN pelayan; laluan itu melatih penghantaran tanpa sebarang terjemahan. Selepas itu, minta sesuatu yang awam supaya peraturan masquerade terpaksa digunakan, dan baca pembilang sekali lagi: ia patut bergerak untuk ujian ini dan bukan untuk ujian sebelumnya. Tangkapan yang diambil pada peranti terowong menunjukkan kedua-dua tempat bingkai muncul dan alamat yang dibawanya.

Langkah terakhir: masukkan peraturan yang berfungsi ke dalam konfigurasi yang dibaca semasa mula semula, dan catat nama peranti yang sebenarnya digunakan oleh jambatan hos ini. Apa-apa yang ditaip dengan tangan hilang selepas but semula, dan kegagalan yang sama kembali tanpa apa-apa yang tinggal untuk menjelaskannya.

Jika pembilang masih tidak bergerak selepas ditulis semula, bandingkan julat sumber dalam peraturan dengan alamat yang sebenarnya diterima oleh klien, kerana pelayan berjambatan boleh memberikan alamat daripada julat yang tidak anda maksudkan.

Artikel berkaitan