为我的 CentOS 7 虚拟机分配静态 IP 的“正确”方法是什么?我通过路由器的管理界面为我的主机系统 (Windows 8) 分配了一个静态 IP,但网上的每个教程都显示了使用 Bash 和 的步骤ifconfig
。
我之所以这么想,是因为我很难为 CentOS VM 分配静态 IP,因为我在路由器的管理控制台中看不到它的 MAC 地址。它位于同一个子网 192.168.1.x 上,但我怀疑 MAC 地址不知何故被弄乱了。我认为我的 VM 使用的 MAC 地址与主机预期的不同。这可能是问题所在吗?
编辑:
我应该补充一点,我正在使用 VMWare Workstation 12,并且虚拟机在桥接连接上运行(它有自己的 IP)。
答案1
确定您正在使用的 IP 适配器及其 MAC 是什么:
[root@kcalmanc7 network-scripts]# ip address show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:50:56:a6:5c:2b brd ff:ff:ff:ff:ff:ff inet 10.148.44.26/24 brd 10.148.44.255 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:fea6:5c2b/64 scope link valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 52:54:00:6a:3c:c0 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52:54:00:6a:3c:c0 brd ff:ff:ff:ff:ff:ff
(上面显示的第二个名为“ens160”的接口是真实的网络连接,MAC:00:50:56:a6:5c:2b)
编辑相应接口定义文件
[root@kcalmanc7 network-scripts]# pwd /etc/sysconfig/network-scripts [root@kcalmanc7 network-scripts]# ls -alp | grep ens160 -rw-r--r--. 1 root root 359 Aug 7 2015 ifcfg-ens160 [root@kcalmanc7 network-scripts]# cat ifcfg-ens160 TYPE="Ethernet" BOOTPROTO=none DEFROUTE="yes" IPV4_FAILURE_FATAL="yes" IPV6INIT="no" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" NAME="ens160" UUID="52744fd5-752a-4994-a7a7-1c4a8e0c3b13" ONBOOT="yes" HWADDR=00:50:56:A6:5C:2B IPADDR0=10.148.44.26 PREFIX0=24 GATEWAY0=10.148.44.254 DNS1=10.148.44.11