关于 KVM 主机网络问题请教

vps网友提供 06-15 讨论归档 12

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

本文由 vps网友提供,转载请注明出处

本文链接: https://www.vpsvsvps.com/discuss/a/1676472101038460928.html

标签:
a1274598858
06-16

@Qetesh
@pagxir
@FrankAdler
@littlewey
@asilin
@kyrre
@debuggerx
@Davic1
@ayasakinagi
@defunct9
@ye4tar
非常感谢大家,我用 bridged 的方式解决了

ye4tar
06-16

让我来。
第一步,物理网卡假设是 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 。

defunct9
06-16

开 ssh ,让我上去搞

ayasakinagi
06-16

不用 ovs, linux bridge 即可. host 的网卡和虚拟机的网卡都挂到同一个 linux bridge 上

Davic1
06-16

1,2 楼的方法都可以
关于 Open vSwitch(ovs) 看 https://pve.proxmox.com/wiki/Open_vSwitch
关于 ProxyARP(arp 代理) 看 https://www.practicalnetworking.net/series/arp/proxy-arp/

debuggerx
06-16

我推荐端口映射

kyrre
06-15

KVM 网络选 Routed ,不要用 Default 的。

asilin
06-15

2 楼说的对,而且如果宿主机通过 WiFi 连接外网,只能使用 arp proxy 方式。

littlewey
06-15

“bridged”

FrankAdler
06-15

1 楼说的对,做桥接

pagxir
06-15

主机端配置一下 ARP proxy 吧

Qetesh
06-15

iptables 做 nat 或者 ovs 做桥接