关于 KVM 主机网络问题请教

2022-06-15 17:54:41 +08:00
 a1274598858

虚拟化环境:KVM 宿主机:Ubuntu20 ip:192.168.2.222 虚拟机:Centos7.9 ip:192.168.122.5 请问有没有办法 让虚拟机和宿主机在同一个网段,或者有没有什么办法能让内网环境的电脑 访问虚拟机

2913 次点击
所在节点    云计算
12 条回复
Qetesh
2022-06-15 18:48:28 +08:00
iptables 做 nat 或者 ovs 做桥接
pagxir
2022-06-15 20:32:16 +08:00
主机端配置一下 ARP proxy 吧
FrankAdler
2022-06-15 20:34:04 +08:00
1 楼说的对,做桥接
littlewey
2022-06-15 20:43:39 +08:00
“bridged”
asilin
2022-06-15 20:55:06 +08:00
2 楼说的对,而且如果宿主机通过 WiFi 连接外网,只能使用 arp proxy 方式。
kyrre
2022-06-15 22:37:42 +08:00
KVM 网络选 Routed ,不要用 Default 的。
debuggerx
2022-06-16 00:10:00 +08:00
我推荐端口映射
Davic1
2022-06-16 09:05:24 +08:00
1,2 楼的方法都可以
关于 Open vSwitch(ovs) 看 https://pve.proxmox.com/wiki/Open_vSwitch
关于 ProxyARP(arp 代理) 看 https://www.practicalnetworking.net/series/arp/proxy-arp/
ayasakinagi
2022-06-16 09:31:33 +08:00
不用 ovs, linux bridge 即可. host 的网卡和虚拟机的网卡都挂到同一个 linux bridge 上
defunct9
2022-06-16 09:32:13 +08:00
开 ssh ,让我上去搞
LLaMA2
2022-06-16 11:33:44 +08:00
让我来。
第一步,物理网卡假设是 enp3s0, 配置文件中无论是 dhcp ,static 改成使用桥接
配置如下
TYPE="Ethernet"
DEVICE="enp3s0"
ONBOOT="yes"
BRIDGE="br0"

接着不上一个 br0 接口
配置如下
TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
DEVICE="br0"
ONBOOT="yes"
### 自己补充使用 DHCP 或者 static
##static 如下
IPADDR="192.168.100.10"
PREFIX="24"
GATEWAY="192.168.100.1"
DNS1="119.29.29.29"
IPV6_PRIVACY="no"
DEFROUTE="yes"
### 以上仅供参考

这个时候重启网络后 使用 ip a s 查看网络,你会看见 enp3s0 被 br0 使用,本身不获取 ip ,br0 变得和原来的 enp3s0 获取了 ip


紧接着很关键的来了
sysctl -p


net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0


要不你会发现虚拟机有和宿主主机有同网段的 IP ,但是不能互通,
当然,虚拟机的网络需要使用宿主的桥接网卡 br0 。
a1274598858
2022-06-16 16:24:49 +08:00
@Qetesh
@pagxir
@FrankAdler
@littlewey
@asilin
@kyrre
@debuggerx
@Davic1
@ayasakinagi
@defunct9
@ye4tar
非常感谢大家,我用 bridged 的方式解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX