안녕하세요, 최소 설치 가상 머신에 고정 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 필드에 IP가 172.20.x.100인 반면, 인터페이스에서 ifconfig를 수행했을 때 해당 IP가 표시되지 않고 대신 172.20.x.1이 표시되었습니다. 주소가 정확합니다. 저는 기본 호스트를 네트워크의 게이트웨이로 사용하고 있습니다. 이것도 복제된 VM이며 이전에 몇 가지 문제가 있었습니다. 이전에는 VM의 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
예를 들면 ^^.