GNU/Linux >> Belajar Linux >  >> Linux

Mengapa menetapkan alamat MAC dan IP pada antarmuka Bridge

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.


Linux
  1. Mengapa Data Penting Dan Bagaimana Cara Melindunginya

  2. Alternatif Pgrep Dan Pkill Di Mac Os X?

  3. Mengapa Rm -rf Dan Bukan Rmdir -rf?

  1. Bagaimana saya bisa menetapkan IP dengan alamat MAC di dhcpd

  2. Mengapa kita menggunakan su - dan bukan hanya su?

  3. Iptables - Rantai Bridge dan Forward

  1. Mengapa saya beralih dari Mac ke Linux

  2. Hashing Kata Sandi Dan Mengapa Kami Membutuhkannya

  3. Bisakah saya mengikat blok alamat (besar) ke antarmuka?