Karena bridge adalah perangkat ethernet, ia memerlukan alamat MAC. Jembatan linux dapat membuat hal-hal seperti bingkai protokol spanning-tree, dan lalu lintas seperti itu memerlukan alamat MAC asal.
Jembatan tidak membutuhkan sebuah alamat ip. Ada banyak situasi di mana Anda tidak akan memilikinya. Namun, dalam banyak kasus, Anda mungkin memiliki satu, seperti:
-
Saat bridge bertindak sebagai gateway default untuk sekelompok kontainer atau mesin virtual (atau bahkan antarmuka fisik). Dalam hal ini diperlukan alamat ip (karena perutean terjadi pada lapisan IP).
-
Ketika NIC "primer" Anda adalah anggota jembatan, sehingga jembatan tersebut adalah konektivitas Anda ke dunia luar. Dalam hal ini, daripada menetapkan alamat ip ke (misalnya)
eth0
, Anda akan menetapkannya ke perangkat penghubung.
Jika jembatan tidak diperlukan untuk perutean ip, maka tidak perlu alamat ip. Contoh situasi ini meliputi:
- Saat bridge digunakan untuk membuat jaringan perangkat pribadi tanpa konektivitas eksternal, atau dengan konektivitas eksternal yang disediakan melalui perangkat selain bridge.
Ya, antarmuka bridge berfungsi sebagai port tambahan.
Setelah man 5 systemd.netdev
:
Perangkat jembatan adalah sakelar perangkat lunak, dan masing-masing perangkat budaknya dan jembatan itu sendiri adalah port dari sakelar.
Perangkat bridge yang terdaftar dengan perangkat jaringan Anda yang lain tidak mewakili bridge virtual, melainkan NIC virtual yang terhubung ke bridge. Jika Anda memiliki jembatan fisik yang terhubung dengan perangkat jaringan fisik, Anda juga tidak akan melihat jembatan fisik yang terdaftar di perangkat jaringan Anda - tetapi Anda akan melihat NIC Anda yang terhubung ke jembatan, yang tentu saja memiliki alamat MAC sendiri seperti perangkat jaringan lainnya.
Menetapkan alamat IP ke perangkat jembatan (yang, sekali lagi, sebenarnya adalah NIC virtual yang terhubung ke jembatan virtual) memungkinkan perangkat host Anda merutekan paket ke subnet yang dibuat oleh jembatan dan semua perangkat yang terhubung dengannya. Rapi!
Sedangkan alat perangkat jaringan seperti iproute2
(dengan ip link
dan ip addr
perintah) memungkinkan Anda untuk melihat NIC virtual yang terpasang ke jembatan, juga memungkinkan untuk melihat jembatan virtual itu sendiri dengan brctl
program. brctl show
perintah akan mencantumkan semua jembatan dan antarmuka terlampir. Berikut adalah contoh penggunaan iproute
dan brctl
dengan bridge dan tuntap Linux:
# ip link add br0 type bridge
# ip tuntap add dev tap0 mode tap
# ip tuntap add dev tap1 mode tap
# ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev br0
# ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev tap0
# ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev tap1
# brctl addif br0 tap0
# brctl addif br0 tap1
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.2e22e593fe8c no tap0
tap1
# ip addr show to 10.0.0.0/24
11: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
inet 10.0.0.1/24 brd 10.0.0.255 scope global br0
valid_lft forever preferred_lft forever
12: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
inet 10.0.0.2/24 brd 10.0.0.255 scope global tap0
valid_lft forever preferred_lft forever
13: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
inet 10.0.0.3/24 brd 10.0.0.255 scope global tap1
valid_lft forever preferred_lft forever
Perhatikan bahwa apa yang tercantum di bawah "antarmuka" di keluaran brctl show
adalah lainnya antarmuka yang terpasang pada jembatan, selain br0
antarmuka yang ditambahkan secara otomatis saat jembatan dibuat. (Saya kira Linux tidak mengizinkan pembuatan jembatan virtual tanpa perangkat yang terpasang, dan jembatan tanpa perangkat akan dihancurkan secara otomatis.) Sebagai catatan, saya belum meneliti ini di kernel, saya juga bukan ahli jaringan. Saya memposting ini karena tampaknya secara meyakinkan menjelaskan implementasi jembatan virtual yang agak membingungkan di Linux. Saya tidak percaya bahwa jembatan virtual itu sendiri bahkan memiliki alamat MAC.