Score:0

QEMU กับ KVM: ไม่สามารถ ping หรือ SSH ระหว่างโฮสต์และเครื่องแขก

ธง kp

แก้ไข: ตั้งแต่ แมควีแทป ใช้งานไม่ได้สำหรับการสื่อสารระหว่างโฮสต์และแขก ฉันพยายามใช้ a สะพานแต่ไม่มีอินเทอร์เน็ตบนโฮสต์และ ปิง หรือ จุ๊ๆ ยังไม่ทำงาน

นี่คือวิธีที่ฉันสร้างไฟล์ สะพาน:

การเชื่อมต่อ nmcli เพิ่มประเภทบริดจ์ ifname br0

เอาท์พุต:
เพิ่มการเชื่อมต่อ 'bridge-br0' (bf1406b0-4ea8-4338-9edc-0f58fd019bec) สำเร็จแล้ว


nmcli con เพิ่มประเภท ethernet con-name br-slave-1 ifname enp0s25 master br0

nmcli con เพิ่มประเภท ethernet con-name br-slave-1 ifname enp0s25 master br0

nmcli con แก้ไข bridge-br0 bridge.stp no

การเชื่อมต่อ nmcli เพิ่มประเภทอีเธอร์เน็ต ifname bridge-br0 ipv4.method auto

เอาท์พุต:
เพิ่มการเชื่อมต่อ 'ethernet-bridge-br0' (6c2c5495-6e43-4cd5-a574-014042987781) เรียบร้อยแล้ว


หลังจากรีบูต:

การแสดงคอน nmcli

ชื่อ UUID ประเภทอุปกรณ์  
สะพาน-br0 bf1406b0-4ea8-4338-9edc-0f58fd019bec สะพาน br0     
br-slave-1 a998c09f-5f46-4586-b654-cdfa6a21dca5 อีเธอร์เน็ต enp0s25 
อีเธอร์เน็ต-สะพาน-br0 6c2c5495-6e43-4cd5-a574-014042987781 อีเธอร์เน็ต --      
การเชื่อมต่อด้วยสาย 1 8559f62b-0cb9-3935-ba65-b6d57c0043c8 อีเธอร์เน็ต --      

ตอนนี้ถ้าฉันตัดการเชื่อมต่อ br-ทาส-1:

nmcli ต่อต้าน br-slave-1

ฉันได้รับอินเทอร์เน็ตคืนที่โฮสต์ แต่ไม่มีอินเทอร์เน็ตสำหรับแขกและ ping ก็ยังใช้งานไม่ได้:

ดังนั้นมีวิธีการใช้ จุ๊ๆ ระหว่างโฮสต์และแขกขณะใช้ qemu กับ kvm โดยใช้ เอ็นเอ็มซีแอล หรือ GUI ตัวจัดการเครือข่าย? ขอบคุณมาก.

บันทึก: เนื่องจากฉันต้องการเปิดและปิดเครือข่ายไร้สายที่แตกต่างกันเล็กน้อย ฉันจึงชอบอยู่ห่างจาก เน็ตแพลน หรือ อินเทอร์เฟซเครือข่ายดังนั้นฉันจึงพยายามตั้งค่าบริดจ์โดยใช้ เอ็นเอ็มซีแอล หรือ GUI ตัวจัดการเครือข่าย.

โพสต์ต้นฉบับ:

ฉันกำลังพยายาม SSH เป็นแขกจากโฮสต์ ทั้งเครื่องโฮสต์และแขกเป็น Ubuntu MATE 21.04

อินเทอร์เน็ตใช้งานได้ดีทั้งจากเครื่องโฮสต์และแขก

ที่อยู่ IP:

(1) เราเตอร์: Asus RT AC68U > 192.168.1.1
(2) โฮสต์: Ubuntu MATE 21.04 > 192.168.1.106
(3) แขก: Ubuntu MATE 21.04 > 192.168.1.139

ไฟร์วอลล์ถูกปิดใช้งาน/หยุดทั้งสาม:

(1) เราเตอร์: Asus RT AC68U > ไฟร์วอลล์ SPI > ปิดใช้งาน
(2) โฮสต์: Ubuntu MATE 21.04 > sudo systemctl หยุด nftables
(3) แขก: Ubuntu MATE 21.04 > sudo systemctl หยุด nftables

เมื่อฉันพยายาม ssh-copy-idฉันได้รับข้อผิดพลาดนี้: ไม่มีเส้นทางสู่โฮสต์

ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: พยายามเข้าสู่ระบบด้วยคีย์ใหม่เพื่อกรองสิ่งที่ติดตั้งไว้แล้ว

/usr/bin/ssh-copy-id: ข้อผิดพลาด: ssh: เชื่อมต่อกับโฮสต์ 192.168.1.139 พอร์ต 22: ไม่มีเส้นทางไปยังโฮสต์

ดังนั้นฉันจึงพยายาม ปิง (ใช้ไม่ได้ทั้งวิธี "host to guest" หรือ "guest to host"):

ปิง 192.168.1.139

PING 192.168.1.139 (192.168.1.139) 56(84) ไบต์ของข้อมูล
จาก 192.168.1.106 icmp_seq=1 ไม่สามารถเข้าถึงโฮสต์ปลายทางได้
จาก 192.168.1.106 icmp_seq=2 ไม่สามารถเข้าถึงโฮสต์ปลายทางได้

อย่างไรก็ตาม ปิง ทำงานจาก "โฮสต์ไปยังเราเตอร์" หรือ "แขกไปยังเราเตอร์":

ปิง จากโฮสต์ไปยังเราเตอร์:

ปิง 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 192.168.1.1: icmp_seq=1 ttl=64 เวลา=0.400 ms
64 ไบต์จาก 192.168.1.1: icmp_seq=2 ttl=64 เวลา=0.339 ms

ปิง จากแขกไปยังเราเตอร์:

ปิง 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 192.168.1.1: icmp_seq=1 ttl=64 เวลา=0.651 ms
64 ไบต์จาก 192.168.1.1: icmp_seq=2 ttl=64 เวลา=0.625 ms

เครื่องโฮสต์และแขกเชื่อมต่อผ่านบริดจ์เครือข่าย br0ซึ่งฉันสร้างโดยใช้ Netwrok Manager GUI สะพาน br0 มีสอง "การเชื่อมต่อสะพาน" br0 ทาส 1 และ br0 ทาส 2.

เปิดใช้งาน STP (ทอดโปรโตคอลทรี คือ "ไม่เลือก" แม้ว่าจะไม่ได้สร้างความแตกต่างใดๆ แม้ว่าฉันจะ "ตรวจสอบ" แล้วก็ตาม

รายละเอียดเพิ่มเติมที่ฉันคิดว่าน่าจะมีประโยชน์:

sudo nano /etc/libvirt/qemu/networks/host-bridge.xml

<เครือข่าย>
  <ชื่อ>โฮสต์บริดจ์</name>
  <uuid>0ae7be62-9f9e-4346-9309-88985dd0f5ad</uuid>
  <โหมดไปข้างหน้า='บริดจ์'/>
  <ชื่อสะพาน='br0'/>
</เครือข่าย>


virsh รายการสุทธิ --all

 สถานะชื่อ Autostart ถาวร
---------------------------------------------
 โฮสต์บริดจ์เปิดใช้งานอยู่ ใช่ ใช่

ผลลัพธ์ของ ไอพี และ ไอพีอาร์ บนเครื่องโฮสต์:

ไอพี

1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 ขอบเขตโฮสต์เลย
       valid_lft ตลอดไป reserved_lft ตลอดไป
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ e0:69:95:4d:7c:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.106/24 brd 192.168.1.255 ขอบเขต global dynamic noprefixroute enp0s25
       valid_lft 599784วินาทีที่ต้องการ_lft 599784วินาที
    inet 192.168.1.104/24 brd 192.168.1.255 ขอบเขต noprefixroute รองส่วนกลาง enp0s25
       valid_lft ตลอดไป reserved_lft ตลอดไป
3: wlxd0374547816a: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ d0:37:45:47:81:6a brd ff:ff:ff:ff:ff:ff
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 96:d5:ab:3c:a7:e8 brd ff:ff:ff:ff:ff:ff
7: macvtap2@enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 500
    ลิงค์/อีเธอร์ 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.140/24 brd 192.168.1.255 ขอบเขตทั่วโลก noprefixroute macvtap2
       valid_lft ตลอดไป reserved_lft ตลอดไป

ไอพีอาร์       

ค่าเริ่มต้นผ่าน 192.168.1.1 dev enp0s25 proto dhcp src 192.168.1.104 เมตริก 202 
เริ่มต้นผ่าน 192.168.1.1 dev macvtap2 proto dhcp src 192.168.1.140 เมตริก 207 
169.254.0.0/16 macvtap2 ขอบเขตลิงก์เมตริก 1,000 
192.168.1.0/24 dev enp0s25 proto dhcp ขอบเขตลิงค์ src 192.168.1.104 เมตริก 202 
192.168.1.0/24 dev macvtap2 proto dhcp ขอบเขตลิงค์ src 192.168.1.140 เมตริก 207 

ผลลัพธ์ของ ไอพี และ ไอพีอาร์ บนเครื่องแขก:

ไอพี

1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 ขอบเขตโฮสต์เลย
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 :: โฮสต์ขอบเขต 1/128 
       valid_lft ตลอดไป reserved_lft ตลอดไป
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.139/24 brd 192.168.1.255 ขอบเขต global dynamic noprefixroute enp2s0
       valid_lft 603989วินาทีที่ต้องการ_lft 603989วินาที
    inet6 fe80::d316:3db7:9af5:8d0c/64 ลิงค์ขอบเขต noprefixroute 
       valid_lft ตลอดไป reserved_lft ตลอดไป

ไอพีอาร์

ค่าเริ่มต้นผ่าน 192.168.1.1 dev enp2s0 proto dhcp metric 100 
169.254.0.0/16 dev enp2s0 ขอบเขตลิงก์เมตริก 1,000 
192.168.1.0/24 dev enp2s0 โปรโตเคอร์เนลขอบเขตลิงก์ src 192.168.1.139 เมตริก 100 

รายละเอียด NIC (จากตัวจัดการเครื่องเสมือน) ของเครื่องเกสต์:

อินเทอร์เฟซเครือข่ายเสมือน:

แหล่งที่มาของเครือข่าย: อุปกรณ์ Macvtap
ชื่ออุปกรณ์: enp0s25
รุ่นอุปกรณ์: virtio

XML:
<ประเภทอินเทอร์เฟซ="โดยตรง">
  <mac address="52:54:00:1f:6a:cd"/>
  <source dev="enp0s25" mode="bridge"/>
  <target dev="macvtap2"/>
  <รุ่น type="virtio"/>
  <นามแฝง name="net0"/>
  <ประเภทที่อยู่ = "pci" โดเมน = "0x0000" บัส = "0x02" ช่อง = "0x00" ฟังก์ชัน = "0x0"/>
</อินเตอร์เฟส>

ระบบปฏิบัติการ: Ubuntu MATE 21.04

qemu: 1:5.2+dfsg-9ubuntu3

ยูทิลิตี้บริดจ์: 1.6-5ubuntu1

virt-manager: 1:3.2.0-3

libvirt-daemon: 7.0.0-2ubuntu2

ขอบคุณมากในล่วงหน้า.

แก้ไข-1:

brctl แสดง br0

ชื่อบริดจ์ รหัสบริดจ์ อินเทอร์เฟซที่เปิดใช้งาน STP
br0 8000.96d5ab3ca7e8 เลขที่      
user535733 avatar
cn flag
ดูเหมือน https://superuser.com/questions/349253/guest-and-host-cannot-see-each-other-using-linux-kvm-and-macvtap
Doug Smythies avatar
gn flag
คุณจะได้อะไรจาก `brctl show br0` `enp0s25` ดูเหมือนจะเชื่อมโยงกับ `br0` และฉันคาดว่า br0 จะมีที่อยู่ IP ไม่ใช่ enp0s25 อุปกรณ์ Macvtap ของคุณดูเหมือนเป็นอิสระ ลบออก
Jags avatar
kp flag
@ doug-smythies เพิ่งเพิ่มข้อมูล นอกจากนี้ การลบ `Macvtap` เป็นสิ่งที่ต้องทำ... 'เพราะฉันไม่แน่ใจ แต่เป็นไปได้ไหมว่าอาจจำเป็นสำหรับเครื่องเสมือนเครื่องอื่น ขอบคุณ.
Jags avatar
kp flag
@user535733 ฉันกำลังดูเธรดที่คุณลิงก์ไว้แต่เป็นเธรดที่ยาวถึง 10 ปี และในตอนนี้ ฉันยังไม่ได้หาวิธีแก้ปัญหาที่เกี่ยวข้องกับกรณีของฉันเลย ขอบคุณ.
Doug Smythies avatar
gn flag
ฉันพูดได้เต็มปากว่าฉันไม่ใช้ Macvtap และใช้งานเครื่องเสมือนจำนวนมากในเวลาเดียวกัน ฉันคาดว่าอินเทอร์เฟซ `enp0s25` ของคุณจะเชื่อมต่อกับ `br0' แต่มันไม่ใช่
user535733 avatar
cn flag
จากเธรด superuser: "*macvtap ไม่ทำงานสำหรับการสื่อสารเครือข่ายโฮสต์ถึงแขก*" นั่นเป็นปัญหาที่คุณมี คำตอบทั้งหมดเป็นวิธีแก้ปัญหาข้อ จำกัด ของ macvlan / macvtap หากคุณต้องการเชื่อมต่อโฮสต์และแขก วิธีแก้ปัญหาง่ายๆ และดูแลรักษาง่ายวิธีหนึ่งคือการใช้เวลาล่วงหน้าเพื่อตั้งค่าการเชื่อมต่อ *ของจริง*
Jags avatar
kp flag
@ user535733 เมื่อฉันเริ่มตั้งค่า qemu/kvm การเชื่อมต่อเครือข่ายบริดจ์ไม่ทำงาน ดังนั้นฉันจึงใช้ `macvtap` ฉันคิดว่าฉันได้กำหนดค่าบริดจ์อย่างถูกต้องแล้ว แต่ไม่ว่าฉันจะเปลี่ยนลำดับความสำคัญใด 'NetworkManager' จะเชื่อมต่อใหม่ระหว่าง 'การเชื่อมต่อแบบมีสาย 1' และ 'enp0s25' แม้ว่าฉันจะลองสิ่งนี้จากการเชื่อมต่อเทอร์มินัล `nmcli ขึ้น ` และ ` การเชื่อมต่อ nmcli ขึ้น
Jags avatar
kp flag
@ user535733 ยอมรับคำตอบในเธรดที่คุณเชื่อมโยง ไม่มีรายละเอียดเลย มีลิงก์ไปยังหน้าอื่นที่มีวิธีแก้ปัญหาโดยละเอียด แต่มันใช้ไม่ได้ และนั่นก็ถูกกล่าวถึงโดยคนอื่นๆ ในเธรดนั้นด้วยลิงก์ไปยังบทความนั้น: `https://wiki.libvirt.org/page/Guest_can_reach_outside_network%2C_but_can%27t_reach_host_%28macvtap%29` ขอบคุณอีกครั้ง
Doug Smythies avatar
gn flag
แสดงไฟล์อินเตอร์เฟส netplan ของคุณให้เราดู ของฉันเรียกว่า `/etc/netplan/01-netcfg.yaml` หมายเหตุ: ฉันไม่ได้ใช้ 'NetworkManager' ดังนั้นอาจมีบางอย่างแตกต่างออกไป
Score:0
ธง gn

I would have expected your VM's to use your bridge, br0 for the communication method desired. I am running 3 VM's and get:

doug@s19:~$ brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.3c7c3f0d9983       no              enp3s0
                                                        vnet0
                                                        vnet1
                                                        vnet2

And on the host:

doug@s19:~$ ip addr
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
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 3c:7c:3f:0d:99:83 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:7c:3f:0d:99:83 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.136/24 brd 192.168.111.255 scope global dynamic br0
       valid_lft 45219sec preferred_lft 45219sec
4: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:22:2f:dc brd ff:ff:ff:ff:ff:ff
5: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:60:ea:3e brd ff:ff:ff:ff:ff:ff
6: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:60:ea:5e brd ff:ff:ff:ff:ff:ff

with my netplan network file, /etc/netplan/01-netcfg.yaml:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [ enp3s0 ]
      dhcp4: yes

And the related section of one of the VM's .xml definition file:

<interface type='bridge'>
  <mac address='52:54:00:22:2f:dc'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
Jags avatar
kp flag
ฉันไม่ได้ใช้ และพยายามหลีกเลี่ยงการใช้ `netplan' และ/หรือ 'อินเทอร์เฟซเครือข่าย' ฉันกำลังพยายามสร้างและใช้บริดจ์โดยใช้ `nmcli` หรือ `NetworkManager GUI` ฉันผ่าน 15-20 คำแนะนำ/เธรด หลังจากใช้เวลา 4 ชั่วโมงขึ้นไป เมื่อฉันสามารถเชื่อมต่อเครื่อง GUEST กับ `br0` ได้ แต่อินเทอร์เน็ตบน HOST ขาดหายไป และ `ping` จากแขกไปยังโฮสต์หรือในทางกลับกันก็ยังใช้งานไม่ได้ :(
Jags avatar
kp flag
ฉันได้โพสต์การกำหนดค่าบริดจ์ของฉันแล้วพร้อมกับคำถาม: `nano /etc/libvirt/qemu/networks/host-bridge.xml` ขอบคุณ
Doug Smythies avatar
gn flag
`host-bridge.xml` ของคุณเหมือนกับของฉัน ผู้จัดการเครือข่ายกลายเป็นตัวเรนเดอร์สำหรับ netplan ใช่ไหม
Jags avatar
kp flag
ใช่ฉันคิดว่า. บางครั้งอินเทอร์เน็ตแบบใช้สายของฉันหยุดทำงานเป็นเวลาหลายชั่วโมงจนถึงทั้งวัน ดังนั้นฉันจึงต้องการ NetworkManager เพื่อเปลี่ยนระหว่างเครือข่ายไร้สายบ่อยๆ (ฮอตสปอตโทรศัพท์ 3 แห่ง)... หรือฉันจะเลือก 'netplan' หรือ 'อินเทอร์เฟซเครือข่าย'

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา