atur tap0 menggunakan virt-manager untuk nirkabel yang dijembatani

8

Setelah 3 hari saya akhirnya memiliki tamu kvm yang bekerja di jaringan melalui nirkabel (tautan di bawah - terima kasih!):

Jaringan saya adalah 192.168.1.0/24

di tuan rumah:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo tunctl -t tap0
sudo ip link set tap0 up
sudo ip addr add 192.168.1.25/24 dev tap0
sudo route add -host 192.168.1.30 dev tap0
sudo parprouted wlan0 tap0

pada tamu:

auto eth0
iface eth0 inet static
  address 192.168.1.30
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.25

dan mulai tamu:

sudo kvm /path/to/guest.img -net nic,macaddr=DE:AD:BE:EF:90:26 -net tap,ifname=tap0,script=no

Ini berfungsi dengan baik dan saya bisa melakukan ping jaringan lokal dan internet bolak-balik antara tamu.

Tapi bagaimana cara menambahkan pengaturan ini ke konfigurasi xml tamu sehingga saya bisa memulai tamu melalui manajer-baik dengan pengaturan nic yang sama?

ref:

DaveO
sumber

Jawaban:

1

coba ikuti ini: libwirtwiki - tamu ketuk

dan perbaiki /etc/libvirt/qemu/example.xml

<interface type='ethernet'>
  <mac address='26:c7:a9:96:a7:7a'/>
  <target dev='tap0'/>
  <model type='virtio'/>
  <script path='no'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

dalam kasus saya ini berfungsi

MecaT
sumber
0

Saya pikir Anda sedang mencoba untuk mengatur jaringan yang dijalin dengan cara memutar dengan membuat perangkat tap dll. Di Linux Anda dapat membuat perangkat jembatan virtual untuk antarmuka fisik menggunakan perubahan konfigurasi sederhana. Setelah selesai, KVM VM dapat dikonfigurasi untuk menggunakan perangkat jembatan virtual ini untuk terhubung ke LAN normal seolah-olah mereka terhubung langsung ke sana. Ini memberikan ilusi bahwa semua VM dan mesin base / host semua terhubung ke LAN secara langsung.

Jika itu yang Anda inginkan maka modifikasi / etc / sysconfig / network-scripts / ifcfg-eth0 (dengan anggapan eth0 adalah perangkat jaringan host yang memiliki IP di jaringan 192.168.1.0/24 dalam kasus Anda) untuk memiliki jalur

DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0

di antara garis konfigurasi lainnya. Salin ifcfg-eth0 ke ifcfg-br0 di mana ifcfg-br0 harus berbeda dari ifcfg-eth0 di baris yang disebutkan di bawah ini

DEVICE=br0
TYPE=Bridge

Sekarang ketika Anda menggunakan 'restart jaringan layanan' Anda harus memiliki antarmuka jaringan BR0 dan eth0 dan IP LAN Anda dalam kisaran 192.168.1.0/24 tampaknya akan ditugaskan ke BR0. Sekarang yang harus Anda lakukan adalah mengedit pengaturan VM dan memintanya untuk terhubung menggunakan jaringan br0.

Saurabh Barjatiya
sumber
terima kasih Saurabh, tetapi cara ini adalah karena antarmuka nirkabel tidak mendukung bridging normal, seperti yang Anda lakukan dengan antarmuka eth0 kabel.
DaveO
Ups! Salahku. Tidak menyadari bahwa bridging tidak berfungsi untuk antarmuka nirkabel seperti pada kabel.
Saurabh Barjatiya
Alih-alih menjembatani. Anda juga dapat mengatur jaringan nirkabel lengkap dengan DHCP sendiri dan menggunakan beberapa rentang IP pribadi yang tidak digunakan. Kemudian untuk membuat jaringan nirkabel ini terhubung di luar Anda dapat menggunakan NAT sumber / tujuan pada mesin yang memiliki koneksi nirkabel dan kabel. Jika VM nirkabel tidak akan memiliki server maka hanya sumber PAT yang akan melakukannya. Jika perlu untuk terhubung ke VM nirkabel dari seluruh jaringan maka sumber dan tujuan kombo NAT harus dilakukan.
Saurabh Barjatiya
0

Apa yang salah dengan menggunakan macvtap ? Ini benar-benar tidak menyakitkan dan tidak memerlukan konfigurasi lebih lanjut pada host.

pemilihan macvtap di virt-manager

Michael Hampton
sumber
3
Macvlan / macvtap sangat bagus untuk antarmuka kabel tetapi tampaknya tidak berfungsi pada antarmuka nirkabel, berdasarkan pengalaman dan pengalaman saya sendiri membaca online.
lgaggini
2
@ lgaggini Anda tidak dapat menjembatani ke antarmuka nirkabel karena AP akan menolak alamat MAC dari mesin virtual. Dalam hal ini Anda hanya melakukan sesuatu yang lain.
Michael Hampton