Linux 网络属性配置文件详解

前言

之前在 《Linux 命令行手动修改 IP》 介绍通过 /etc/sysconfig/network-scripts/ifcfg-eth0 文件来手动修改 IP ,但只是简单地介绍了快速配置的方法,这次详细记录一下各参数的作用。

IFACE

这个专有名词用来替换网络接口名称,以便于说明和理解。

/etc/sysconfig/network-scripts/ifcfg-eth0 这个网络接口文件命名中, eth0 就用 IFACE 代替。

IP/NETMASK/GW/DNS 属性修改

这几个属性修改的文件路径为:/etc/sysconfig/network-scripts/ifcfg-IFACE ,其中 ifcfg-IFACE 配置文件参数说明如下:

DEVICE :此配置文件对应的设备的名称;(和 IFACE 保持一致)
ONBOOT :在系统引导过程中,是否激活此接口;
UUID :此设备的惟一标识;
IPV6INIT :是否初始化 IPv6 ;
BOOTPROTO :激活此接口时使用什么协议来配置接口属性,常用的有 dhcp 、 bootp 、 static 、 none ;
TYPE :接口类型,常见的有 Ethernet , Bridge ;
DNS1 :第一 DNS 服务器指向;
DNS2 :备用 DNS 服务器指向;
DOMAIN :DNS 搜索域;
IPADDR :IP 地址;
NETMASK :子网掩码; CentOS 7 支持使用 PREFIX 以长度方式指明子网掩码;
GATEWAY :默认网关;
USERCTL :是否允许普通用户控制此设备;
PEERDNS :如果 BOOTPROTO 的值为 dhcp ,是否允许 dhcp server 分配的 dns 服务器指向覆盖本地手动指定的 DNS 服务器指向;默认为允许;
HWADDR :设备的 MAC 地址;
NM_CONTROLLED :是否使用 NetworkManager 服务来控制接口( NetworkManager 服务在 CentOS 6 上还不完善,建议关闭,使用 network 服务已足够。);

非默认网关路由永久添加

非默认网关路由配置文件路径为:/etc/sysconfig/network-scripts/route-IFACE ,支持以下两种配置,但不可混用。

每行一个路由条目

TARGET  via  GW

比如:

10.0.0.0/24 via 192.168.10.1

每三行一个路由条目

ADDRESSn=TARGET
NETMASKn=MASK
GATEWAYn=NEXTHOP

# n 代表数字

比如:

ADDRESS0=10.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=192.168.10.1

给同一接口配置多个地址

首先得给标准接口配置增加一个别名配置,别名命名规则为:

IFACE_LABEL=IFACE:0, IFACE:1, ...

添加别名接口文件

cd /etc/sysconfig/network-scripts
cp ifcfg-IFACE ifcfg-IFACE_LABEL

编辑别名接口文件

vi /etc/sysconfig/network-scripts/ifcfg-IFACE_LABEL

# 更改如下内容
DEVICE=IFACE_LABEL
BOOTPROTO=static # 别名不支持动态获取地址,只有两个选择 static , none ;

保存后重启网络服务即可。

命令操作

除了直接更改配置文件之外,也可以使用命令来永久性地更改网络配置,比如 CentOS 6system-config-networksetupCentOS 7nmtui。详细使用可通过 man 文档查看。