CentOS 7 网络接口和网桥的简单配置模版(纯手动)


一、说明

  • 众所周知,使用 ipbrctl 等工具配置的网络参数一旦重启就全部丢失了,想保存配置的话还是要依靠编辑配置文件。

  • 以下的网络接口名可以通过 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 命令启动设置向导。

接着按以下说明填写相关设置项,填写完成后按回车即可。

设置项 说明
LOGIN NAME 填写 PPPoE 用户名。
INTERFACE 填写使用 PPPoE 的物理接口。
DNS 如果需要手动指定 DNS 服务器,请填写 DNS 服务器。否则填写 server
PASSWORD 填写 PPPoE 密码。
USERCTRL 是否允许用户配置该接口。一般填写 no
FIREWALLING 防火墙相关配置,不建议使用该向导来配置。一般填写 0
Start this connection at boot time 是否开机自动连接。一般填写 yes
** Summary of what you entered ** y 确认配置。

向导完成后,接口的配置文件在 /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 地址>

发表评论

电子邮件地址不会被公开。