#yyds干货盘点# 网络高级配置和多网卡绑定实现

休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述#yyds干货盘点# 网络高级配置和多网卡绑定实现相关的知识,希望能为你提供帮助。
1.网络基本配置文件 

/etc/sysconfig/network-scripts/ifcfg-IFACE

TYPE
接口类型;常见有的Ethernet, Bridge
NAME
此配置文件应用到的设备
DEVICE
设备名
HWADDR
对应的设备的MAC地址
UUID
设备的惟一标识
BOOTPROTO:
激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
IPADDR
指明IP地址
NETMASK
子网掩码,如:255.255.255.0
PREFIX
网络ID的位数, 如:24
GATEWAY
默认网关
DNS1
第一个DNS服务器地址
DNS2
第二个DNS服务器地址
DOMAIN
主机不完整时,自动搜索的域名后缀
ONBOOT
在系统引导时是否激活此设备
USERCTL
普通用户是否可控制此设备


    PEERDNS
如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务
器信息直接覆盖至/etc/resolv.conf文件,NO不允许修改resolv.conf
NM_CONTROLLED
【#yyds干货盘点# 网络高级配置和多网卡绑定实现】NM是NetworkManager的简写,此网卡是否接受NM控制
2.主机名的存放

[root@c7-147 ~]# cat /etc/sysconfig/network
# Created by anaconda
[root@c7-147 ~]#

3.路由相关的配置文件
#永久保存路由的记录

/etc/sysconfig/network-scripts/route-IFACE
两种风格:
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1

(2)每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW

4.  网卡别名将多个IP地址绑定到一个NIC上
每个IP绑定到独立逻辑网卡,即网络别名,命名格式:  ethX:Y,如:eth0:1 、eth0:2、eth0:3
范例:ifconfig命令
ifconfig eth0:0 192.168.1.100/24 up #配置IP且开启
ifconfig eth0:0 down
范例:ip 命令
ip addr add 172.16.1.1/16 dev eth0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr del 172.16.1.2/16 dev eth0 label eth0:0 ip addr flush dev eth0 label eth0:0
#永久保存一个地址在一张网卡上
[root@centos8 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
IPADDR=10.0.0.100
PREFIX=8
------------------------
建议 CentOS 6 关闭 NetworkManager 服务
网卡别名必须使用静态地址

5.多网卡  bonding将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过  bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
工作模式Bonding
共7种模式:0-6 Mode
Mode 0 (balance-rr): 轮询(Round-robin)策略,从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
  Mode 1 (active-backup): 活动-备份(主备)策略,只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
  Mode 3 (broadcast):广播策略,在所有的slave接口上传送所有的报文,提供容错
能力说明:
active-backup、balance-tlb 和  balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式  0、2 和  3 中使用  EtherChannel,但在模式4中需要  LACP和  EtherChannel
配置Bonding
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt

设备的配置文件bonding创建
/etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
BONDING_OPTS="mode=1 miimon=100"

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

#查看bond0状态:
/proc/net/bonding/bond0


#删除bond0
ifconfig bond0 down
rmmod bonding或者modprobe -r bonding


6. 网卡命名机制1.  如果Firmware或Bios为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,如:eno1
2.  如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如:ens1
3.  如果硬件接口的物理位置信息可用,则根据此信息命名,如:enp2s0
4.  如果用户显式启动,也可根据MAC地址进行命名,如:enx2387a1dc56
5.  上述均不可用时,则使用

    推荐阅读