Qemu Networking

Qemu 网网络

提供guest虚拟的网络设备
网络的后端和模拟的网卡交互。
默认情况下,Qemu会创造一个SLiRP用户网络后端和为guest创建一个虚拟的网络设备(E1000 PCI 对x86机器来说),比如你写了-net nic -net user

Network Backends

-netdev TYPE,id=Name,...

User Networking(SLIRP) 用户网络是默认的网络后端,也是最容器使用的,不需要root/Administrator权限,有着如下的限制:

  1. 性能差。
  2. icmp不能用。
  3. guest不能被访问。

在这里插入图片描述

-netdev user,id=mynet0,net=192.168.67.0/24,dhcpstart=192.168.76.9

-netdev user,id=mynet0,restrict=y
-netdev type=user,id=mynet0,restrict=yes

Tap

-netdev tap,id=mynet0

Socket

-netdev socket,id=mynet0,listen=:1234
-netdev socket,id=mynet0,connect=:1234

虚拟网络设备 Virtual Network Devices

在有PCI的总线的设备上,有大量的选择,e1000是qemu默认的网卡。rtl8139是qemu-kvm默认的网卡,在两个项目中,virtio-net 有最好的性能,但是需要guest驱动支持。
使用-device添加一个特定的虚拟网络设备。

-device TYPE,netdev=NAME

-netdev与-device是相关联的。

-device DEVNAME,netdev=NET-ID,mac=MACADDR,DEV-OPTS

网络监控

info netowrk, info usernet命令 可以监控网络
也可以抓取流量从qemu使用filter-dump对象

-netdev user,id=u1 -device e1000,netdev=u1 \
-object filter-dump,id=f1,netdev=u1,file=dump.dat

禁用网卡

-net none

建立tap网卡

modprobe tun tap
ip link add br0 type bridge
ip tuntap add dev tap0 mode tap
ip link set dev tap0 master br0
ip link set dev eth0 master br0
ip link set  dev br0 up
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是具体的操作步骤: 1. 在虚拟机中安装两台 Ubuntu 系统,确保网络连接正常。 2. 安装必要的软件:qemu-kvm、libvirt-bin、bridge-utils。 ``` sudo apt install qemu-kvm libvirt-bin bridge-utils ``` 3. 创建一个网桥并将其设置为静态IP: 编辑 /etc/network/interfaces 文件,添加以下内容: ``` auto br0 iface br0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports enp0s3 bridge_stp off bridge_fd 0 ``` 其中,address、netmask、gateway 需要根据实际情况进行修改。enp0s3 是网卡的名称,可能会有所不同,需要根据实际情况进行修改。修改完成后,重启网络服务。 ``` sudo systemctl restart networking ``` 4. 创建虚拟机: ``` sudo virt-install \ --name server1 \ --ram 2048 \ --disk path=/var/lib/libvirt/images/server1.qcow2,size=20 \ --vcpus 2 \ --os-type linux \ --os-variant ubuntu18.04 \ --network bridge=br0,model=virtio \ --graphics none \ --console pty,target_type=serial \ --location /var/lib/libvirt/images/ubuntu-18.04.5-server-amd64.iso \ --extra-args 'console=ttyS0,115200n8 serial' sudo virt-install \ --name server2 \ --ram 2048 \ --disk path=/var/lib/libvirt/images/server2.qcow2,size=20 \ --vcpus 2 \ --os-type linux \ --os-variant ubuntu18.04 \ --network bridge=br0,model=virtio \ --graphics none \ --console pty,target_type=serial \ --location /var/lib/libvirt/images/ubuntu-18.04.5-server-amd64.iso \ --extra-args 'console=ttyS0,115200n8 serial' ``` 其中,--name 指定虚拟机的名称,--ram 指定内存大小,--disk 指定虚拟磁盘的路径和大小,--vcpus 指定虚拟CPU的个数,--os-type 和 --os-variant 指定操作系统类型和版本,--network 指定网络类型和模型,--graphics none 表示禁用图形界面,--console pty,target_type=serial 表示使用串口控制台,--location 指定安装镜像的路径,--extra-args 指定额外的参数。 5. 安装完成后,启动虚拟机。在虚拟机中配置网络,将 IP 地址设置为 192.168.1.101 和 192.168.1.102,网关设置为 192.168.1.100。另外,还需要将 /etc/hosts 文件中的主机名和 IP 地址进行映射。 ``` sudo nano /etc/hosts 192.168.1.101 server1 192.168.1.102 server2 ``` 6. 测试网络连通性。在 server1 中执行 ping 命令,测试是否能够 ping 通 server2。 ``` ping 192.168.1.102 ``` 如果能够 ping 通,则说明网络联通成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值