Dua papan pembangunan perlu berkongsi satu segmen Ethernet manakala bangku mereka berada di bangunan berbeza. Terowong sudah wujud dan sudah membawa Ethernet, jadi kerja yang tinggal kelihatan seperti tiga arahan dan bukan begitu. Apa yang hos lakukan dengan bingkai yang dijambatani, di mana alamat komputer itu sendiri terletak, dan sempadan apa yang tidak dicipta oleh jambatan ialah tiga fakta berasingan, dan kesilapan pada yang kedua ialah sebab biasa sebuah makmal berfungsi secara berselang-seli dan akses pengurusannya merosot secara senyap. Tiada satu pun daripada tiga fakta itu kelihatan dalam rajah topologi.

Laluan di bawah menganggap sambungan TAP yang disahkan antara dua komputer Linux, satu port berwayar khusus setiap bangku, dan antara muka pengurusan yang bukan sebahagian daripada eksperimen. Urutannya penting: bingkai dahulu, alamat kemudian, sempadan terakhir.

Apa yang sebenarnya dipindahkan oleh jambatan

Jambatan ialah suis yang dilaksanakan dalam perisian. Ia mempelajari alamat MAC mana yang muncul di belakang port ahli mana dan memajukan bingkai antara ahli tanpa merujuk jadual penghalaan IP. Tiada apa-apa dalam huraian itu melibatkan subrangkaian, get laluan atau laluan lalai, itulah sebabnya mendayakan pemajuan IP tidak menghasilkan sambungan ini dan itulah sebabnya ping boleh berjaya manakala trafik lain masih gagal. Papan boleh mencapai rakannya tanpa sebarang laluan lalai dikonfigurasikan, yang mengejutkan mereka yang menjangkakan lapisan dua berkelakuan seperti lapisan tiga.

Setiap komputer menyumbang satu port berwayar kepada jambatan dan peranti TAP kepada jambatan yang sama, jadi bingkai daripada papan masuk ke port setempat, dimajukan ke peranti TAP, menyeberangi terowong, tiba di peranti TAP rakan dan dimajukan keluar ke papan rakan. Terowong ialah port ahli seperti mana-mana yang lain, dan jambatan tidak tahu atau tidak peduli bahawa VPN berada di belakangnya. Simetri itulah yang menjadikan contoh ini mudah difikirkan: setiap sisi mempunyai satu port menghadap makmal dan satu port terowong, dan tiada sisi yang istimewa.

Board A -- bench0 -- br-test -- tap-bench
                                 |  OpenVPN TAP
Board B -- bench0 -- br-test -- tap-bench

Nama yang sama pada kedua-dua komputer ialah nama setempat, bukan objek dikongsi. Terdapat satu laluan Ethernet antara bangku, tanpa kabel kedua dan tanpa terowong kedua yang menutup gelung; jambatan yang melihat MAC yang sama tiba pada dua port akan dengan senang hati memajukan dalam bulatan.

Alamatkan jambatan, bukan port ahlinya

Identiti komputer pada segmen makmal adalah milik peranti jambatan. Port ahli kekal tanpa nombor, kerana port ialah ahli pemajuan dan alamat padanya akan mencipta pemilik kedua yang bersaing bagi segmen yang sama. Inilah pembetulan yang dilakukan secara salah oleh kebanyakan resipi buatan tangan: mereka memberikan alamat kepada peranti TAP dan jambatan, kemudian tertanya-tanya yang mana sebenarnya dicapai oleh rakan.

ip link add br-test type bridge
ip link set bench0 master br-test
ip link set tap-bench master br-test
ip address add 172.30.90.2/24 dev br-test
ip link set bench0 up
ip link set tap-bench up
ip link set br-test up

Rakan menggunakan bentuk yang sama dengan alamat hos berbeza, dan papan mengambil alamat dalam julat yang sama dengan alamat jambatan komputer sebagai hop seterusnya jika mereka memerlukannya. Gunakan julat dokumentasi sehingga pelan dipersetujui, dan tempah julat itu supaya ia tidak bertembung dengan apa-apa yang pejabat sudah halakan. Sebelum menjalankan mana-mana bahagiannya, sahkan bahawa port ahli tidak membawa alamat sisa, klien DHCP atau keahlian dalam jambatan lain, dan selaraskan pengalamatan peranti TAP melalui apa-apa yang memiliki konfigurasi terowong supaya ia tidak memulihkan alamat kemudian.

Mengapa satu port khusus setiap bangku

Port berwayar khusus ialah apa yang menghalang eksperimen daripada menjadi perubahan seluruh pejabat. Antara muka pengurusan membawa SSH, laluan lalai dan sambungan VPN luar, dan tiada satu pun daripada itu terletak pada jambatan yang tujuannya memindahkan bingkai makmal.

Menyambungkan penyesuai pengurusan meletakkan LAN pejabat satu keputusan pemajuan daripada papan pembangunan, dan papan yang berkelakuan buruk pada lapisan dua ialah jenis peranti yang anda tidak mahu pada segmen itu. Penyesuai Wi-Fi lebih teruk: menjambatani antara muka wayarles dalam mod infrastruktur tidak berkelakuan seperti menjambatani Ethernet, dan kegagalannya mengelirukan dan bukan bersih.

Jauhkan julat makmal daripada mana-mana skop DHCP pengeluaran. Jika papan memerlukan pengalamatan dinamik kemudian, satu pengagih dibenarkan dengan satu kumpulan ialah satu-satunya susunan yang kekal boleh diramal; penghala biasa dua tapak yang menjawab pada segmen yang sama menghasilkan alamat yang tiada siapa dapat menjelaskan.

Sempadan yang tidak dicipta oleh jambatan

Menjambatani bukan penghalaan, dan ia juga bukan pengasingan. Bingkai yang menyeberangi jambatan masih boleh sampai ke cangkuk penapisan hos, bergantung pada laluan bridge-netfilter yang dipasang, jadi dasar berkesan mesti diperiksa dan bukan diandaikan. Melumpuhkan firewall kerana satu bingkai hilang menukar pepijat khusus dengan pepijat umum.

Pemajuan IP antara jambatan dan setiap antara muka pengurusan atau uplink harus kekal dimatikan atau dinafikan secara jelas, dan itu kawalan berasingan daripada keahlian jambatan. Papan yang memilih alamat makmal komputer sebagai get laluannya menguji tepat ini: jika transit pengurusan berjaya, sempadan yang anda maksudkan tidak pernah ada.

Dua lagi keluarga patut mendapat keputusan jelas. Pelan pengalamatan tidak menjadikan jambatan hanya IPv4, jadi IPv6 dan EtherType lain memerlukan pelan atau penapis sendiri. Dan ping yang berjaya tidak mengatakan apa-apa tentang sama ada siaran penemuan, kumpulan multicast atau bingkai jumbo papan akan melintasi laluan, kerana itu kelas trafik berbeza dengan nilai lalai berbeza.

Akhirnya, pengangkutan dan kerahsiaan ialah dua pembelian berbeza. TAP membawa Ethernet; perkhidmatan OpenVPN menyediakan perlindungan di sekelilingnya. Lapisan tindihan VXLAN juga membawa Ethernet dan tidak menyediakan kerahsiaan dengan sendirinya, jadi menggantikan satu dengan yang lain mengubah sifat keselamatan walaupun rajah topologi kelihatan sama.

Kekekalan dan ujian yang membuktikannya

Arahan yang ditaip sekali selepas bersambung bukan konfigurasi. Kekalkan jambatan, keahlian port dan satu alamat hos melalui pengurus rangkaian komputer yang sedia ada, dan ikat sambungan itu pada kemunculan peranti TAP supaya penyambungan semula tidak meninggalkan jambatan dengan ahli yang hilang.

bridge link show
ip -d link show br-test
bridge fdb show br br-test | head

Kemudian uji apa yang sebenarnya diperlukan oleh papan dalam kedua-dua arah, sambung semula terowong, dan mulakan semula satu komputer mengikut pelan pemulihan yang diluluskan. Sahkan tiga perkara selepas itu: akses pengurusan masih berfungsi secara bebas, tiada alamat makmal berganda muncul, dan tiada antara muka pengeluaran tidak dijangka menyertai jambatan. Gabungan itulah bukti bahawa eksperimen kekal dalam bangkunya.

Artikel berkaitan