虚拟化环境:KVM 宿主机:Ubuntu20 ip:192.168.2.222 虚拟机:Centos7.9 ip:192.168.122.5 请问有没有办法 让虚拟机和宿主机在同一个网段,或者有没有什么办法能让内网环境的电脑 访问虚拟机
1
Qetesh 2022-06-15 18:48:28 +08:00 via iPhone
iptables 做 nat 或者 ovs 做桥接
|
2
pagxir 2022-06-15 20:32:16 +08:00 via Android
主机端配置一下 ARP proxy 吧
|
3
FrankAdler 2022-06-15 20:34:04 +08:00 via iPhone
1 楼说的对,做桥接
|
4
littlewey 2022-06-15 20:43:39 +08:00 via iPhone
“bridged”
|
5
asilin 2022-06-15 20:55:06 +08:00 via Android
2 楼说的对,而且如果宿主机通过 WiFi 连接外网,只能使用 arp proxy 方式。
|
6
kyrre 2022-06-15 22:37:42 +08:00
KVM 网络选 Routed ,不要用 Default 的。
|
7
debuggerx 2022-06-16 00:10:00 +08:00 via Android 1
我推荐端口映射
|
8
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/ |
9
ayasakinagi 2022-06-16 09:31:33 +08:00 via iPhone
不用 ovs, linux bridge 即可. host 的网卡和虚拟机的网卡都挂到同一个 linux bridge 上
|
10
defunct9 2022-06-16 09:32:13 +08:00
开 ssh ,让我上去搞
|
11
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 。 |
12
a1274598858 OP |