CentOS 7网络配置

Linux系统在服务器占用较大份额,使用计算机首先要了解网络配置,本节主要介绍Linux系统的网络配置。

CentOS 7网络配置相关文件

Linux网络配置相关的文件根据不同的发行版目录名称有所不同,但大同小异,主要有以下目录或文件。

(1)/etc/hostname:主要功能在于修改主机名称。

(2)/etc/sysconfig/network-scripts/ifcfg-enoN:是设置网卡参数的文件,比如IP地址、子网掩码、广播地址、网关等,N为一串数字。

(3)/etc/resolv.conf:此文件设置了DNS相关的信息,用于将域名解析到IP。

(4)/etc/hosts:计算机的IP对应的主机名称或域名对应的IP地址,通过设置/etc/nsswitch.conf中的选项可以选择是DNS解析优先还是本地设置优先。

(5)/etc/nsswitch.conf(name service switch configuration,名字服务切换配置):规定通过哪些途径,以及按照什么顺序通过这些途径来查找特定类型的信息。

配置Linux系统的IP地址

要设置主机的IP地址,可以直接通过终端命令设置,如想设置在系统重启后依然生效,可以通过设置对应的网络接口文件,如【示例1-1】所示。

【示例1-1】

[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ea9a7274-6d22-4df9-b413-9b1cd73fd685"
DEVICE="ens33"
ONBOOT="yes"

主要字段的含义如表1.1所示。

                                                            表1.1 网卡设置参数说明
参数说明
TYPE设备连接类型,此处为以太网
BOOTPROTO使用动态IP,还是静态IP
IPADDR0第一IP地址
PREFIX0第一IP地址对应的子网掩码长度
GATEWAY0第一IP地址对应的网关
DNS1和DNS2DNS服务器地址
DEFROUTE是否为默认路由
ONBOOT系统启动时是否设置此网络接口
NAME设备名,此处对应网络接口为ens33

设置完ifcfg-ens33文件后,需要重启网络服务才能生效,重启后使用ifconfig查看设置是否生效:

[root@node1 ~]# service network restart

同一个网络接口可以使用子接口的方式设置多个IP地址,如【示例1-2】所示。

【示例1-2】

[root@node1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.139.152  netmask 255.255.255.0  broadcast 192.168.139.255
        inet6 fe80::e12:bbab:adf8:2d97  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:37:b3:0d  txqueuelen 1000  (Ethernet)
        RX packets 6876  bytes 1268873 (1.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3227  bytes 433196 (423.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.139.162  netmask 255.255.255.0  broadcast 192.168.139.255
        ether 00:0c:29:37:b3:0d  txqueuelen 1000  (Ethernet)

当服务器重启或网络服务重启后,子接口配置将消失,如需重启后依然生效,可以将配置子接口命令加入/etc/rc.local文件中。

设置主机名

主机名是识别某个计算机在网络中的标识,设置主机名可以使用hostname命令即可。再单机情况下主机名可以任意设置,如以下命令,重新登陆后发现主机名已经改变。

[root@node1 ~]# hostname www.example.com

如要重启后依然生效,可以将主机名写入文件/etc/hostname中。或者使用hostnamectl命令。如【示例1-3】所示。

【示例1-3】

[root@node1 ~]# hostname
node1

设置默认网关

设置好IP地址以后,如果要访问其他的子网或Internet,用户还需要设置路由,在此不做介绍,这里采用设置默认网关的方法。在Linux中,设置默认网关有两种方法:

(1)第1中方法就是直接使用route命令,在设置默认网关之前,先用route -n命令查看路由表。执行如下命令设置网关

[root@node1 ~]# route add default gw 192.168.139.254

如果不想每次开机都执行route命令,则应该把要执行的命令写入/etc/rc.d/rc.local文件中。

(2)第2种方法是在/etc/sysconfig/network-scripts/ifcfg-接口文件中添加如下字段:

GATEWAY=192.168.139.254

同样,只要是更改了脚本文件,必须重启网络服务来使设置生效,可执行下面的命令:

[root@node1 ~]# service network restart

使用service命令时需要注意,由于CentOS 7中使用的是systemd,因此开启和停止服务通常使用systemctl代替,但也可以使用service

提示:使用命令方式配置默认路由通常适用于临时测试。

设置DNS服务器

设置DNS服务器需修改/etc/resolv.conf文件即可。下面是一个resolv.conf文件示例。

【示例1-4】

# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 114.114.115.115
options rotate
options timeout:1 attempts:2

其中114.114.114.114为第一名字服务器,114.114.115.115为第二名字服务器,option rotate选项指这两个dns server之间轮询,option timeout:1表示解析超过1s(默认5s),attempts表示解析域名尝试的次数。如需添加DNS服务器,可直接修改此文件,需要注意的是使用nameserver指定的DNS服务器只有前三条生效。

最后修改:2020 年 10 月 19 日 07 : 43 PM
如果觉得我的文章对你有用,请随意赞赏