Hotspot VPN berjambatan: laluan lalai mana yang telefon gunakan?
Laluan lalai Pi bukan gateway telefon. Asingkan kedua-dua keputusan, kekalkan uplink di luar jambatan, dan uji pajakan sebelum terowong.
Telefon pada hotspot berjambatan anda mendapat alamat dan gateway-nya dari suatu tempat, dan itu bukan laluan lalai Pi. Menukar lalai Pi menukar ke mana Pi menghantar trafiknya sendiri. Telefon terus menggunakan gateway yang diberitahu kepadanya, dan apabila gateway itu berada di LAN jauh, rangkanya hanya melintasi jambatan. Dua pengguna, dua keputusan. Mengasingkan keduanya menjelaskan kebanyakan laporan hotspot tanpa internet sedangkan Pi sendiri sihat.
Dua peranti, dua keputusan gateway yang berbeza
Pi mempunyai tindanan IP dan laluan lalai sendiri. Telefon mempunyai tindanan IP dan laluan lalai sendiri.
| Consumer | Who chooses its gateway | What carries the traffic |
|---|---|---|
| Phone on the bridged AP | The remote LAN router, delivered in its client configuration | An Ethernet frame toward that router crosses the AP and TAP bridge |
| Pi's encrypted connection | The travel uplink's route toward the VPN peer | The Pi sends its own outer transport packets over the underlay |
Jadual itu ialah keseluruhan model. Gateway telefon ialah alamat pada LAN jauh, dan rangkanya diteruskan pada lapisan 2 ke arah penghala itu. Laluan lalai Pi berkaitan pengangkutan luar Pi sendiri, yang perlu sampai ke rakan VPN melalui uplink perjalanan.
Jambatan meneruskan rangka, ia tidak menghala paket
Jambatan Linux meneruskan rangka Ethernet mengikut MAC destinasi, dan itu sahaja yang dilakukannya antara portnya. Rangka telefon yang dialamatkan kepada MAC penghala jauh ditukar ke port TAP dan melintasi terowong tanpa menyentuh jadual penghalakan Pi. Itulah sebabnya laluan lalai Pi yang rosak boleh membiarkan telefon berfungsi, dan itulah sebabnya yang betul tidak boleh membaiki telefon yang diberi gateway salah.
TAP membawa rangka Ethernet dan boleh menjadi port jambatan. TUN membawa paket IP dan tidak boleh. Jika reka bentuk anda menggantikan satu dengan yang lain, jambatan itu bukan jambatan dan selebihnya tidak terpakai.
Tentukan siapa yang mengagihkan pajakan telefon
Pilihan 3 DHCP ialah pilihan penghala, dan ia memberitahu klien gateway mana yang perlu digunakan untuk subnetnya. Apabila pelayan DHCP LAN jauh ialah satu-satunya pengagih, telefon mendapat gateway jauh dan reka bentuknya konsisten. Apabila sesuatu yang lain di sisi perjalanan menjawab dahulu, telefon mendapat gateway setempat, trafik internetnya keluar melalui uplink perjalanan, dan trafiknya ke LAN jauh tidak mempunyai sebarang laluan.
Jalankan satu pengagih untuk domain siaran itu, dan catat apa yang diagihkannya.
Pi ialah kes berasingan walaupun ia mengambil alamat daripada pajakan yang sama. Putuskan dengan sengaja sama ada ia patut memasang laluan yang ditawarkan pajakan itu, kerana lalai jauh yang diimport boleh menyeret pengangkutan VPN Pi sendiri ke dalam terowong yang cuba dikekalkannya hidup. Dengan systemd-networkd keputusan itu ialah UseRoutes= dalam bahagian DHCP; dengan dhclient ia ialah pilihan routers dalam senarai permintaan.
Kekalkan uplink di luar LAN berjambatan
Antara muka yang membawa sambungan VPN luar Pi tidak boleh menjadi port jambatan. Jika ia menjadi, pengangkutan tersulit ditukar ke LAN diperluas dan terowong akhirnya membawa paket luarnya sendiri, yang gagal dengan cara yang kelihatan seperti kehilangan paket dan bukan gelung. Kekalkan juga keupayaan AP dan sokongan jambatan secara jelas. Antara muka wayarles dalam mod station biasanya tidak boleh menjadi port jambatan, kerana pengepala 802.11 tiada ruang untuk alamat MAC kedua yang diperlukan jambatan.
Takrifkan domain siaran diperluas, satu pelan alamat, dan penapisan rangka yang benar-benar anda mahu. Membenarkan pendengar VPN pada Pi tidak memberi setiap klien berjambatan akses kepada perkhidmatan pengurusan Pi. Itu peraturan berasingan, dan menganggapnya sebagai satu ialah cara hotspot secara senyap menjadi pintu terbuka.
Uji keempat-empat perkara secara berasingan apabila ia rosak
Apabila telefon tidak dapat mencapai LAN jauh, empat pemerhatian memisahkan puncanya. Jalankannya dalam urutan ini dan berhenti pada yang pertama gagal.
ip route show default
bridge link show
ip -4 neigh show dev br0
tcpdump -ni br0 arp or icmpMulakan dengan pajakan: adakah telefon memegang alamat dan gateway pada subnet jauh? Kemudian lihat jambatan, dan sahkan port AP dan port TAP kedua-duanya meneruskan. Kemudian baca jadual jiran, kerana entri yang belum diselesaikan untuk penghala jauh bermakna rangka keluar dan tiada apa menjawab. Akhir sekali perhatikan rangka pada jambatan semasa telefon ping, yang memberitahu anda sama ada kerosakan itu di bawah IP atau tidak.
Catat peranti mana yang memiliki setiap laluan lalai apabila selesai. Satu baris dokumentasi menjadikan egress setempat berbanding jauh sebagai keputusan klien yang disengajakan, dan rujukan jambatan wajar disimpan di sebelahnya.