CentOS 7下面配置静态IP

关于虚拟机

这里使用CentOS 7为例,因为Linux是安装在在虚拟机中,这里先看一下虚拟机的网络适配器:
CentOS 7下面配置静态IP
这里我使用的NAT模式,接着配置虚拟机的虚拟网络:
CentOS 7下面配置静态IP
这里主要看一下VMnet8的设置:
CentOS 7下面配置静态IP
CentOS 7下面配置静态IP
这里我将子网IP设置为192.168.85.0

Linux设置

这里首先是进入/etc/sysconfig/network-scripts中查看现有的配置文件:

# cd /etc/sysconfig/network-scripts

通过ls查看文件看到该文件目录下的文件:

CentOS 7下面配置静态IP

这里需要使用的配置文件是:ifcfg-eno16777736,每个人的可能不一样,切换root权限,通过vim进到里面,可以看到里面的内容:

TYPE=Ethernet
BOOTPROTO=dhcp
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=eno16777736
UUID=ae05ccde-6a29-4332-b486-f3042da73ac0
DEVICE=eno16777736
ONBOOT=no

这里说一下需要修改的位置:

#修改
BOOTPROTO=static #这里讲dhcp换成ststic
ONBOOT=yes #将no换成yes
#新增
IPADDR=192.168.85.100 #静态IP
GATEWAY=192.168.85.2 #默认网关
NETMASK=255.255.255.0 #子网掩码

保存退出后,重启网络服务:

# service network restart
Restarting network (via systemctl):                        [  确定  ]

查看当前ip:

# ip addr
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: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e7:b8:77 brd ff:ff:ff:ff:ff:ff
    inet 192.168.85.100/24 brd 192.168.85.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee7:b877/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:b9:8f:6c 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:b9:8f:6c brd ff:ff:ff:ff:ff:ff

可以看到其中eno16777736对应的ip已经改变,此时在主机中ping 192.168.85.100验证是否可以ping通:
CentOS 7下面配置静态IP

注意

这里我们设置好之后重启虚拟机,再使用:

# ip addr

发现此时eno16777736的ip地址变了,我这里变成192.168.85.133,这里没关系的之前设置的静态ip依然有效,在本机中依然可以ping通.

我这里说这个是因为网上查资料说在配置是添加一行配置:

NM_CONTROLLED=no

这里表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们,系统将在启动时开启该接口。
NM_CONTROLLED设置成no后的ip的确不会改变,但是这时发现虚拟机无法访问外网,这里绕了很多弯路后才发现在之前设置好后,如果没有特殊需要的话上述配置就可以满足需求。

相关推荐