VirtualBox와 CentOS 7의 DHCP 미스터리

VirtualBox와 CentOS 7의 DHCP 미스터리

Windows 7 Pro에 최신 VirtualBox를 설치했습니다. DHCP가 활성화된 10.10.10.0/27을 사용하여 NatNetwork를 만들고, DHCP가 활성화된 172.17.24.0/27을 사용하여 호스트 전용 네트워크를 만들었습니다.

Red Hat Linux로 가상 머신을 생성하고 여기에 CentOS 7을 설치합니다.

어떤 이유로 여러 문제가 발생한 후 DHCP 서버는 enp0s8 인터페이스에 잘못된 IP를 제공했습니다.

클라이언트는 다음과 같습니다.

[root@smu1 ~]# ifconfig enp0s8
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.6  netmask 255.255.255.224  broadcast 10.0.2.31
        inet6 fe80::a00:27ff:fe41:58ae  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:41:58:ae  txqueuelen 1000  (Ethernet)
        RX packets 13  bytes 3430 (3.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 207  bytes 23996 (23.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@smu1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s8
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT=no
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s8"
UUID="77e14c77-358e-48c3-be0c-e18d75cecc5a"
DEVICE="enp0s8"
ONBOOT="yes"
PEERDNS=no
PEERROUTES=yes

다음은 호스트 측입니다.

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe  list natnetworks
NetworkName:    NatNetwork
IP:             10.10.10.1
Network:        10.10.10.0/27
IPv6 Enabled:   No
IPv6 Prefix:    fd17:625c:f037:2::/64
DHCP Enabled:   Yes
Enabled:        Yes
loopback mappings (ipv4)
        127.0.0.1=2
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe  list dhcpservers
NetworkName:    HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
IP:             172.17.24.4
NetworkMask:    255.255.255.224
lowerIPAddress: 172.17.24.5
upperIPAddress: 172.17.24.30
Enabled:        Yes

NetworkName:    NatNetwork
IP:             10.10.10.4
NetworkMask:    255.255.255.224
lowerIPAddress: 10.10.10.5
upperIPAddress: 10.10.10.30
Enabled:        Yes

호스트 전용 네트워크와 정확히 동일한 설정이 훌륭하게 작동합니다! 전혀 문제 없습니다.

[root@smu1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=b012704e-cc06-4ece-b4ea-7a12bed03f27
DEVICE=enp0s3
ONBOOT=yes
PEERDNS=no
PEERROUTES=no
[root@smu1 ~]# ifconfig enp0s3
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.24.6  netmask 255.255.255.224  broadcast 172.17.24.31
        inet6 fe80::a00:27ff:fe46:c2b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:46:0c:2b  txqueuelen 1000  (Ethernet)
        RX packets 292  bytes 29717 (29.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 238  bytes 46906 (45.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

호스트와 게스트를 다시 시작하고 명령줄에서 natnetwork 및 dhcp 서버를 삭제하고 다시 생성해 보았습니다(Windows에서 UAC를 완전히 비활성화한 후 이 작업을 다시 수행했습니다).

답변1

무엇이 잘못되었는지 잘 모르겠습니다. DHCP 서버 IP로 10.10.10.4를 수동으로 할당했는데 VirtualBox가 마음에 들지 않았기 때문일 수도 있습니다. GUI에서 다른 네트워크에 대해 natnet1을 생성하고 CMD 27에서 10.10.10.0/을 제거했습니다. 테스트됨 DHCP는 이제 네트워크 natnet1에서 올바른 IP를 제공하고 원래 필요했던 네트워크를 사용하여 natnet10을 생성했으며 natnet1을 삭제했습니다. 이제 IP가 예상대로 할당되었습니다. DHCP 서버 IP는 0.4가 아닌 10.10.10.3으로, 장애 발생 시 수동으로 할당해 드렸습니다. IP가 NatNetwork에서 DHCP 서버가 될 수 있는 VirtualBox의 내부 제한이 있을 수 있습니다... 누구든지 이 이론을 테스트하고 싶다면 자유롭게 작성해 주세요.

문제가 해결되었습니다.

관련 정보