[KVM][Virt-manager][OpenSuSE] Konfigurowanie sieci

Jak skonfigurować sieć w Virt-Managerze? W informacjach nie widzę przycisku do konfiguracji kart sieciowych. Jak wpiszę ifconfig w systemie-gościu, to wyświetla się jedynie loopback(lo).

 

Zarówno gościem, jak i hostem jest OpenSUSE.

Spróbuj najpierw utworzyć mostek. Libvirt powinien ogólnie stworzyć własną sieć typu virt0, a przynajmniej tak jest pod Debianem, widocznie pod SuSE jest inaczej.

W Yaście nie dało się skonfigurować mostka, gdyż wszystko było wysarzone, nawet po wyłączeniu NetworkManger-a. Skonfigurowałem mostek za pomocą Network-Managera.

System na to pozwolił? Użyłeś bridge-utils czy jakiego graficznego narzędzia w YaST?

Pokaż jeszcze konfigurację interfejsów z hosta i gościa.

ip a
brctl show

Użyłem klienta NetworkManager dla KDE4(plasmoid w tray-u).

 

 

Host:

 

ip a:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 1c:75:08:0a:81:c4 brd ff:ff:ff:ff:ff:ff
3: wlp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 18:f4:6a:29:7b:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic wlp8s0
       valid_lft 86394sec preferred_lft 86394sec
    inet6 fe80::1af4:6aff:fe29:7be1/64 scope link
       valid_lft forever preferred_lft forever
4: OpenSUSE13.2RC1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 16:a8:19:8d:79:fa brd ff:ff:ff:ff:ff:ff

 

brctl show:

bridge name     bridge id               STP enabled     interfaces
OpenSUSE13.2RC1         8000.000000000000       yes

 

Gość:

ip a

1: lo <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisk noqueue UNKOWN group default
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
   inet6: ::1/120 scope host
     valid_lft forever preferred_lft forever
2: ens7 <BROADCAST,lMULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:b3:86:c1 brd ff:ff:ff:ff:ff:ff
   intet 192.168.0.200/24 brd 192.168.0.255 scope global ens7
     valid_lft forever prefered_lft fotever
   inet6 fe80:5054:ff:feb3:86c1/64 scope link
     valid_lft forever preferred_lft forever

brctl show:

Niestety na gościu nie mam zainstalowanego brctl, a nie mam na nim dostępu do neta, więc nie zainstaluje tego polecenia

Masz utworzony most OpenSUSE13.2RC1, ale nie ma przypisanych do niego interfejsów. Gość ma IP, ale nie w podsieci, w której masz interfejsy na hoście. Sprawdź czy w Virt-Manager lub libvirt czy nie masz ustawionego sieci typu NAT lub routing. Możesz jeszcze takim razie pokazać tablicę routingu.

route -n

Polecenie brctl dotyczyło w sumie tylko hosta.

Host: route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    1024   0        0 wlp8s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlp8s

Nie ma wpisów dla interfejsów OpenSuSE

wlp8s to jest interfejs WiFi?

Teraz masz łączność? Do wyjścia poza sieć hosta i tak musisz włączyć przekazywanie pakietów (host robi za router).

/etc/systctl.conf:

####
#
# /etc/sysctl.conf is meant for local sysctl settings
#
# sysctl reads settings from the following locations:
#   /boot/sysctl.conf-<kernelversion>
#   /lib/sysctl.d/*.conf
#   /usr/lib/sysctl.d/*.conf
#   /usr/local/lib/sysctl.d/*.conf
#   /etc/sysctl.d/*.conf
#   /run/sysctl.d/*.conf
#   /etc/sysctl.conf
#
# To disable or override a distribution provided file just place a
# file with the same name in /etc/sysctl.d/
#
# See sysctl.conf(5), sysctl.d(5) and sysctl(8) for more information
#
####

# net.ipv6.conf.all.disable_ipv6 = 1
net.ipv4.ip_forward = 1

 

Nie - nie mam łączności.

Typ sieci to mostek i gość jest w ten samej podsieci? Bo jeśli to inny typ połączenia, to brakuje Ci albo tras do sieci gościa.

W systemie gospodarza mam sieć mostek, a  w systemie gościa ethernet.

Wyłączyłem moduły kvm i kvm_amd i instaluję system na VirtualBoksie. Jednak jeżeli da się to zrobić na KVM, to skorzystam. Zauważyłem, że VirtualBox szybciej renderuje grafikę.

Problem może polegać na tym, że system nie pozwala utworzyć mostku pomiędzy interfejsem wlan, a kartą sieci LAN.

root@roobal:/home/roobal# brctl addbr br0
root@roobal:/home/roobal# brctl addif br0 eth0 wlan0
can't add wlan0 to bridge br0: Operation not supported

Nawet samego wlan0 nie zmostkujesz, czyli gdybyś chciał mostkować dwie karty wlan, to tego nie zrobisz. Szukałem kiedyś rozwiązania, znalazłem informację, że jest to podobno celowe zabezpieczenie. Spróbuj na innym typie połączenia, gdybyś mostkował eth0, nie powinno być problemu.

Eee? Ostatnio udostępniałem neta przez hostapd poprzez mostek między eth0 a wlan0 i działo bez problemu. Jedyne co to wlan0 do mostka dodało się automatycznie podczas startu hostapd, tak że na pewno da się to jakoś obejść. Nie mam teraz podpiętej karty wlan, ale to sprawdzę jutro.

Mi się wydaje, że mostkowanie eth0 i wlan0 kiedyś działało. Faktycznie znalezłem obejście.

sudo iw dev wlan0 set 4addr on

Po tym poleceniu wlan0 ładnie dodaje się do mostka.