对于服务器来说,是需要固定的ip地址的,以便其他服务进行连接。咱们在搭建服务器的时候,有的时候有很多的时候需要使用Xshell连接虚拟机,如果使用DHCP,每次服务器重启之后,ip会变化很麻烦,这个时候需要咱们设置固定ip地址。
从有道云贴过来的时候,格式有错乱,附上有道云地址:
一、网络服务
ip地址的网络服务名叫 network 。
这个服务名专门用于关闭、启动、重启服务,当我们修改配置文件之后,用于重启服务。
二、配置文件地址
关于ip地址的配置文件地址在
/etc/sysconfig/network-scripts 目录下 有一个 “ifcfg- ” 开头的几个配置文件。
如下:ifconfig 查看ip地址,出现如下图所示。则意味着至少有两个配置文件:
- ifcfg-ens33:网卡ens33的配置文件
- ifcfg-lo:网卡lo的配置文件
三、修改配置文件 ,设置固定ip地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33
这是默认使用DHCP的配置文件,配置文件如下所示
#类型
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#是否启动DHCP:none为禁用DHCP;static为使用静态ip地址;设置DHCP为使用DHCP服务
#如果要设定多网口绑定bond的时候,必须设成none
BOOTPROTO="dhcp"
#就是default route,是否把这个网卡设置为ipv4默认路由
DEFROUTE="yes"
# 如果ipv4配置失败禁用设备
IPV4_FAILURE_FATAL="no"
#是否使用IPV6地址:yes为使用;no为禁用
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
#就是default route,是否把这个网卡设置为ipv6默认路由
IPV6_DEFROUTE="yes"
# 如果ipv6配置失败禁用设备
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
#网络连接的名字
NAME="ens33"
#唯一标识
UUID="b4701c26-8ea8-46a5-b738-1d4d0ca5b5a9"
# 网卡名称
DEVICE="ens33"
#启动或者重启网络时是否启动该设备:yes是启用;no是禁用
ONBOOT="yes"
修改固定Ip配置文件如下:
#类型
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#是否启动DHCP:none为禁用DHCP;static为使用静态ip地址;设置DHCP为使用DHCP服务
#如果要设定多网口绑定bond的时候,必须设成none
BOOTPROTO="static"
#就是default route,是否把这个网卡设置为ipv4默认路由
DEFROUTE="yes"
# 如果ipv4配置失败禁用设备
IPV4_FAILURE_FATAL="no"
#是否使用IPV6地址:yes为使用;no为禁用
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
#就是default route,是否把这个网卡设置为ipv6默认路由
IPV6_DEFROUTE="yes"
# 如果ipv6配置失败禁用设备
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
#网络连接的名字
NAME="ens33"
#唯一标识
UUID="b4701c26-8ea8-46a5-b738-1d4d0ca5b5a9"
# 网卡名称
#设备名,不要自己乱改,和文件ifcfg-** 里的**要一致
#一般不需要修改
DEVICE="ens33"
#启动或者重启网络时是否启动该设备:yes是启用;no是禁用
ONBOOT="yes"
#添加如下配置信息
DNS1=192.168.0.1 #NDS
IPADDR=192.168.1.122 #IP地址
GATEWAY=192.168.1.1 #网关
PREFIX=24 #centos子网掩码长度:24--> 255.255.255.0
# 子网掩码 RedHat,不同版本的Linux的配置是不一样的
# NETMASK=255.255.255.0
# 地址 ipv6 配置信息,如果不使用ipv6 可以不用配置
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
* 注意:
TYPE、BOOTPROTO、NAME、DEVICE、ONBOOT、IPV6INIT 这些必须存在。
DNS1、IPADDR、GATEWAY、PREFIX使用固定ip必须有这些配置
重新启动:成功!
[root@localhost ~]# service network restart
Restarting network (via systemctl): [ OK ]
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.122 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::6aaa:b380:3d04:68b0 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:f8:0a:2c txqueuelen 1000 (Ethernet)
RX packets 248575 bytes 274541376 (261.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 209393 bytes 18434927 (17.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 612 bytes 54728 (53.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 612 bytes 54728 (53.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:2b:8e:28 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#
*注意:大家在修改配置文件的时候,一定注意ip地址、网关、子网掩码。
因为我在弄这个的时候用的是虚拟机,使用的Xshell 连接的虚拟机。重启服务器的时候,因为ip地址改变会断连。大家在修改完了之后可以使用ping命令,ping一下是否能连接的通,有的时候不一定你改对了就能连接的上。