qemu虚拟网卡设置

这篇具有很好参考价值的文章主要介绍了qemu虚拟网卡设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 最近一段时间使用qemu来进行测试,为了方便调试,需要使用nfs和tftp等网络服务,这就必须为qemu添加网卡,通过网络搜索了对应的设置方法如下:
    • 在虚拟机添加第二个网卡,并设置为NET模式
    • 修改网络管理配置文件 /etc/netplan/01-network-manager-all.yaml
    • 修改/etc/qemu-ifup和/etc/qemu-ifdown脚本,qemu在启动前会调用该脚本初始化网卡,启动完成后再调用脚本关闭网卡
  • 按照该方法在Ubuntu20上进行修改,工作起来并不稳定,有时候网络不通,另一个缺点是该方法还涉及虚拟机的设置,我的工作站上是物理机,运行Ubuntu22.04.LTS,因此该方法不能在我的工作站上运行,为此摸索出一个更简单的设置。

创建qemu虚拟网卡

  • 创建TAP接口
 sudo ip tuntap add tap-qemu mode tap
  • 为新创建的网卡分配IP地址
sudo ip addr add 192.168.1.1/24 dev tap-qemu
  • 启动虚拟网卡工作
sudo ip link set tap-qemu up
  • 使用ifconfig查看网卡状态
$ ifconfig
enp6s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:e2:69:65:78:6b  txqueuelen 1000  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 8515  bytes 983911 (983.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8515  bytes 983911 (983.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tap-qemu: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::94e7:88ff:fe99:7bc3  prefixlen 64  scopeid 0x20<link>
        ether 96:e7:88:99:7b:c3  txqueuelen 1000  (以太网)
        RX packets 44165  bytes 2332310 (2.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 46756  bytes 69222570 (69.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 运行qemu
qemu-system-arm -M vexpress-a9 -kernel u-boot -nographic -m 512M -nic tap,ifname=tap-qemu,script=no
  • 运行结果
$ qemu-system-arm -M vexpress-a9 -kernel u-boot -nographic -m 512M -nic tap,ifname=tap-qemu,script=no
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument


U-Boot 2022.07-rc3 (Jul 10 2023 - 01:10:49 +0800)

DRAM:  512 MiB
WARNING: Caches not enabled
Core:  19 devices, 10 uclasses, devicetree: embed
Flash: 64 MiB
MMC:   mmci@5000: 0
Loading Environment from Flash... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@3,02000000
Hit any key to stop autoboot:  0 
smc911x: detected LAN9118 controller
smc911x: phy initialized
smc911x: MAC 52:54:00:12:34:56
Using ethernet@3,02000000 device
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
Filename 'uImage'.
Load address: 0x60003000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #######################
         16.1 MiB/s
done
Bytes transferred = 5100056 (4dd218 hex)
smc911x: MAC 52:54:00:12:34:56
tftpboot - boot image via network using TFTP protocol

Usage:
tftpboot [loadAddress] [[hostIPaddr:]bootfilename]
smc911x: detected LAN9118 controller
smc911x: phy initialized
smc911x: MAC 52:54:00:12:34:56
Using ethernet@3,02000000 device
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
Filename 'vexpress-v2p-ca9.dtb'.
Load address: 0x60800000
Loading: #
         6.8 MiB/s
done
Bytes transferred = 14171 (375b hex)
smc911x: MAC 52:54:00:12:34:56
## Booting kernel from Legacy Image at 60003000 ...
   Image Name:   Linux-5.10.99
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5099992 Bytes = 4.9 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 60800000
   Booting using the fdt blob at 0x60800000
   Loading Kernel Image
   Loading Device Tree to 7fb1d000, end 7fb2375a ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 5.10.99 (lhq@maxsun-ubuntu) (arm-linux-gnueabi-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #2 SMP Mon Jul 10 00:44:41 CST 2023
CPU: ARMv7 Processor [410fc090] revision 0 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
OF: fdt: Machine model: V2P-CA9
OF: fdt: Ignoring memory block 0x80000000 - 0x80000004
Memory policy: Data cache writeback
Reserved memory: created DMA memory pool at 0x4c000000, size 8 MiB
OF: reserved mem: initialized node vram@4c000000, compatible id shared-dma-pool
cma: Reserved 16 MiB at 0x7e800000
Zone ranges:
  Normal   [mem 0x0000000060000000-0x000000007fffffff]
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000060000000-0x000000007fffffff]
Initmem setup node 0 [mem 0x0000000060000000-0x000000007fffffff]
CPU: All CPU(s) started in SVC mode.
percpu: Embedded 19 pages/cpu s46156 r8192 d23476 u77824
Built 1 zonelists, mobility grouping on.  Total pages: 130048
Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.1:/home/lhq/Kernel/nfs,proto=tcp,nfsvers=3,nolock init=/linuxrc ip=192.168.1.2 console=ttyAMA0
printk: log_buf_len individual max cpu contribution: 4096 bytes
printk: log_buf_len total cpu_extra contributions: 12288 bytes
printk: log_buf_len min size: 16384 bytes
printk: log_buf_len: 32768 bytes
printk: early log buf free: 14644(89%)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 490652K/524288K available (8192K kernel code, 760K rwdata, 1816K rodata, 1024K init, 185K bss, 17252K reserved, 16384K cma-reserved)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
rcu: Hierarchical RCU implementation.
rcu:    RCU event tracing is enabled.
rcu:    RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
GIC CPU mask not found - kernel will fail to boot.
GIC CPU mask not found - kernel will fail to boot.
L2C: platform modifies aux control register: 0x02020000 -> 0x02420000
L2C: DT/platform modifies aux control register: 0x02020000 -> 0x02420000
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 dynamic clock gating disabled, standby mode disabled
L2C-310 cache controller enabled, 8 ways, 128 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x46420001
random: get_random_bytes called from start_kernel+0x380/0x53c with crng_init=0
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
Failed to initialize '/bus@40000000/motherboard/iofpga@7,00000000/timer@12000': -22
smp_twd: clock not found -2
Console: colour dummy device 80x30
Calibrating local timer... 95.34MHz.
Calibrating delay loop... 2393.70 BogoMIPS (lpj=11968512)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
CPU: Testing write buffer coherency: ok
CPU0: Spectre v2: using BPIALL workaround
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x60100000 - 0x60100060
rcu: Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
smp: Brought up 1 node, 1 CPU
SMP: Total of 1 processors activated (2393.70 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 0
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
hw-breakpoint: debug architecture 0x4 unsupported.
Serial: AMBA PL011 UART driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm,sp804
NET: Registered protocol family 2
IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 5 counters available
workingset: timestamp_bits=30 max_order=17 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
nfs4filelayout_init: NFSv4 File Layout Driver Registering...
nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
9p: Installing v9fs 9p2000 file system support
io scheduler mq-deadline registered
io scheduler kyber registered
sii902x 0-0039: supply iovcc not found, using dummy regulator
sii902x 0-0039: supply cvcc12 not found, using dummy regulator
i2c i2c-0: Added multiplexed i2c bus 2
sii902x 0-0060: supply iovcc not found, using dummy regulator
sii902x 0-0060: supply cvcc12 not found, using dummy regulator
physmap-flash 40000000.flash: physmap platform flash device: [mem 0x40000000-0x43ffffff]
40000000.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000000 Chip ID 0x000000
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
physmap-flash 40000000.flash: physmap platform flash device: [mem 0x44000000-0x47ffffff]
40000000.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000000 Chip ID 0x000000
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
Concatenating MTD devices:
(0): "40000000.flash"
(1): "40000000.flash"
into device "40000000.flash"
physmap-flash 48000000.psram: physmap platform flash device: [mem 0x48000000-0x49ffffff]
smsc911x 4e000000.ethernet eth0: MAC Address: 52:54:00:12:34:56
isp1760 4f000000.usb: bus width: 32, oc: digital
isp1760 4f000000.usb: NXP ISP1760 USB Host Controller
isp1760 4f000000.usb: new USB bus registered, assigned bus number 1
isp1760 4f000000.usb: Scratch test failed.
isp1760 4f000000.usb: can't setup: -19
isp1760 4f000000.usb: USB bus 1 deregistered
usbcore: registered new interface driver usb-storage
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 17
9pnet: Installing 9P2000 support
Key type dns_resolver registered
oprofile: using arm/armv7-ca9
Registering SWP/SWPB emulation handler
aaci-pl041 10004000.aaci: ARM AC'97 Interface PL041 rev0 at 0x10004000, irq 28
aaci-pl041 10004000.aaci: FIFO 512 entries
mmci-pl18x 10005000.mmci: Got CD GPIO
mmci-pl18x 10005000.mmci: Got WP GPIO
mmci-pl18x 10005000.mmci: mmc0: PL181 manf 41 rev0 at 0x10005000 irq 29,30 (pio)
10009000.uart: ttyAMA0 at MMIO 0x10009000 (irq = 33, base_baud = 0) is a PL011 rev1
printk: console [ttyAMA0] enabled
1000a000.uart: ttyAMA1 at MMIO 0x1000a000 (irq = 34, base_baud = 0) is a PL011 rev1
1000b000.uart: ttyAMA2 at MMIO 0x1000b000 (irq = 35, base_baud = 0) is a PL011 rev1
1000c000.uart: ttyAMA3 at MMIO 0x1000c000 (irq = 36, base_baud = 0) is a PL011 rev1
rtc-pl031 10017000.rtc: registered as rtc0
rtc-pl031 10017000.rtc: setting system clock to 2023-07-10T02:10:56 UTC (1688955056)
drm-clcd-pl111 1001f000.clcd: assigned reserved memory node vram@4c000000
drm-clcd-pl111 1001f000.clcd: using device-specific reserved memory
drm-clcd-pl111 1001f000.clcd: core tile graphics present
drm-clcd-pl111 1001f000.clcd: this device will be deactivated
drm-clcd-pl111 1001f000.clcd: Versatile Express init failed - -19
drm-clcd-pl111 10020000.clcd: DVI muxed to daughterboard 1 (core tile) CLCD
drm-clcd-pl111 10020000.clcd: initializing Versatile Express PL111
drm-clcd-pl111 10020000.clcd: found bridge on endpoint 0
drm-clcd-pl111 10020000.clcd: Using non-panel bridge
[drm] Initialized pl111 1.0.0 20170317 for 10020000.clcd on minor 0
input: AT Raw Set 2 keyboard as /devices/platform/bus@40000000/bus@40000000:motherboard/bus@40000000:motherboard:iofpga@7,00000000/10006000.kmi/serio0/input/input0
Console: switching to colour frame buffer device 128x48
drm-clcd-pl111 10020000.clcd: [drm] fb0: pl111drmfb frame buffer device
input: ImExPS/2 Generic Explorer Mouse as /devices/platform/bus@40000000/bus@40000000:motherboard/bus@40000000:motherboard:iofpga@7,00000000/10007000.kmi/serio1/input/input2
Generic PHY 4e000000.ethernet-ffffffff:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=4e000000.ethernet-ffffffff:01, irq=POLL)
smsc911x 4e000000.ethernet eth0: SMSC911x/921x identified at 0xa08b0000, IRQ: 26
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
     device=eth0, hwaddr=52:54:00:12:34:56, ipaddr=192.168.1.2, mask=255.255.255.0, gw=255.255.255.255
     host=192.168.1.2, domain=, nis-domain=(none)
     bootserver=255.255.255.255, rootserver=192.168.1.1, rootpath=
ALSA device list:
  #0: ARM AC'97 Interface PL041 rev0 at 0x10004000, irq 28
VFS: Mounted root (nfs filesystem) on device 0:14.
Freeing unused kernel memory: 1024K
Run /linuxrc as init process
random: fast init done
-----------------------------------
*****welcome to vexpress board*****
-----------------------------------

Please press Enter to activate this console. 
[root@vexpress ]# ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2461 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1301 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3322660 (3.1 MiB)  TX bytes:204394 (199.6 KiB)
          Interrupt:26 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

[root@vexpress ]# QEMU: Terminated

文章来源地址https://www.toymoban.com/news/detail-564891.html

到了这里,关于qemu虚拟网卡设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】单网卡设置双ip的方法

    Ubuntu 20.04下单网卡设置双IP ubuntu的网卡配置文件是/etc/network/interfaces。 首先使用gedit命令打开网卡配置文件。 然后编辑interfaces这个配置文件。 保存此配置文件后重新启动网络服务。 注意事项 默认网卡名不一定是ens33,要与本机网卡名称对应,否则重启网络服务时会失败。

    2024年02月16日
    浏览(33)
  • Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.2 新增加CPU外设之UART、中断控制器和pFLASH

    上一章节我们将 CPU 和部分 memory 已经初始化完成了,具体实现可以查看代码仓库,本章节我们将在上一章节的基础之上去增加 pFlash 设备(作为初始化完 ROM 后的第一个代码存储区)、中断控制器和 UART 设备。

    2024年04月25日
    浏览(38)
  • Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.1 新增加一个RISC-V CPU(NARUTO-PI)

    上一章节我们讲解了开源的 QEMU 开发板怎么启动,从这章节开始,我们将会亲手去从无到有开发一个 CPU ,它包括 CPU Core , Memory Device , Communication Controller 和 Device 等等。 注意,本章节中调用的很多自定义宏都在 include/hw/riscv/naruto.h 文件,这里我就不展开说了,大家下载我

    2024年04月25日
    浏览(38)
  • Linux学习第二十二节-网卡IP设置

    1. 修改网卡IP地址 方式一:通过修改 网卡配置文件 修改 网卡配置文件位置: /etc/sysconfig/network-scripts/网卡名 #ifconfig   表示用于显示和设置网卡的参数 #ip addr   表示用于显示和设置网卡的参数   #systemctl restart network 表示重启网络 #ifup 网卡名 表示启动该网卡设备 #ifdown 网卡

    2024年02月17日
    浏览(58)
  • Linux学习笔记 : ARM64 平台下 qemu virt 有默认的设备树 dtb

    首先想通过 Linux qemu 验证 设备树的加载与设备节点解析,原因是 qemu 可以 软件调试,而普通的 Linux 开发板,Linux 内核驱动调试起来反而很复杂。 【记录】我竟然还没有在Linux 真实开发板上调试过Linux 内核,感觉自己就是个工具,配置、修改、下载,有问题加几行 LOG 日志分

    2024年01月20日
    浏览(42)
  • linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

    tun/tap 设备是操作系统内核中的虚拟网络设备,是用软件模拟的网络设备,提供与硬件网络设备完全相同的功能。主要用于用户空间和内核空间传递报文。 tun/tap 设备与物理网卡的区别: 对于硬件网络设备而言,一端连接的是物理网络,一端连接的是网络协议栈。 对于 tun/

    2024年02月13日
    浏览(37)
  • vmware虚拟机 linux 本地yum源,网卡配置ens33,防火墙selinux

    1、挂载镜像文件,CentOS-7-x86_64-DVD-1804.iso,并且要处于连接状态 #光盘挂载至/mnt mount /dev/sr0 /mnt #备份yum源文件 cd /etc/yum.repos.d/ mkdir -p ./bak mv CentOS* ./bak #编缉本地源 vim local.repo [centos7] name=CentOS7 baseurl=file:///mnt enable=1 gpgcheck=0   关闭防火墙并设置开机不启动 firewall 服务开启与关闭

    2024年02月04日
    浏览(52)
  • 【虚拟化qemu】(一)--- qemu 虚拟化软件介绍与安装

    本文主要用于记录关于 qemu 虚拟化软件的介绍和安装。 qemu(quick emulator)是一款可执行硬件虚拟化的(hardware virtualization)开源仿真器(Emulator)。 对于 qemu 的介绍可以查看该关于 qemu 的 wiki 词条链接。 于嵌入式行业 qemu 可以帮助开发者:学习裸机编程,RTOS 的编程,网络协

    2024年02月16日
    浏览(37)
  • 使用QEMU运行虚拟机

    1,get kernel source from here 2,将当前guest os的内核配置文件 /boot/config-5.10.0 拷贝至内核源码目录并命名为.config 3,执行命令“make rpm-pkg -j10” 将内核各个组件编译为RPM包 4,生成的RPM包位于“/root/rpmbuild/RPMS/aarch64/”: kernel-headers-5.10.0-1.aarch64.rpm, kernel-devel-5.10.0-1.aarch64.rpm, kernel-5

    2024年02月05日
    浏览(38)
  • qemu虚拟机配置网络

    qemu虚机的网络介绍及原理可参考前人文章:Linux 内核调试 七:qemu网络配置_lqonlylove的博客-CSDN博客 这里只简单梳理下操作流程,以便快速实现网络互通。 1.宿主机创建 tap0 [root@localhost ~]# ifconfig [root@localhost ~]# ip tuntap add dev tap0 mode tap [root@localhost ~]# ip link set dev tap0 up [root@lo

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包