Dua papan pengembangan perlu berbagi satu segmen Ethernet sementara bangkunya berada di gedung berbeda. Terowongan sudah ada dan sudah membawa Ethernet, jadi sisa pekerjaan terlihat seperti tiga perintah dan ternyata bukan. Apa yang dilakukan host dengan bingkai yang dijembatani, di mana alamat komputer itu sendiri berada, dan batas apa yang tidak dibuat jembatan adalah tiga fakta terpisah, dan salah pada yang kedua adalah alasan biasa sebuah laboratorium bekerja terputus-putus dan akses manajemennya diam-diam menurun. Tidak satu pun dari ketiga fakta itu terlihat pada diagram topologi.

Jalur di bawah mengasumsikan koneksi TAP terautentikasi antara dua komputer Linux, satu porta kabel khusus per bangku, dan antarmuka manajemen yang bukan bagian dari eksperimen. Urutannya penting: bingkai dulu, alamat kemudian, batas terakhir.

Apa yang sebenarnya dipindahkan jembatan

Jembatan adalah sakelar yang diimplementasikan dalam perangkat lunak. Ia mempelajari alamat MAC mana yang muncul di belakang porta anggota mana dan meneruskan bingkai antaranggotanya tanpa berkonsultasi dengan tabel perutean IP. Tidak ada dalam deskripsi itu yang melibatkan subnet, gateway, atau rute default, itulah sebabnya mengaktifkan penerusan IP tidak menghasilkan sambungan ini dan itulah sebabnya ping bisa berhasil sementara lalu lintas lain masih gagal. Papan dapat menjangkau mitranya tanpa rute default yang dikonfigurasi sama sekali, yang mengejutkan orang yang mengharapkan lapisan dua berperilaku seperti lapisan tiga.

Setiap komputer menyumbangkan satu porta kabel ke jembatan dan perangkat TAP ke jembatan yang sama, sehingga bingkai dari papan masuk ke porta lokal, diteruskan ke perangkat TAP, menyeberangi terowongan, tiba di perangkat TAP mitra, dan diteruskan keluar ke papan mitra. Terowongan adalah porta anggota seperti porta lain, dan jembatan tidak tahu atau tidak peduli bahwa ada VPN di belakangnya. Simetri itulah yang membuat contoh ini mudah dinalar: setiap sisi memiliki satu porta menghadap laboratorium dan satu porta terowongan, dan tidak ada sisi yang istimewa.

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

Nama identik pada kedua komputer adalah nama lokal, bukan objek bersama. Ada satu jalur Ethernet antara bangku, tanpa kabel kedua dan tanpa terowongan kedua yang menutup lup; jembatan yang melihat MAC yang sama datang pada dua porta akan dengan senang hati meneruskan berputar-putar.

Alamatkan jembatan, bukan porta anggotanya

Identitas komputer pada segmen laboratorium milik perangkat jembatan. Porta anggota tetap tanpa nomor, karena porta adalah anggota penerus dan alamat di atasnya akan menciptakan pemilik kedua yang bersaing atas segmen yang sama. Inilah koreksi yang salah dilakukan sebagian besar resep buatan tangan: mereka memberi alamat pada perangkat TAP dan jembatan, lalu bertanya-tanya mana yang sebenarnya dijangkau mitra.

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

Mitra menggunakan bentuk yang sama dengan alamat host berbeda, dan papan mengambil alamat dalam rentang yang sama dengan alamat jembatan komputer sebagai hop berikutnya jika membutuhkannya. Gunakan rentang dokumentasi sampai rencana disepakati, dan pesan rentang itu agar tidak bertabrakan dengan apa pun yang sudah dirutekan kantor. Sebelum menjalankan bagian mana pun, pastikan porta anggota tidak membawa alamat sisa, klien DHCP, atau keanggotaan di jembatan lain, dan selaraskan pengalamatan perangkat TAP melalui apa pun yang memiliki konfigurasi terowongan agar tidak memulihkan alamat nanti.

Mengapa satu porta khusus per bangku

Porta kabel khusus adalah yang mencegah eksperimen menjadi perubahan seluruh kantor. Antarmuka manajemen membawa SSH, rute default, dan koneksi VPN luar, dan tidak satu pun dari itu berada pada jembatan yang tujuannya memindahkan bingkai laboratorium.

Menyambungkan adaptor manajemen menempatkan LAN kantor satu keputusan penerusan dari papan pengembangan, dan papan yang berperilaku buruk di lapisan dua adalah persis jenis perangkat yang tidak Anda inginkan pada segmen itu. Adaptor Wi-Fi lebih buruk: menjembatani antarmuka nirkabel dalam mode infrastruktur tidak berperilaku seperti menjembatani Ethernet, dan kegagalannya membingungkan alih-alih bersih.

Jauhkan rentang laboratorium dari cakupan DHCP produksi mana pun. Jika papan nanti memerlukan pengalamatan dinamis, satu pengalokasi resmi dengan satu kumpulan adalah satu-satunya pengaturan yang tetap dapat diprediksi; router biasa dari dua lokasi yang menjawab pada segmen yang sama menghasilkan alamat yang tidak dapat dijelaskan siapa pun.

Batas yang tidak dibuat jembatan

Menjembatani bukan merutekan, dan itu juga bukan isolasi. Bingkai yang menyeberangi jembatan masih dapat mencapai kait penyaringan host, tergantung jalur bridge-netfilter yang terpasang, jadi kebijakan efektif harus diperiksa bukan diasumsikan. Menonaktifkan firewall karena satu bingkai hilang menukar bug tertentu dengan bug umum.

Penerusan IP antara jembatan dan setiap antarmuka manajemen atau uplink harus tetap mati atau ditolak secara eksplisit, dan itu kontrol terpisah dari keanggotaan jembatan. Papan yang memilih alamat laboratorium komputer sebagai gateway-nya menguji tepat ini: jika transit manajemen berhasil, batas yang Anda maksudkan tidak pernah ada.

Dua keluarga lagi layak mendapat keputusan eksplisit. Rencana pengalamatan tidak membuat jembatan hanya IPv4, jadi IPv6 dan EtherType lain memerlukan rencana atau filter sendiri. Dan ping yang berhasil tidak mengatakan apa pun tentang apakah siaran penemuan papan, grup multicast, atau bingkai jumbo akan melintasi jalur, karena itu kelas lalu lintas berbeda dengan default berbeda.

Akhirnya, transportasi dan kerahasiaan adalah dua pembelian berbeda. TAP membawa Ethernet; layanan OpenVPN menyediakan perlindungan di sekitarnya. Overlay VXLAN juga membawa Ethernet dan tidak menyediakan kerahasiaan dengan sendirinya, jadi mengganti yang satu dengan yang lain mengubah sifat keamanan bahkan ketika diagram topologi tampak identik.

Ketahanan dan uji yang membuktikannya

Perintah yang diketik sekali setelah terhubung bukan konfigurasi. Buat jembatan, keanggotaan porta, dan satu alamat host bertahan melalui manajer jaringan komputer yang ada, dan ikat sambungan pada kemunculan perangkat TAP agar penyambungan ulang tidak meninggalkan jembatan dengan anggota yang hilang.

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

Lalu uji apa yang sebenarnya dibutuhkan papan di kedua arah, sambungkan kembali terowongan, dan mulai ulang satu komputer sesuai rencana pemulihan yang disetujui. Konfirmasikan tiga hal setelahnya: akses manajemen masih bekerja secara mandiri, tidak muncul alamat laboratorium ganda, dan tidak ada antarmuka produksi tak terduga yang bergabung dengan jembatan. Kombinasi itulah bukti bahwa eksperimen tetap di dalam bangkunya.

Artikel terkait