Điểm:2

cấu hình cầu nối của tôi trên freebsd 13 không được định cấu hình đúng vì mọi máy ảo bhyve dựa trên Ubuntu 21.04 và Windows 10 đều không thể kết nối với internet

lá cờ it

Tôi đã định cấu hình giao diện cầu nối và nhấn trên freebsd 13 vì tôi muốn khởi động và sử dụng máy ảo bhyve dựa trên Ubuntu 21.04 và Windows 10, nhưng thật không may, sau một số lần đọc và yêu cầu trợ giúp về:

reddit: https://www.reddit.com/r/Ubuntu/comments/p38ru1/ubuntu_2104_cant_connect_to_internet_when_it_is/

các diễn đàn freebsd:

  1. https://forums.freebsd.org/threads/how-to-duplicate-the-tap0-interface-in-a-new-tap1-network-interface-that-it-is-not-used.81671/page- 2#post-527355

  2. https://forums.freebsd.org/threads/ubuntu-budgie-emulated-with-bhyve-doesnt-connect-to-internet- Because-the-error-network-unreachable-n-2.81340/#post-524303

  3. https://forums.freebsd.org/threads/im-tryng-to-emulate-ubuntu-budgie-with-bhyve-but-it-doesnt-connect-to-internet- Because-the-error-network-unreachable. 80916/#post-517845

hỏi Ubuntu: https://askubuntu.com/questions/1357670/ubuntu-21-04-cant-connect-to-internet-when-it-is-emulated-with-bhyve-on-my-free

trao đổi ngăn xếp unix: https://unix.stackexchange.com/questions/664466/ubuntu-21-04-cant-connect-to-internet-when-it-is-emulated-with-bhyve-on-my-free?noredirect=1# bình luận1250440_664466

Tôi không thể hiểu tại sao Ubuntu và Windows 10 VM không thể kết nối với internet, trong khi nếu tôi sử dụng vm-bhyve, nó sẽ định cấu hình mạng theo một số cách khác và vm có thể kết nối với internet. Vì tôi không phải là lập trình viên nên tôi không thể xem bên trong mã vm-bhyve và tôi không thể hiểu khóa bí mật là gì. Dưới đây tôi muốn cung cấp cho bạn một số thông tin hữu ích để hiểu cách tôi đã định cấu hình giao diện cầu nối và nhấn trên FreeBSD và trên Ubuntu.

/etc/resolv.conf

tìm kiếm homenet.telecomitalia.it
máy chủ tên 127.0.0.1
tùy chọn edns0

/etc/rc.conf của tôi là như thế này:

tên máy chủ = "marietto"
keymap="it.kbd"
ifconfig_em0="DHCP"
local_unbound_enable="CÓ"
sshd_enable="CÓ"
powerd_enable="CÓ"
ntpdate_enable="CÓ"
ntpd_enable="CÓ"
ntpd_sync_on_start="CÓ"
dumpdev = "KHÔNG"
dbus_enable="CÓ"
slim_enable="KHÔNG"
libvirt_enable="CÓ"
linux_enable="CÓ"
linux_mounts_enable="CÓ"
gateway_enable="CÓ"
kld_list="fusefs"
lightdm_enable="KHÔNG"
sendmail_enable="KHÔNG"
microcode_update_enable="CÓ"
fsck_y_enable="CÓ"
tcp_drop_synfin="KHÔNG"
telnet_enable="KHÔNG"
cupd_enable="KHÔNG"
portmap_enable="KHÔNG"
rlogin_enable="KHÔNG"
inetd_enable="KHÔNG"
webcamd_enable="KHÔNG"
samba_enable="KHÔNG"
lpd_enable="KHÔNG"
winbindd_enable="KHÔNG"
nfs_server_enable="KHÔNG"
nfs_client_enable="KHÔNG"
vm_enable="CÓ"
vm_dir="/mnt/da1p1/vms/os/"

/boot/loader.conf của tôi là như thế này:

vmm_load="CÓ"
nmdm_load="CÓ"
if_tap_load="CÓ"
if_bridge_load="CÓ"
fusefs_load="CÓ"
linprocfs_load="CÓ"
linsysfs_load="CÓ"
tmpfs_load="CÓ"
verbose_loading="CÓ"
vboxdrv_load="CÓ"
bàn điều khiển=vga,com1
boot_multicons="CÓ"
boot_serial="CÓ"
console="comconsole,vidconsole"

tập tin của tôi /etc/sysctl.conf là như thế này:

net.link.tap.up_on_open=1
net.inet.ip.forwarding=1

Tôi đã đọc ở đây để có một số định hướng về những việc cần làm: https://wiki.freebsd.org/bhyve/UEFI, đặc biệt đặc biệt trong phần này:

kldload vmm
tạo ifconfig tap0
tạo ifconfig bridge0
cầu ifconfig0 addm em0

Trong lần thử đầu tiên, với các đề xuất của Vasily Postnicov, tôi đã cố gắng định cấu hình giao diện mạng của freebsd và của linux theo một cách khác, để có thể cung cấp kết nối internet cho ubuntu được mô phỏng bằng bhyve. Đây là những gì tôi đã làm :

root@marietto:/home/marietto # ifconfig em0 xóa


root@marietto:/home/marietto # dhclient bridge0


DHCPDISCOVER trên bridge0 đến 255.255.255.255 cổng 67 khoảng 4
DHCPOFFER từ 192.168.1.1
DHCPREQUEST trên bridge0 đến 255.255.255.255 cổng 67
DHCPACK từ 192.168.1.1
bị ràng buộc với 192.168.1.2 -- gia hạn sau 10800 giây.


root@marietto:/home/marietto # ifconfig tap0 tạo lên

root@marietto:/home/marietto # ifconfig bridge0 addm tap0

root@marietto:/usr/home/marietto # ifconfig


em0: flags=8963<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
options=4810099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
ether e0:d5:5e:e2:1f:22
inet 0.0.0.0 netmask 0xff000000 phát sóng 255.255.255.255
phương tiện: Ethernet autoselect (1000baseT <full-duplex>)
Trạng thái: Đang hoạt động
nd6 options=29<PERFORMNUD,IFISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> chỉ số 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 tiền tốlen 128
inet6 fe80::1%lo0 tiền tốlen 64 phạm vi 0x2
inet 127.0.0.1 mặt nạ mạng 0xff000000
nhóm: lo
tùy chọn thứ 6=21<PERFORMNUD,AUTO_LINKLOCAL>


bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
ether 58:9c:fc:10:ff:b7
inet 192.168.1.2 netmask 0xffffff00 phát sóng 192.168.1.255
id 00:00:00:00:00:00 ưu tiên 32768 hellotime 2 fwddelay 15
tối đa 20 holdcnt 6 proto rstp maxaddr 2000 hết thời gian chờ 1200
id gốc 00:00:00:00:00:00 ưu tiên 32768 ifcost 0 cổng 0
thành viên: tap0 flags=143<LEARNING,KHÁM PHÁ,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 cổng 5 ưu tiên 128 đường dẫn có giá 2000000
thành viên: em0 flags=143<LEARNING,KHÁM PHÁ,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 cổng 1 ưu tiên 128 đường dẫn có giá 2000000
nhóm: cây cầu
tùy chọn thứ 6=9<PERFORMNUD,IFISABLED>


vm-public: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
ether b6:74:ff:a8:4d:4e
id 00:00:00:00:00:00 ưu tiên 32768 hellotime 2 fwddelay 15
tối đa 20 holdcnt 6 proto rstp maxaddr 2000 hết thời gian chờ 1200
id gốc 00:00:00:00:00:00 ưu tiên 32768 ifcost 0 cổng 0
nhóm: cầu vm-switch viid-4c918@
tùy chọn thứ 6=9<PERFORMNUD,IFISABLED>



tap0: flags=8903<UP,BROADCAST,PROMISC,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
options=80000<LINKSTATE>
ether 58:9c:fc:10:ff:8e
nhóm: nhấn
phương tiện: Tự động chọn Ethernet
tình trạng: không có nhà mạng
nd6 options=29<PERFORMNUD,IFISABLED,AUTO_LINKLOCAL>

Thật không may, ngay khi vm khởi động, giao diện em0 trên freebsd lại nhận được số IP cũ: 192.168.1.6 và tôi mất kết nối với mạng trên FreeBSD.

Để thử thêm, đây là những gì tôi đã làm: (hãy cân nhắc rằng tôi đang cố gắng tạo cấu hình mạng song song trên Freebsd, vì tôi muốn tiếp tục cài đặt vm-bhyve. Dù sao, tôi đã xóa vm-bhyve nhiều lần và Tôi đã cố gắng định cấu hình mạng cầu cho bhyve, nhưng ngay cả trong trường hợp này, nó không hoạt động. Nói ngắn gọn, nó chỉ hoạt động ở lần đầu tiên, nhưng tôi không thể lặp lại thành công các bước nữa. Nó chỉ hoạt động nếu Tôi để vm-bhyve tự cấu hình mạng. Đây là trạng thái ban đầu của cấu hình mạng/cầu nối trên FreeBSD của tôi có cài đặt vm-bhyve nhưng không khởi động máy ảo.

marietto@marietto:~ $ ifconfig

em0: flags=8963<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
options=481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
ether e0:d5:5e:e2:1f:22
inet 192.168.1.6 netmask 0xffffff00 phát sóng 192.168.1.255
phương tiện: Ethernet autoselect (1000baseT <full-duplex>)
Trạng thái: Đang hoạt động
nd6 options=29<PERFORMNUD,IFISABLED,AUTO_LINKLOCAL>

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> chỉ số 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 tiền tốlen 128
inet6 fe80::1%lo0 tiền tốlen 64 phạm vi 0x2
inet 127.0.0.1 mặt nạ mạng 0xff000000
nhóm: lo
tùy chọn thứ 6=21<PERFORMNUD,AUTO_LINKLOCAL>

vm-public: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
ether 0a:77:93:94:d5:77
id 00:00:00:00:00:00 ưu tiên 32768 hellotime 2 fwddelay 15
tối đa 20 holdcnt 6 proto rstp maxaddr 2000 hết thời gian chờ 1200
id gốc 00:00:00:00:00:00 ưu tiên 32768 ifcost 0 cổng 0
thành viên: em0 flags=143<LEARNING,KHÁM PHÁ,AUTOEDGE,AUTOPTP>
       ifmaxaddr 0 cổng 1 ưu tiên 128 đường dẫn chi phí 20000
nhóm: cầu vm-switch viid-4c918@
tùy chọn thứ 6=9<PERFORMNUD,IFISABLED>

Vì tôi đã có một giao diện cầu nối (vm-public) nên việc tạo một giao diện khác (bridge0) không có ý nghĩa gì, vì vậy trên thiết bị đầu cuối, tôi làm:

root@marietto:/home/marietto # kldload vmm
kldload: không thể tải vmm: mô-đun đã được tải hoặc trong kernel

root@marietto:/home/marietto # ifconfig tap0 tạo lên

root@marietto:/home/marietto # ifconfig vm-public addm tap0

Vì vậy, đây là cách xuất hiện cấu hình mạng trên FreeBSD sau khi đã định cấu hình như trên:

root@marietto:/home/marietto # ifconfig

em0: flags=8963<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
options=4810099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
ether e0:d5:5e:e2:1f:22
inet 192.168.1.6 netmask 0xffffff00 phát sóng 192.168.1.255
phương tiện: Tự động chọn Ethernet
tình trạng: không có nhà mạng
nd6 options=29<PERFORMNUD,IFISABLED,AUTO_LINKLOCAL>

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> chỉ số 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 tiền tốlen 128
inet6 fe80::1%lo0 tiền tốlen 64 phạm vi 0x2
inet 127.0.0.1 mặt nạ mạng 0xff000000
nhóm: lo
tùy chọn thứ 6=21<PERFORMNUD,AUTO_LINKLOCAL>

vm-public: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
ether 0a:77:93:94:d5:77
id 00:00:00:00:00:00 ưu tiên 32768 hellotime 2 fwddelay 15
tối đa 20 holdcnt 6 proto rstp maxaddr 2000 hết thời gian chờ 1200
id gốc 00:00:00:00:00:00 ưu tiên 32768 ifcost 0 cổng 0
thành viên: tap0 flags=143<LEARNING,KHÁM PHÁ,AUTOEDGE,AUTOPTP>
       ifmaxaddr 0 cổng 4 ưu tiên 128 đường dẫn có giá 2000000
thành viên: em0 flags=143<LEARNING,KHÁM PHÁ,AUTOEDGE,AUTOPTP>
       ifmaxaddr 0 cổng 1 ưu tiên 128 đường dẫn chi phí 20000
nhóm: cầu vm-switch viid-4c918@
tùy chọn thứ 6=9<PERFORMNUD,IFISABLED>

tap0: flags=8903<UP,BROADCAST,PROMISC,SIMPLEX,MULTICAST> chỉ số 0 mtu 1500
options=80000<LINKSTATE>
ether 58:9c:fc:10:ff:8e
nhóm: nhấn
phương tiện: Tự động chọn Ethernet
tình trạng: không có nhà mạng
nd6 options=29<PERFORMNUD,IFISABLED,AUTO_LINKLOCAL>

Sau đó, tôi khởi chạy bhyve VM bằng lệnh này:

bhyve -c 4 -m 8G -w -H \
-s 0, máy chủ \
-s 4,virtio-blk,/mnt/da1p1/vms/os/ubuntu-budgie-gpu/ubuntu-2104-gpu.img \
-s 5,virtio-net,tap0 \
-s 29,fbuf,tcp=0.0.0.0:5900,w=1440,h=900,chờ \
-s 30,xhci,máy tính bảng \
-s 31,lpc -l com1,stdio \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
-s 20,hda,play=/dev/dsp8,rec=/dev/dsp8 \
vm0

Như tôi đã nói Ubuntu VM không thể kết nối với internet. Thay vào đó, dưới đây tôi muốn chỉ cho bạn cách tôi đã cấu hình Ubuntu. Trên Ubuntu, tệp /etc/resolv.conf của tôi giống như thế này:

máy chủ định danh 127.0.0.53
tùy chọn quảng cáo tin cậy edns0
tìm kiếm homenet.telecomitalia.it

Ngoài ra, tôi đã tạo một tệp netplan bên trong thư mục/etc/netplan, với nội dung này bên trong:

mạng
    phiên bản: 2
    trình kết xuất: Trình quản lý mạng
    ethernet:
       enp0s5:
           địa chỉ:
                - 192.168.1.7/24
           cổng4: 192.168.1.1
           máy chủ tên:
                     tìm kiếm: [homenet.telecomitalia.it]
                     địa chỉ: 192.168.1.1

netplan áp dụng và đây là những gì xảy ra:

giao diện mạng enp0s5 lấy số IP 192.168.1.7 ping 192.168.1.7 : OK ping 192.168.1.6 (IP FreeBSD) = không thể truy cập máy chủ đích ping 192.168.1.1 : không thể truy cập máy chủ đích PING google.it (172.217.21.67): không thể truy cập máy chủ

tcpdump:

nghe trên enp0s5, loại liên kết EN10MB (Ethernet), kích thước ghi 262144 byte

20:58:04:688913 ARP, yêu cầu ai có 192.168.1.1 báo cho 192.168.1.7, độ dài 28

tuyến đường -n

cờ genmask cổng đích chỉ số giới thiệu sử dụng iface

0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 enp0s5
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s5
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s5

danh sách lộ trình ip

mặc định qua 192.168.1.1 dev enp0s5 số liệu tĩnh proto 100
169.254.0.0/16 dev enp0s5 chỉ số liên kết phạm vi 100
192.168.1.0/24 dev enp0s5 liên kết phạm vi kernel proto src 192.168.1.7 số liệu 100

ping google.it = lỗi tạm thời khi phân giải tên

tường lửa trên ubuntu = chưa được cài đặt tường lửa trên bộ định tuyến = xuống

thay vào đó, từ freebsd sang ubuntu:

ping 192.168.1.7 : máy chủ ngừng hoạt động

netstar -r

bảng định tuyến

Internet:

cờ cổng đích Netif Expire

modemtim mặc định UGS em0
liên kết localhost#2 UH lo0
liên kết 192.168.1.0/24#1 U em0
192.168.1.6 liên kết#1 UHS lo0

Tôi quên mất. Đây là điều xảy ra nếu tôi xóa tệp conf netplan và tôi để ubuntu chọn IP qua DHCP:

/etc/netplan.conf

mạng:
    phiên bản: 2
    trình kết xuất: mạng
    ethernet:
        enp3s0:
            dhcp4: đúng

ping PING google.it (172.217.21.67): không thể truy cập mạng. gì nữa?

Tái bút: Vì tôi không phải là quản trị viên hệ thống thực sự, nhưng tôi làm điều đó như một sở thích, đừng đưa ra những gợi ý chung chung vì có thể tôi sẽ không hiểu phải làm gì.Nếu bạn muốn trở thành một người tử tế, hãy cố gắng thấu đáo và chính xác. Bạn sẽ giúp tôi rất nhiều để hiểu làm thế nào để khắc phục vấn đề. cảm ơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.