Bagaimana virbr0-nic dibuat?

11

Bagaimana cara membuat antarmuka jaringan virtual virbr0-nic? Saya mencoba menemukan cara untuk membuat NIC seperti virbr0-nictetapi semua yang dapat saya temukan di Internet adalah cara membuat antarmuka yang melekat pada antarmuka fisik seperti eth0:0. Ketika saya menulis

# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.525400e0af01   yes virbr0-nic
virbr1      8000.525400e8a6b1   yes virbr1-nic
                            vnet1

Begitu virbr0juga jembatan yang virbr0-nicdilampirkan. Jadi bagaimana virbr0-nicdan vnet1dibuat?

cosimo
sumber
biasanya itu terkait dengan sesuatu seperti jembatan khusus untuk sedikit perangkat lunak. Apa yang Anda BENAR-BENAR coba lakukan?
Journeyman Geek
Saya telah menginstal KVM dan memperhatikan bahwa itu menciptakan NIC virbr0-nic baru. Saya hanya ingin tahu bagaimana saya bisa membuat NIC saya sendiri seperti ini.
cosimo

Jawaban:

10

Ini adalah perangkat tiruan. Anda bisa lari

modprobe dummy

Untuk membuat antarmuka jaringan yang disebut dummy0.

Jika Anda menginginkan lebih dari satu perangkat, Anda dapat membuat say 5 with

modprobe dummy numdummies=5

Anda kemudian dapat mengontrol perangkat ini seperti perangkat jaringan lainnya.

Berikan alamat MAC dengan

ip link set dummy0 address aa:aa:aa:bb:bb:bb

Berikan alamat IP dengan

ip addr add 10.0.0.1/24 dev dummy0

Tambahkan ke jembatan Anda yang ada dengan

brctl addif virbr0 dummy0

Atur, atur, lepaskan, dan sebagainya.

suprjami
sumber
1
Jawaban ini tampaknya lebih benar daripada alternatif tetapi tidak memiliki detail tentang hanya membuat antarmuka yang setara dengan apa yang diatur KVM secara default (virbr0-nic).
pepper_chico
Poster pertanyaan itu tampaknya memahami apa yang dilakukan jembatan dan apa yang dilakukan perangkat tiruan, ia hanya ingin tahu cara membuat antarmuka yang sama. Anda dipersilakan untuk meningkatkan jawaban jika Anda merasa itu bisa lebih baik.
suprjami
6

Libvirt menggunakan perangkat TUN untuk tujuan ini. Anda dapat secara manual membuat perangkat ini dengan mengikuti perintah:

# /usr/bin/tunctl -t virbr0-nic
Max A.
sumber
3

virbr0-nic singkatan dari Virtual bridge NIC.

Ini pada dasarnya jembatan antara Kartu Jaringan fisik Anda dan Kartu Jaringan virtual Mesin Virtual Anda.

Untuk mengelola antarmuka yang dijembatani, Anda dapat menggunakan brctlperintah. Anda dapat membuat daftar semua antarmuka yang dijembatani dengan Anda

brctl show 

dan menambah atau memodifikasi jembatan sesuai dengan kebutuhan Anda. Untuk membuat jembatan baru gunakan

brctl addbr <name>

di mana <name>akan menjadi nama jembatan baru Anda (seperti virbr0-nic). Lalu Anda dapat menambahkan antarmuka ke jembatan dengan

brctl addif <brname> <ifname>

Anda dapat merujuk ke halaman manual untuk informasi tambahan.

Giorgio Previtera
sumber
1
Ini sebenarnya tidak menceritakan tentang membuat "virbr1-nic" baru, hanya "virbr1" baru yang antarmuka-nya akan ditetapkan ("virbr1-nic") tersirat ada sebelumnya.
pepper_chico
Saya tidak berpikir itu adalah jembatan antara fisik dan virtual. Saya harus melakukan penyamaran antara virbr0 dan fisik untuk paket untuk dialihkan.
Pete Ashdown
2

Tidak jelas jenis perangkat apa virbr0-nicdan vnet1dalam pengaturan Anda. Ada beberapa jenis perangkat virtual yang dapat berguna untuk dimasukkan dalam jembatan, beberapa di antaranya dapat dibuat menggunakan ipperintah.

Salah satu jenis perangkat virtual adalah vethyang menciptakan pasangan antarmuka Ethernet virtual yang terhubung.

ip link add veth0 type veth peer name veth1

Dalam contoh ini veth0dan veth1merupakan nama antarmuka acak yang saya buat sebagai contoh. Metode ini misalnya dapat berguna jika Anda ingin memindahkan salah satu dari dua antarmuka ke namespace jaringan yang berbeda.

Jenis antarmuka virtual lainnya adalah vlantempat Anda membuat antarmuka Ethernet virtual tunggal yang dilampirkan pada tag 802.1q tertentu pada antarmuka fisik:

ip link add link eth0 name eth0.10 type vlan id 10

Ada halaman manual dengan informasi tentang lebih banyak lagi jenis antarmuka virtual yang dapat dibuat dengan ipperintah. Nama halaman manual tergantung pada versi mana yang telah Anda instal, saya telah melihatnya bernama ip-linkatau adil ip.

Selain itu jika Anda menggunakan virtualisasi apa pun ada antarmuka virtual yang menghubungkan host dan VM. Spesifikasinya tergantung pada solusi virtualisasi yang Anda gunakan.

kasperd
sumber
1

tetapi saya tidak memiliki ini / usr / bin / tunctl -t virbr0-nic saya hal yang diinstal dari kokpit dan saya tidak dapat menemukan opsi hapus ketika saya akan menggunakan mesin virtual apakah itu baik-baik saja ketika ada tetapi untuk jaringan dengan systemd-networkd saya punya banyak masalah dengannya. Cockpit akan menggunakan Network-Manager dan file-file konfigurasi darinya. setelah instalasi jaringan saya turun semua perangkat dan aplikasi berjalan dengan banyak gagal.

Jika Anda memeriksa 'ifconfig -a' setelah menginstal baru RHEL / CentOS 6,7 sistem, Anda akan menemukan nama antarmuka virbr0. Berikut adalah contoh dari sistem CentOS 7 yang baru diinstal.

ifconfig -a

....

virbr0: flags=4099[UP,BROADCAST,MULTICAST]  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098[BROADCAST,MULTICAST]  mtu 1500
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Apa itu antarmuka virbr0 Antarmuka virbr0 bridge dibuat oleh konfigurasi jaringan default libvirtd. libvirtd adalah layanan yang menyediakan dasar bagi tuan rumah untuk bertindak sebagai hypervisor. Jadi jika Anda tidak menggunakan virtualisasi xen, Anda dapat mencegah jaringan default libvirtd dari diaktifkan pada saat boot, atau Anda dapat mencegah libvirtd itu sendiri dari mengaktifkan saat boot. Yang pertama akan mencegah setiap tamu VM yang terhubung dengan jaringan default libvirtd dari memiliki konektivitas jaringan dan yang terakhir akan mencegah para VM dari menjalankan sama sekali. Mana yang baik jika Anda tidak menggunakannya. Nonaktifkan jaringan default libvirtd

  1. Anda dapat menonaktifkan jaringan default libvirtd untuk sementara menggunakan perintah virsh. Ini tidak akan bertahan selama reboot.

    virsh net-destroy default

  2. Untuk menonaktifkan secara permanen jaringan default libvirtd agar tidak dibuat saat boot:

    virsh net-autostart default --disable

Hapus jaringan default libvirtd Untuk menghapus jaringan default libvirtd secara permanen:

virsh net-undefine default

Untuk menonaktifkan layanan libvirtd secara permanen mulai saat boot di RHEL5 dan RHEL6:

chkconfig libvirtd off

Untuk menonaktifkan layanan libvirtd secara permanen dari mulai saat boot di RHEL7:

systemctl disable libvirtd.service
Aktony
sumber