簡體   English   中英

kvm/qemu debian 10 vm.network 問題

[英]kvm/qemu debian 10 vm network issue

我正在嘗試在我的 deb10 專用服務器上運行默認的基本 deb10 虛擬機,但我無法訪問 default.network 上的虛擬機。 我無法讓它獲得任何 IP 地址,也無法以任何方式到達它。 我在網上找到的許多線程上嘗試了很多東西,但沒有成功。

我找到的最簡單的解決方案是啟用端口轉發(因為默認配置的 NAT 模式)並重新開始,但它也沒有用。

sudo sysctl -w.net.ipv4.ip_forward=1

我會盡量提供盡可能多的信息。

腳本

#!/bin/bash
vname="deb"
virt-builder debian-10 \
   --size 15G \
   --format qcow2 -o "disk/$vname.qcow2" \
   --hostname "$vname.local" \
   --ssh-inject "root:string:ssh-rsa somesuperrsapubkey user@host" \
   --root-password disabled \
   --timezone "Europe/Paris" \
   --update
virt-install \
   --import \
   --name "$vname" \
   --ram 1024 \
   --vcpu 1 \
   --disk "disk/$vname.qcow2" \
   --os-variant debian10 \
   --network default \
   --noautoconsole

這沒什么特別的,我盡量保持基本。

IP接口

ansible@host:/kvm$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
    inet x.x.x.x/24 brd x.x.x.255 scope global dynamic eno1
       valid_lft 57059sec preferred_lft 57059sec
    inet6 x::x:x:x:x/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
42: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:9b:bf:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
43: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:9b:bf:4c brd ff:ff:ff:ff:ff:ff
44: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:9a:81:24 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe9a:8124/64 scope link 
       valid_lft forever preferred_lft forever

防火牆

ansible@host:/kvm$ sudo iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68

處女操作

ansible@host:/kvm$ sudo virsh
virsh # net-dumpxml default
<network connections='1'>
  <name>default</name>
  <uuid>75e2d7eb-389c-406b-a63e-7fe5e9f188f5</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:9b:bf:4c'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

virsh # domifaddr deb 
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------

virsh # domiflist deb 
 Interface   Type      Source    Model    MAC
-------------------------------------------------------------
 vnet0       network   default   virtio   52:54:00:9a:81:24

virsh # list
 Id   Name   State
----------------------
 19   deb    running

virsh # net-list
 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   no          yes

有沒有人可以幫我找到我的錯誤?

謝謝大家

剛好第一次開機沒有激活VM.network接口: ifup enp1s0

我現在找到了這個解決方法,但我想要一個更好的解決方案。

虛擬機鏡像構建

virt-builder debian-10 \
  --size 15G \
  --format qcow2 -o "disk/deb.qcow2" \
  --hostname "deb.local" \
  --timezone "Europe/Paris" \
  --upload 00-init:/etc/network/interfaces.d/00-init \
  --update

00-初始化文件

user@host:~/kvm$ cat 00-init 
allow-hotplug enp1s0
iface enp1s0 inet dhcp

然后 VM 確實從主機 DHCP 獲得了 IP 地址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM