brctl adalah singkatan dari Bridge Control.
Di Linux, perintah ini digunakan untuk membuat dan memanipulasi jembatan ethernet.
Ini biasanya digunakan ketika Anda memiliki beberapa jaringan ethernet di server Anda, dan Anda ingin menggabungkannya dan menyajikannya sebagai satu jaringan logis.
Misalnya, jika Anda memiliki eth0 dan eth1, Anda dapat menggabungkannya dan menyajikannya hanya sebagai br0, yang pada gilirannya akan menggunakan eth0 dan eth1 untuk lalu lintas jaringan.
Dalam tutorial ini, kita telah membahas hal berikut:
- Buat Jembatan Ethernet Baru menggunakan addbr
- Tampilkan Jembatan Ethernet yang Tersedia menggunakan acara
- Hapus Jembatan Ethernet yang Ada menggunakan delbr
- Tambahkan Antarmuka ke Jembatan yang Ada
- Tambahkan Beberapa Antarmuka ke Jembatan yang Ada
- Melacak alamat MAC Jembatan
- Mengatur Waktu Penuaan untuk Alamat Mac di Bridge
- Menyiapkan Spanning Tree di Jembatan Ethernet
- Menampilkan Nilai Parameter STP Jembatan
- Ubah Nilai Parameter Jembatan
1. Buat Jembatan Ethernet Baru menggunakan addbr
Menggunakan brctl addbr, kita dapat membuat jembatan ethernet baru.
Dalam contoh berikut, kami telah membuat tiga jembatan ethernet di server ini:dev, stage, dan prod.
brctl addbr dev brctl addbr stage brctl addbr prod
Harap dicatat bahwa pada tahap ini, ini hanyalah jembatan ethernet kosong yang tidak memiliki jaringan ethernet lain di dalamnya.
Harap dicatat bahwa brctl ini sedikit berbeda dari ikatan NIC EtherChannel Linux yang telah kita bahas sebelumnya.
2. Tampilkan Jembatan Ethernet yang Tersedia menggunakan show
Menggunakan brctl show, kami dapat melihat semua jembatan ethernet yang tersedia di server Anda.
Contoh berikut akan menampilkan semua contoh saat ini dari tiga jembatan yang baru saja kita buat.
# brctl show bridge name bridge id STP enabled interfaces dev 8000.000000000000 no prod 8000.000000000000 no stage 8000.000000000000 no
Jika Anda perhatikan kolom terakhir "antarmuka" tidak ada apa-apanya. Artinya, saat ini tidak ada jembatan yang memiliki perangkat ethernet yang terkait dengannya.
Catatan terkait:9 Contoh ethtool Linux untuk Memanipulasi Kartu Ethernet
3. Hapus Jembatan Ethernet yang Ada menggunakan delbr
Menggunakan brctl delbr, kita dapat menghapus jembatan ethernet yang ada.
Contoh berikut akan menghapus instance “stage” dari jembatan ethernet.
brctl delbr stage
Seperti yang Anda lihat dari perintah show, kita tidak melihat jembatan ethernet "panggung" lagi.
# brctl show bridge name bridge id STP enabled interfaces dev 8000.000000000000 no prod 8000.000000000000 no
Harap dicatat bahwa ketika jembatan aktif (yaitu naik), Anda dapat menghapusnya. Anda harus menurunkan jembatan terlebih dahulu dan kemudian menghapusnya.
Juga, harap dicatat bahwa perintah brctl sebelumnya disebut sebagai brcfg.
4. Tambahkan Antarmuka ke Jembatan yang Ada
Menggunakan brctl addif, kita dapat menambahkan antarmuka ke jembatan ethernet yang ada.
Contoh berikut akan menambahkan jaringan ethernet eth0 ke bridge “dev” yang baru saja kita buat.
Peringatan:Jangan coba ini pada mesin kritis apa pun, karena Anda mungkin kehilangan koneksi jaringan ke mesin itu ketika terjadi kesalahan. Coba ini hanya pada contoh pengujian di mana Anda memiliki akses konsol.
brctl addif dev eth0
Di atas:
- Ini akan benar-benar menjadikan eth0 sebagai port dari bridge “dev”.
- Jadi, semua frame yang sampai di eth0 akan diproses seolah-olah benar-benar sampai di bridge.
- Juga, ketika frame dikirim melalui bridge “dev”, ia akan menggunakan eth0. Ketika beberapa antarmuka merupakan bagian dari bridge “dev”, maka eth0 akan menjadi kandidat potensial untuk mengirimkan frame keluar dari bridge.
Setelah menambahkan eth0 ke bridge “dev”, perintah brctl show akan menampilkan berikut ini.
# brctl show bridge name bridge id STP enabled interfaces dev 8000.0050568954bc no eth0 prod 8000.000000000000 no
Seperti yang Anda lihat dari output di atas, kolom terakhir "antarmuka" bagaimana memiliki eth0 untuk jembatan "dev".
Catatan:Jika terjadi kesalahan saat menambahkan eth0 ke bridge “dev”, jalankan perintah berikut dari konsol untuk menghapus bridge dev.
# brctl delbr dev
Perhatikan juga bahwa jika Anda mencoba menambahkan antarmuka loopback ke jembatan, Anda akan mendapatkan perintah argumen yang tidak valid berikut.# brctl addif dev lo
tidak dapat menambahkan lo ke jembatan dev:Argumen tidak valid
Seperti yang dapat Anda bayangkan, Anda tidak dapat menambahkan antarmuka yang tidak ada pada sistem ke jembatan.
# brctl addif dev eth2 interface eth2 does not exist!
5. Tambahkan Beberapa Antarmuka ke Jembatan yang Ada
Pada contoh di atas, kami hanya menambahkan satu perangkat ethernet (eth0) ke bridge.
Namun, seluruh ide menggunakan jembatan adalah untuk menambahkan lebih banyak antarmuka ke jembatan.
Dalam contoh berikut, kita menambahkan eth0 dan eth1 ke bridge “dev”.
# brctl addif dev eth0 eth1
Seperti yang Anda lihat dari output berikut, untuk dev bridge kita melihat dua garis. Di kolom terakhir “antarmuka”, kita melihat eth0 dan eth1 untuk jembatan ethernet “dev”.
# brctl show bridge name bridge id STP enabled interfaces dev 8000.0050568954bc no eth0 eth1 prod 8000.000000000000 no
Catatan:Jika antarmuka ethernet tertentu sudah menjadi bagian dari jembatan, Anda tidak dapat menambahkannya ke jembatan lain.
Pada dasarnya, satu jaringan hanya dapat menjadi bagian dari satu jembatan. Jika tidak, kita akan mendapatkan pesan kesalahan berikut saat mencoba menambahkannya ke jembatan lain.
# brctl addif prod eth1 device eth1 is already a member of a bridge; can't enslave it to bridge prod
6. Melacak alamat MAC Jembatan
Menggunakan brctl showmacs, kita dapat melihat semua alamat MAC yang dipelajari dari sebuah jembatan.
Pada contoh berikut, sampai sekarang, berikut ini adalah dua alamat mac yang terhubung ke "prod" jembatan ethernet. Data ini akan terus berubah tergantung pada status saat ini dari apa yang terhubung ke jembatan.
# brctl showmacs prod port no mac addr is local? ageing timer 1 00:50:56:89:54:bc yes 0.00 2 00:60:50:46:bc:40 no 0.00
7. Setel Waktu Penuaan untuk Alamat Mac di Bridge
Pada contoh berikut, kami menyetel waktu penuaan alamat mac menjadi 120 detik pada jembatan ethernet “dev”.
brctl setaging dev 120
Di atas:
- dev adalah nama jembatan tempat kita menyetel nilai ini
- 120 adalah detik
- Jadi, jika sebuah frame tidak terlihat untuk jembatan “dev” dalam 120 detik, maka jembatan “dev” akan menghapus alamat mac dari database penerusan.
8. Siapkan Spanning Tree di Jembatan Ethernet
Dengan menggunakan brctl stp, kita dapat men-setup spanning tree pada ethernet bridge.
Namun secara default, spanning tree tidak diaktifkan saat kita membuat jembatan.
Spanning tree berguna saat Anda memiliki banyak jembatan di jaringan Anda, dan semuanya dapat berkolaborasi untuk menemukan jalur terpendek antara dua ethernet.
Dalam contoh berikut, kita menyalakan spanning tree di jembatan ethernet “dev”.
Kita dapat menggunakan on atau yes untuk mengaktifkan spanning tree. Jadi, kedua perintah berikut akan melakukan hal yang persis sama.
brctl stp dev on brctl stp dev yes
Seperti yang Anda lihat dari output acara berikut, nilai di kolom "STP diaktifkan" untuk jembatan "dev" sekarang menjadi "ya".
# brctl show bridge name bridge id STP enabled interfaces dev 8000.000000000000 yes prod 8000.000000000000 no
Untuk mematikan spanning tree di ethernet bridge Anda, lakukan hal berikut:
# brctl stp dev off # brctl show bridge name bridge id STP enabled interfaces dev 8000.000000000000 no prod 8000.000000000000 no
9. Tampilkan Nilai Parameter STP Jembatan
STP adalah singkatan dari Spanning Tree Protocol.
Setelah Anda mengaktifkan stp di jembatan Anda, Anda dapat menggunakan showtp seperti yang ditunjukkan di bawah ini untuk melihat semua nilai parameter stp jembatan Anda.
Berikut ini akan menampilkan parameter stp dan nilainya saat ini untuk jembatan “dev”.
# brctl showstp dev dev bridge id 000a.000000000000 designated root 000a.000000000000 root port 0 path cost 0 max age 19.99 bridge max age 19.99 hello time 1.99 bridge hello time 1.99 forward delay 14.99 bridge forward delay 14.99 ageing time 299.95 hello timer 0.00 tcn timer 0.00 topology change timer 0.00 gc timer 0.00 hash elasticity 4 hash max 512 mc last member count 2 mc init query count 2 mc router 1 mc snooping 1 mc last member timer 0.99 mc membership timer 259.96 mc querier timer 254.96 mc query interval 124.98 mc response interval 9.99 mc init query interval 31.24 flags
10. Ubah Nilai Parameter Jembatan
Nilai default parameter pohon rentang untuk jembatan tertentu dapat diubah. Anda juga dapat mengubah nilai parameter lain dari jembatan yang Anda buat.
Semua perintah set berikut yang disebutkan dalam tabel di bawah ini dimulai dengan brctl. Misalnya:
brctl setageing dev 100
Tabel berikut menampilkan perintah set yang tersedia untuk brctl. Nilai waktu dalam detik.
perintah brctl | Deskripsi |
---|---|
mengatur waktu jembatan | Setel waktu penuaan |
setbridgeprio bridge prio | Menetapkan prioritas jembatan (antara 0 dan 65535) |
waktu jembatan setfd | Menyetel penundaan bridge forward |
waktu jembatan setello | Setel waktu halo |
setmaxage waktu jembatan | Tetapkan usia pesan maksimum |
mengatur waktu jembatan | Setel interval pengumpulan sampah dalam hitungan detik |
jembatan sethashel int | Setel elastisitas hash |
sethashmax bridge int | Tetapkan hash maks |
setmclmc menjembatani int | Setel jumlah anggota terakhir multicast |
setmcrouter bridge int | Menyetel router multicast |
setmcsnoop bridge int | Menyetel pengintaian multicast |
setmcsqc menjembatani int | Setel jumlah kueri startup multicast |
waktu jembatan setmclmi | Setel interval anggota terakhir multicast |
waktu jembatan setmcmi | Setel interval keanggotaan multicast |
waktu jembatan setmcqpi | Setel interval kueri multicast |
waktu jembatan setmcqi | Setel interval kueri multicast |
waktu jembatan setmcqri | Setel interval respons kueri multicast |
waktu jembatan setmcqri | Setel interval kueri startup multicast |
biaya port jembatan setpathcost | Tetapkan biaya jalur |
setportprio bridge port prio | Setel prioritas port (antara 0 dan 255) |
setportmcrouter bridge port int | Mengatur port multicast router |
jembatan sethashel int | Tetapkan nilai elastisitas hash |
.