QEMU/KVM 客户端服务端部署及仅主机网卡无IP问题咨询
问题根因定位
你当前仅主机模式网卡无法获取IP的核心原因是macvtap直连模式默认没有配套DHCP服务下发地址,且你未针对仅主机通信场景创建独立的libvirt虚拟网络,同时原有网卡配置模式不符合你的组网需求。
解决方案步骤
1. 创建专用仅主机libvirt虚拟网络
先停止所有已创建的服务端、客户端虚拟机,在宿主机上执行以下操作:
- 新建
host-only-net.xml配置文件,内容如下:
<network> <name>host-only</name> <forward mode='none'/> <bridge name='virbr1' stp='on' delay='0'/> <ip address='192.168.100.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.100.2' end='192.168.100.254'/> </dhcp> </ip> </network>
- 执行命令激活虚拟网络:
- 定义网络:
virsh net-define host-only-net.xml - 启动网络:
virsh net-start host-only - 设置开机自启:
virsh net-autostart host-only
- 定义网络:
2. 修改服务端第二块网卡配置
替换原有服务端网卡2的direct类型配置,绑定到新创建的仅主机网络,修改后的XML如下:
<interface type="network"> <mac address="52:54:00:c7:1c:99"/> <source network="host-only" bridge="virbr1"/> <model type="virtio"/> <alias name="net1"/> <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/> </interface>
执行virsh define <服务端虚拟机配置文件名>.xml使配置生效。
3. 修改客户端网卡配置
客户端网卡也绑定到该仅主机网络,配置XML参考:
<interface type="network"> <mac address="52:54:00:xx:xx:xx"/><!-- 前缀保持52:54:00,后六位自定义不冲突即可 --> <source network="host-only" bridge="virbr1"/> <model type="virtio"/> </interface>
执行virsh define <客户端虚拟机配置文件名>.xml使配置生效。
4. 配置服务端代理满足客户端安装包下载需求
客户端无法直接访问互联网,通过服务端代理实现yum、pip包下载:
- 服务端安装tinyproxy:
yum install -y tinyproxy - 编辑
/etc/tinyproxy/tinyproxy.conf,修改Listen值为服务端仅主机网卡分配的IP(192.168.100.0/24网段),新增Allow 192.168.100.0/24配置 - 启动代理并设置自启:
systemctl enable --now tinyproxy - 客户端配置yum代理:在
/etc/yum.conf末尾添加proxy=http://<服务端仅主机IP>:8888 - 客户端配置pip代理:新建
~/.pip/pip.conf,内容如下:
[global] proxy = http://<服务端仅主机IP>:8888 index-url = https://pypi.tuna.tsinghua.edu.cn/simple
5. 验证效果
- 启动服务端,执行
ip a确认两块网卡均获取到对应网段IP,NAT网卡可正常访问公网 - 启动客户端,执行
ip a确认获取到192.168.100.0/24网段IP,ping服务端仅主机IP连通、ping公网地址不通,符合安全要求 - 客户端执行
yum install、pip install命令验证安装包可正常下载
内容的提问来源于stack exchange,提问作者Henzo
相关产品推荐
相关产品推荐

