您好,我尝试在最小安装虚拟机上设置静态 IP,虚拟机的 IP 为,170.20.x.100
但是当我将/etc/sysconfig/network-scripts/ifcfg-eth0
文件配置为 IPADDR 为 172.20.x.100 并使用 systemctl 重新启动网络时,出现错误说“错误,其他主机已使用地址 172.20.x.100
当我将 ip 更改为任何其他值时,ip 确实会解析,并且它验证我已经检查了网络上的所有其他主机,并且没有人在任何接口上具有该 ip。
虽然我确实在主主机上找到了一个名为 的文件/etc/sysconfig/network-scripts/ifcfg-br1
,并且它的 IPADDR 字段中确实有 172.20.x.100 的 ip,但是当我在接口上执行 ifconfig 时,它没有显示该 ip,而是显示 172.20.x.1这是正确的地址,我正在使用我的主要主机作为我的网络的网关。这也是一个克隆的虚拟机,我之前遇到过几个问题。我之前无法 ping 通我的网关,因为虚拟机的 MAC 地址和ifcfg-eth0文件不同,但我将其更改为 MAC Virt-Manager 给我的并且它有效。现在唯一的问题是让我的虚拟机获取 172.20.x.100 作为 IP 地址。您熟悉这个问题吗?
更新 看来问题还是出在MAC地址上。
当我发出
arping -c 2 -w 3 -D -I eth0 172.20.x.100 The reply is
Unicast reply from 172.20.x.100 from 0.0.0.0 eth0
Unicast reply from 172.20.x.100 [ 52:54:00:D0:5D:3A ]
但是当我在虚拟机上使用 ifconfig eth0 时,MAC 是
52:54:00:4b:c2:30
vm的静态配置/etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=172.20.x.100
GATEWAY=172.20.x.1
DNS1=172.20.x.1
DNS2=8.8.8.8
HWADDR=52:54:00:4b:c2:30
PEERDNS=yes
TYPE=Ethernet
IPV6INIT=no
主主机上的 ifconfig:
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.40.84.195 netmask 255.255.255.0 broadcast 10.40.84.255
inet6 fe80::d4de:7ab0:3cf4:e2ca prefixlen 64 scopeid 0x20<link>
ether ec:b1:d7:38:c7:07 txqueuelen 1000 (Ethernet)
RX packets 162478 bytes 70643148 (67.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 37498 bytes 6406695 (6.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xef100000-ef120000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 189 bytes 21522 (21.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 189 bytes 21522 (21.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.51.1 netmask 255.255.255.0 broadcast 192.168.51.255
ether 52:54:00:7b:f7:52 txqueuelen 1000 (Ethernet)
RX packets 34 bytes 1948 (1.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 2374 (2.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.x.1 netmask 255.255.255.0 broadcast 172.20.x.255
ether 52:54:00:d0:5d:3a txqueuelen 1000 (Ethernet)
RX packets 664 bytes 91395 (89.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 397 bytes 493153 (481.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
br1的内容:
DEVICE="br1"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="172.20.x.100"
GATEWAY="172.20.x.1"
STP="on"
DELAY="0.0"
答案1
你好,br1 接口,它是您的桥接接口,它与 virbr0 和 virbr1 不同,br1 接口是将从您的虚拟机管理程序发送数据包的接口。所有虚拟机都会使用这个接口与外界进行通信。
您只需更改其中之一的值,即 eth0 或 br0。
br1 = 170.20.x.100
eth0 = 170.20.x.10
例如^^。