CentOS 7下面配置静态IP
关于虚拟机
这里使用CentOS 7为例,因为Linux是安装在在虚拟机中,这里先看一下虚拟机的网络适配器:
这里我使用的NAT模式,接着配置虚拟机的虚拟网络:
这里主要看一下VMnet8的设置:
这里我将子网IP设置为192.168.85.0
Linux设置
这里首先是进入/etc/sysconfig/network-scripts中查看现有的配置文件:
# cd /etc/sysconfig/network-scripts
通过ls查看文件看到该文件目录下的文件:
这里需要使用的配置文件是: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通:
注意
这里我们设置好之后重启虚拟机,再使用:
# ip addr
发现此时eno16777736的ip地址变了,我这里变成192.168.85.133,这里没关系的之前设置的静态ip依然有效,在本机中依然可以ping通.
我这里说这个是因为网上查资料说在配置是添加一行配置:
NM_CONTROLLED=no
这里表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们,系统将在启动时开启该接口。
将NM_CONTROLLED设置成no后的ip的确不会改变,但是这时发现虚拟机无法访问外网,这里绕了很多弯路后才发现在之前设置好后,如果没有特殊需要的话上述配置就可以满足需求。
更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14