Simon Moon
2018-11-05, 10:43:54
Hi
Ich probier gerade meine VMs in Debian online zu kriegen, aber irgendwie will es einfach nicht. Als Anleitung kam dieses Tutorial zum einsatz https://jamielinux.com/docs/libvirt-networking-handbook/custom-nat-based-network.html
Verwendet wird der Virtmanager mit KVM. Auf dem System kommt dhcpcd als DHCP Client zum Einsatz. OS ist Debian 9 stable mit xcfe4 Desktop.
Die interfaces Datei sieht dann wie folgt aus:
[]
# loopback no Internet
auto lo
iface lo inet loopback
auto virbr10-dummy
iface virbr10-dummy inet manual
pre-up /sbin/ip link add virbr10-dummy type dummy
up /sbin/ip link set virbr10-dummy address 52:54:00:c8:5f:8c
auto virbr10
iface virbr10 inet static
bridge_ports virbr10-dummy
bridge_stp on
bridge_fd 2
address 192.168.123.1
netmask 255.255.255.0
# Normaler Ethernet Controller
allow-hotplug enp1s0
# Android Smartphone via USB
allow-hotplug enp0s21f0u1
#gateway 192.168.142.1
#broadcast 192.168.42.255
# WLAN Interface
allow-hotplug wlp2s0
#gateway 192.168.143.1
#broadcast 192.168.43.255
[]
iptables sehen so aus:
[]
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i virbr10 -p udp -m udp -m multiport --dports 53,67 -j ACCEPT
-A INPUT -i virbr10 -p tcp -m tcp -m multiport --dports 53,67 -j ACCEPT
-A FORWARD -d 192.168.123.0/24 -o virbr10 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.123.0/24 -i virbr10 -j ACCEPT
-A FORWARD -i virbr10 -o virbr10 -j ACCEPT
-A FORWARD -i virbr10 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -o virbr10 -j REJECT --reject-with icmp-port-unreachable
[]
dnsmasq@virbr10 sieht der status so aus
[]● dnsmasq@virbr10.service - DHCP and DNS caching server for virbr10.
Loaded: loaded (/etc/systemd/system/dnsmasq@.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-11-05 09:53:40 CET; 38min ago
Main PID: 835 (dnsmasq)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/system-dnsmasq.slice/dnsmasq@virbr10.service
└─835 /usr/sbin/dnsmasq -k --conf-file=/var/lib/dnsmasq/virbr10/dnsmasq.conf
Nov 05 09:53:40 debian dnsmasq[835]: Benutze Namensserver 192.168.42.129#53
Nov 05 09:53:40 debian dnsmasq[835]: /etc/hosts gelesen - 5 Adressen
Nov 05 09:53:40 debian dnsmasq-dhcp[835]: /var/lib/dnsmasq/virbr10/hostsfile gelesen
Nov 05 09:53:40 debian dnsmasq[835]: lese /etc/resolv.conf
Nov 05 09:53:40 debian dnsmasq[835]: Benutze Namensserver 87.118.100.175#53
Nov 05 09:53:40 debian dnsmasq[835]: Benutze Namensserver 127.0.0.1#53
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPDISCOVER(virbr10) 192.168.123.112 52:54:00:4b:00:94
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPOFFER(virbr10) 192.168.123.112 52:54:00:4b:00:94
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPREQUEST(virbr10) 192.168.123.112 52:54:00:4b:00:94
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPACK(virbr10) 192.168.123.112 52:54:00:4b:00:94 erisvirt
[]
ip a spuckt dann das aus:
[]1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 54:ee:75:cb:f3:6d brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:e0:4c:81:92:81 brd ff:ff:ff:ff:ff:ff
4: enp0s21f0u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 6a:41:27:0c:05:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.42.172/24 brd 192.168.42.255 scope global enp0s21f0u1
valid_lft forever preferred_lft forever
inet6 fe80::d721:5880:f59b:dd03/64 scope link
valid_lft forever preferred_lft forever
5: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether 4a:73:22:ad:a6:7a brd ff:ff:ff:ff:ff:ff
inet6 fe80::f282:6092:ef69:7426/64 scope link
valid_lft forever preferred_lft forever
6: virbr10-dummy: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr10 state UNKNOWN group default qlen 1000
link/ether 52:54:00:c8:5f:8c brd ff:ff:ff:ff:ff:ff
7: virbr10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:c8:5f:8c brd ff:ff:ff:ff:ff:ff
inet 192.168.123.1/24 brd 192.168.123.255 scope global virbr10
valid_lft forever preferred_lft forever
inet6 fe80::a5d3:9769:ca3c:3b8a/64 scope link
valid_lft forever preferred_lft forever
9: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr10 state UNKNOWN group default qlen 1000
link/ether fe:54:00:4b:00:94 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.112/24 brd 192.168.123.255 scope global vnet0
valid_lft forever preferred_lft forever
inet6 fe80::4758:b5e:200b:203e/64 scope link
valid_lft forever preferred_lft forever
[]
Wenn ich mit Wireshark den Traffic anschau, dann kommt die VM auch bis zur Bridge - doch da bleibts dann stecken und wird nicht weiter gerouted. Es muss also wohl irgendws mit der Bridge zu tun haben, denn aus irgendeinem Grund wird bei jedem Systemstart dann auch ein "dummy0" kreiert, bei dem ich aber nicht versteh, was der nun eigentlich tut bzw. woher der kommt. Auch ist der Status von vnet0 und virbr10-dummy immer unknown - ich kann den nicht auffahren.
Hat jemand irgendeine idee, was da falsch konfiguriert ist?
Edit: Ich seh grad, mit dem installierten Alpine Linux hab ich kein Problem im Netzwerk. Liegt also offenbar an der Debian VM? Die ist ber eigentlich ganz frisch.. o.O
Und irgendwie stimmt da was trotzdem nicht. Wenn ich in der Alpine VM schau, hab ich eine IP 192.168.123.238 - auf dem Host ist die IP jeoch wie folgt angezeift:
10: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr10 state UNKNOWN group default qlen 1000
link/ether fe:54:00:d5:36:44 brd ff:ff:ff:ff:ff:ff
inet 169.254.136.164/16 brd 169.254.255.255 scope global vnet1
valid_lft forever preferred_lft forever
inet6 fe80::faa4:41b:f0e7:8099/64 scope link
valid_lft forever preferred_lft forever
Ok, das muss wohl so sein, kaum lass ich die IP von dhcpcd nicht mehr fixieren für vnet0 bekommt der auch so eine 169er IP zugewiesen und kommt dann nach draussen. Aberk kann mir da jemand erklären, wieso das so ist? Ich finde da meist nur irgendwelche Tutorials, die einfach sagen, was man einstellen soll - aber was der Hintergrund ist und wieso bleibt da meist unklar.
Ich probier gerade meine VMs in Debian online zu kriegen, aber irgendwie will es einfach nicht. Als Anleitung kam dieses Tutorial zum einsatz https://jamielinux.com/docs/libvirt-networking-handbook/custom-nat-based-network.html
Verwendet wird der Virtmanager mit KVM. Auf dem System kommt dhcpcd als DHCP Client zum Einsatz. OS ist Debian 9 stable mit xcfe4 Desktop.
Die interfaces Datei sieht dann wie folgt aus:
[]
# loopback no Internet
auto lo
iface lo inet loopback
auto virbr10-dummy
iface virbr10-dummy inet manual
pre-up /sbin/ip link add virbr10-dummy type dummy
up /sbin/ip link set virbr10-dummy address 52:54:00:c8:5f:8c
auto virbr10
iface virbr10 inet static
bridge_ports virbr10-dummy
bridge_stp on
bridge_fd 2
address 192.168.123.1
netmask 255.255.255.0
# Normaler Ethernet Controller
allow-hotplug enp1s0
# Android Smartphone via USB
allow-hotplug enp0s21f0u1
#gateway 192.168.142.1
#broadcast 192.168.42.255
# WLAN Interface
allow-hotplug wlp2s0
#gateway 192.168.143.1
#broadcast 192.168.43.255
[]
iptables sehen so aus:
[]
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i virbr10 -p udp -m udp -m multiport --dports 53,67 -j ACCEPT
-A INPUT -i virbr10 -p tcp -m tcp -m multiport --dports 53,67 -j ACCEPT
-A FORWARD -d 192.168.123.0/24 -o virbr10 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.123.0/24 -i virbr10 -j ACCEPT
-A FORWARD -i virbr10 -o virbr10 -j ACCEPT
-A FORWARD -i virbr10 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -o virbr10 -j REJECT --reject-with icmp-port-unreachable
[]
dnsmasq@virbr10 sieht der status so aus
[]● dnsmasq@virbr10.service - DHCP and DNS caching server for virbr10.
Loaded: loaded (/etc/systemd/system/dnsmasq@.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-11-05 09:53:40 CET; 38min ago
Main PID: 835 (dnsmasq)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/system-dnsmasq.slice/dnsmasq@virbr10.service
└─835 /usr/sbin/dnsmasq -k --conf-file=/var/lib/dnsmasq/virbr10/dnsmasq.conf
Nov 05 09:53:40 debian dnsmasq[835]: Benutze Namensserver 192.168.42.129#53
Nov 05 09:53:40 debian dnsmasq[835]: /etc/hosts gelesen - 5 Adressen
Nov 05 09:53:40 debian dnsmasq-dhcp[835]: /var/lib/dnsmasq/virbr10/hostsfile gelesen
Nov 05 09:53:40 debian dnsmasq[835]: lese /etc/resolv.conf
Nov 05 09:53:40 debian dnsmasq[835]: Benutze Namensserver 87.118.100.175#53
Nov 05 09:53:40 debian dnsmasq[835]: Benutze Namensserver 127.0.0.1#53
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPDISCOVER(virbr10) 192.168.123.112 52:54:00:4b:00:94
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPOFFER(virbr10) 192.168.123.112 52:54:00:4b:00:94
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPREQUEST(virbr10) 192.168.123.112 52:54:00:4b:00:94
Nov 05 09:54:26 debian dnsmasq-dhcp[835]: DHCPACK(virbr10) 192.168.123.112 52:54:00:4b:00:94 erisvirt
[]
ip a spuckt dann das aus:
[]1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 54:ee:75:cb:f3:6d brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:e0:4c:81:92:81 brd ff:ff:ff:ff:ff:ff
4: enp0s21f0u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 6a:41:27:0c:05:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.42.172/24 brd 192.168.42.255 scope global enp0s21f0u1
valid_lft forever preferred_lft forever
inet6 fe80::d721:5880:f59b:dd03/64 scope link
valid_lft forever preferred_lft forever
5: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether 4a:73:22:ad:a6:7a brd ff:ff:ff:ff:ff:ff
inet6 fe80::f282:6092:ef69:7426/64 scope link
valid_lft forever preferred_lft forever
6: virbr10-dummy: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr10 state UNKNOWN group default qlen 1000
link/ether 52:54:00:c8:5f:8c brd ff:ff:ff:ff:ff:ff
7: virbr10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:c8:5f:8c brd ff:ff:ff:ff:ff:ff
inet 192.168.123.1/24 brd 192.168.123.255 scope global virbr10
valid_lft forever preferred_lft forever
inet6 fe80::a5d3:9769:ca3c:3b8a/64 scope link
valid_lft forever preferred_lft forever
9: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr10 state UNKNOWN group default qlen 1000
link/ether fe:54:00:4b:00:94 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.112/24 brd 192.168.123.255 scope global vnet0
valid_lft forever preferred_lft forever
inet6 fe80::4758:b5e:200b:203e/64 scope link
valid_lft forever preferred_lft forever
[]
Wenn ich mit Wireshark den Traffic anschau, dann kommt die VM auch bis zur Bridge - doch da bleibts dann stecken und wird nicht weiter gerouted. Es muss also wohl irgendws mit der Bridge zu tun haben, denn aus irgendeinem Grund wird bei jedem Systemstart dann auch ein "dummy0" kreiert, bei dem ich aber nicht versteh, was der nun eigentlich tut bzw. woher der kommt. Auch ist der Status von vnet0 und virbr10-dummy immer unknown - ich kann den nicht auffahren.
Hat jemand irgendeine idee, was da falsch konfiguriert ist?
Edit: Ich seh grad, mit dem installierten Alpine Linux hab ich kein Problem im Netzwerk. Liegt also offenbar an der Debian VM? Die ist ber eigentlich ganz frisch.. o.O
Und irgendwie stimmt da was trotzdem nicht. Wenn ich in der Alpine VM schau, hab ich eine IP 192.168.123.238 - auf dem Host ist die IP jeoch wie folgt angezeift:
10: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr10 state UNKNOWN group default qlen 1000
link/ether fe:54:00:d5:36:44 brd ff:ff:ff:ff:ff:ff
inet 169.254.136.164/16 brd 169.254.255.255 scope global vnet1
valid_lft forever preferred_lft forever
inet6 fe80::faa4:41b:f0e7:8099/64 scope link
valid_lft forever preferred_lft forever
Ok, das muss wohl so sein, kaum lass ich die IP von dhcpcd nicht mehr fixieren für vnet0 bekommt der auch so eine 169er IP zugewiesen und kommt dann nach draussen. Aberk kann mir da jemand erklären, wieso das so ist? Ich finde da meist nur irgendwelche Tutorials, die einfach sagen, was man einstellen soll - aber was der Hintergrund ist und wieso bleibt da meist unklar.