
짧은:동일한 하이퍼바이저에서 실행되는 두 개의 VM이 서로 통신하도록 하세요.
KVM에서 실행 중인 VM이 두 개 있고 Cockpit을 통해 관리하려고 합니다.
하이퍼바이저와 VM은 Ubuntu 20.04를 실행하고 있습니다.
VM은 enp2s0을 가리키는 br0(192.168.1.248/24)을 사용하여 구성됩니다.
그들은 192.168.1.152 192.168.1.220과 같은 자신의 로컬 LAN IP를 얻습니다.
로컬 LAN에서 이를 확인하고 핑할 수 있습니다. 그러나 그들은 서로를 핑하거나 볼 수 없습니다.
어떻게 연결할 수 있나요?
세부 사항:
반드시 192.168을 통해 서로 연결할 필요는 없습니다.* KVM 호스트의 가상 네트워크를 통해 연결할 수 있습니다. 하지만 LAN에서 계속 액세스할 수 있어야 합니다. Cockpit 인터페이스를 통해 가상 네트워크를 만들어 보았습니다.
시험을 마친: VM 인터페이스를 통해 가상 네트워크를 생성했지만 VM이 ifconfig를 통해 가상 인터페이스를 표시하지 않는 것 같습니다. 로컬 및 enp1so만 표시됩니다.
업데이트:
이것이 관련되어 있는지 확실하지 않습니다(가상 네트워크를 생성하려고 할 때 Cockpit 인터페이스에서도 이것으로 인해 차단됩니다).
sudo systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-08-29 13:46:24 PDT; 6h ago
TriggeredBy: ● libvirtd.socket
● libvirtd-admin.socket
● libvirtd-ro.socket
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 1068 (libvirtd)
Tasks: 20 (limit: 32768)
Memory: 32.0M
CGroup: /system.slice/libvirtd.service
├─ 1068 /usr/sbin/libvirtd
├─ 52826 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/virtual0.conf --leasefile-ro --dhcp-script=/usr/lib/libv>
└─182682 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/virtual1.conf --leasefile-ro --dhcp-script=/usr/lib/libv>
Aug 29 19:45:25 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:25 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:32 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:33 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:33 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:33 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:39 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:40 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:40 dio libvirtd[1068]: internal error: No more available PCI slots
Aug 29 19:45:40 dio libvirtd[1068]: internal error: No more available PCI slots
~
~
논의:
VM 및 호스트에서 이를 실행
sudo ebtables-save
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
sudo nft list ruleset
table bridge filter {
chain INPUT {
type filter hook input priority filter; policy accept;
}
chain FORWARD {
type filter hook forward priority filter; policy accept;
}
chain OUTPUT {
type filter hook output priority filter; policy accept;
}
}
ip -d link
br0의 경우
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 4c:cc:6a:06:f3:8b brd ff:ff:ff:ff:ff:ff promiscuity 1 minmtu 68 maxmtu 65535
bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1Q bridge_id 8000.4c:cc:6a:6:f3:8b designated_root 8000.4c:cc:6a:6:f3:8b root_port 0 root_path_cost 0 topology_change 0 topology_change_detected 0 hello_timer 0.00 tcn_timer 0.00 topology_change_timer 0.00 gc_timer 280.62 vlan_default_pvid 1 vlan_stats_enabled 0 vlan_stats_per_port 0 group_fwd_mask 0 group_address 01:80:c2:00:00:00 mcast_snooping 1 mcast_router 1 mcast_query_use_ifaddr 0 mcast_querier 0 mcast_hash_elasticity 16 mcast_hash_max 4096 mcast_last_member_count 2 mcast_startup_query_count 2 mcast_last_member_interval 100 mcast_membership_interval 26000 mcast_querier_interval 25500 mcast_query_interval 12500 mcast_query_response_interval 1000 mcast_startup_query_interval 3124 mcast_stats_enabled 0 mcast_igmp_version 2 mcast_mld_version 1 nf_call_iptables 0 nf_call_ip6tables 0 nf_call_arptables 0 addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 64000 gso_max_segs 64
해결책: 결국 시스템에서 Docker가 병렬로 실행되었습니다. KVM을 설치할 때 Docker를 실행하고 있지 않은지 확인하세요. Docker를 실행하면 가상 호스트 간의 모든 통신이 차단됩니다.