一、说明
- 众所周知,使用
ip
、brctl
等工具配置的网络参数一旦重启就全部丢失了,想保存配置的话还是要依靠编辑配置文件。 - 以下的网络接口名可以通过
ip link show
命令获取。 - 请按实际情况修改模版尖括号中的内容(包含尖括号本身)。
- 以下模版可以直接覆盖现有文件,请务必在操作之前做好原文件的备份工作。
- 由于是纯手动配置,请确保
NetworkManager
服务已关闭,而且/etc/sysconfig/network
这个文件存在(没有的话创建一个空文件就好)。 - 修改配置文件之后,执行
systemctl restart network
即可生效。 - 配置完成后,请执行一下
systemctl enable network
确保开机可以自动加载配置文件。 - 由于环境有限,IPv6 的配置未做详细测试,不保证完全可用。
二、配置普通以太网接口
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-<接口名>
2.1 通过 DHCP 获取接口的 TCP/IP 参数
DEVICE=<接口名>
TYPE=Ethernet #指定接口类型为以太网
ONBOOT=yes #开机自动开启接口
USERCTL=no #不允许用户配置接口
######## 以下配置 TCP/IP 参数 ########
BOOTPROTO=dhcp #通过 DHCP 获取 TCP/IP 参数
DEFROUTE=yes #如果多块网卡,但是不想设置为默认出接口的话请改为 no
PEERDNS=yes #如果需要手动指定 DNS 的话请改为 no
PEERROUTES=yes #自动修改 /etc/resolv.conf 中的 DNS 服务器
#如需配置 IPv6,请添加以下内容。
IPV6INIT=yes #初始化 IPv6
IPV6_AUTOCONF=yes #开启 IPv6 自动配置
IPV6_DEFROUTE=yes #如果多块网卡,但是不想设置为默认出接口的话请改为 no
IPV6_PEERDNS=yes #自动修改 /etc/resolv.conf 中的 DNS 服务器
IPV6_PEERROUTES=yes #自动设置路由表
注:如果不想使用 DHCP 分配的 DNS 服务器,请将 PEERDNS
以及 IPV6_PEERDNS
设为 no
,然后手动在 /etc/resolv.conf
中设定 DNS 服务器。
2.2 手动设置接口的 TCP/IP 参数
DEVICE=<接口名>
TYPE=Ethernet
ONBOOT=yes
USERCTL=no
######## 以下配置 TCP/IP 参数 ########
BOOTPROTO=none #手动配置 TCP/IP 参数
DEFROUTE=yes #如果多块网卡,但是不想设置为默认出接口的话请改为 no
PEERDNS=yes
PEERROUTES=no
IPADDR=<IP 地址>
NETMASK=<子网掩码>
GATEWAY=<默认网关>
DNS1=<DNS地址1>
DNS2=<DNS地址2>
#如需配置 IPv6,请添加以下内容。
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes #如果多块网卡,但是不想设置为默认出接口的话请改为 no
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6ADDR=<IPv6 地址>/<前缀长度>
IPV6_DEFAULTGW=<IPv6 默认网关>
DNS3=<IPv6 DNS地址1>
DNS4=<IPv6 DNS地址2>
三、配置网桥
(需要安装 bridge-utils
软件包)
3.1 配置网桥接口
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-<网桥名>
DEVICE=<网桥名>
TYPE=Bridge #指定接口类型为网桥
ONBOOT=yes
USERCTL=no
DELAY=0 #不延迟启动
STP=yes #启用生成树
#TCP/IP 参数的配置方法同上
3.2 配置网桥成员接口
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-<接口名>
请删除网桥成员接口中的 TCP/IP 参数配置部分,然后在末尾加上一行 BRIDGE=<网桥名>
即可。
四、配置 PPPoE
先安装 rp-pppoe
软件包,然后执行 pppoe-setup
命令启动设置向导。
接着按以下说明填写相关设置项,填写完成后按回车即可。
向导完成后,接口的配置文件在 /etc/sysconfig/network-scripts/ifcfg-ppp<接口号>
;PPPoE 用户名和密码保存在 /etc/ppp/chap-secrets
和 /etc/ppp/pap-secrets
中。
如需配置 IPv6,请按以下格式执行命令:
echo 'PPPD_EXTRA="+ipv6"' >> /etc/sysconfig/network-scripts/ifcfg-ppp<接口号>
echo 'IPV6_DEFAULTDEV="ppp<接口号>"' >> /etc/sysconfig/network-scripts/ifcfg-ppp<接口号> # 如果不想设置为默认 IPv6 出接口的话请不要执行此命令
五、配置 VLAN(802.1Q)
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-vlan<VLAN ID>
DEVICE=vlan<VLAN ID>
TYPE=vlan #指定接口类型为 VLAN
VLAN=yes #开启 VLAN 功能
VLAN_ID=<VLAN ID> #指定 VLAN ID
PHYSDEV=<物理接口> #在哪个接口上配置 VLAN
ONBOOT=yes
USERCTL=no
#TCP/IP 参数的配置方法同上
六、配置链路聚合(LCAP 协商)
6.1 配置聚合组(team)接口
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-team<组号>
DEVICE=team<组号>
DEVICETYPE=Team
TEAM_CONFIG='{"runner":{"name": "lacp"}}'
ONBOOT=yes
USERCTL=no
#TCP/IP 参数的配置方法同上
6.2 配置聚合成员接口
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-<接口名>
请删除聚合成员接口中的 TCP/IP 参数配置部分,然后在末尾加上:
DEVICETYPE=TeamPort
TEAM_MASTER=team<组号>
TEAM_PORT_CONFIG='{"prio":0}'
即可。
七、配置 IPv6 in IP 隧道
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-<隧道名>
DEVICE=<隧道名>
TYPE=sit
BOOTPROTO=none
ONBOOT=yes
PHYSDEV=<物理接口> #使用哪个接口连接隧道对端
######## 以下配置 TCP/IP 参数(仅 IPv6)########
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes #如果不想设置该隧道为默认出接口的话请改为 no
IPV6_PEERROUTES=yes
IPV6ADDR=<IPv6 地址>/<前缀长度>
IPV6_DEFAULTGW=<IPv6 默认网关>
IPV6TUNNELIPV4=<隧道对端 IPv4 地址>