对Virtualbox使用不是很熟悉,每次启动虚拟机都会被自动分配一个动态的IP地址(host-only),对我使用hadoop等很不方便,之前都是跳过了这个问题,今天花了半天时间终于解决了。
具体处理方法如下:
1. 启动Virtualbox,选着“管理”-->“全局设定”,在弹出的窗口中,选着“网络”,然后在右侧窗口中,选择“仅主机(Host-Only)网络”选项卡,如下图;
如果没有VirtualBox Host-Only Ethernet Adapter,可以点击右侧“+”添加。
然后双击VirtualBox Host-Only Ethernet Adapter,会弹出下图:
选择“DHCP服务器”,去掉“启用服务器”选中状态。
2. 启动虚拟机
在终端输入ifconfig,会显示如下信息,其中enp0s3和enp0s8表示两个网卡:
[[email protected] ~]$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe4c:2f5b prefixlen 64 scopeid 0x20<link>
ether 08:00:27:4c:2f:5b txqueuelen 1000 (Ethernet)
RX packets 28 bytes 3361 (3.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 6795 (6.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.103 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::a00:27ff:fe46:d7f8 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:46:d7:f8 txqueuelen 1000 (Ethernet)
RX packets 24 bytes 6616 (6.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 81 bytes 9555 (9.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
cd /etc/sysconfig/network-scripts目录下,会看到存在ifcfg-enp0s3文件,复制一份并修改名称为ifcfg-enp0s8,接下来编辑ifcfg-enp0s8,最终的文件内容如下:
TYPE=Ethernet
HWADDR=08:00:27:46:d7:f8 ( 注意:这个表示虚拟网卡的地址)
BOOTPROTO=static (这里要修改成static)
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s8
UUID=3d54f693-bbef-4c56-8984-e0495a7c21s2 (这个要和enp0s3的编码不一样)
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.103
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
上述完成后,执行service network restart,一切OK啦!