CentOS网络管理
nmcli
- device show 查看网卡状态,命令可以缩写
- connection 网络连接(记录地址信息)
- add 增加连接
- modify 修改连接
- delete 删除连接
nmtui-edit 使用类图形化管理网络
nm-connection-editor 使用图形化管理网络(需要安装图形化界面)
系统不能识别网卡时,删除
/etc/udev/rules.d/70-persent-network.rules
文件,重启系统
常用命令
1 |
|
端口聚合
2个端口聚合使用bond,2-8个端口聚合使用team
Bond
nmcli创建Bond(推荐)
创建接口,设置模式:nmcli conn add type bond ifname bond1 mode 1
添加成员接口:nmcli conn add type bond-slave ifname eth1 master bond1
修改bond接口地址:nmcli conn modify bond-bond1 ipv4.method manual ipv4.address "192.168.140.101/24"
配置文件创建Bond
创建bond0网卡配置文件
1 |
|
修改2个物理网卡配置文件
1 |
|
Bond模式
非聚合模式 | mode=1(active-backup)主-备份策略 | 只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备 |
---|---|---|
静态聚合模式 | mode=5(balance-tlb)适配器传输负载均衡 | 不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。 |
mode=6(balance-alb) 适配器适应性负载均衡 | 该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。 | |
mode=0(balance-rr)平衡轮询策略 | 传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕 | |
mode=2(balance-xor)平衡策略 | 基于指定的传输HASH策略传输数据包 | |
mode=3(broadcast)广播策略 | 在每个slave接口上传输每个数据包,此模式仅提供了容错能力 | |
动态聚合模式 | mode=4(802.3ad)IEEE 802.3ad 动态链接聚合 |
拆除Bond
关闭Bond接口:nmcli conn down bond-bond1
删除Bond成员接口:nmcli conn delete bond-slave-eth1
删除Bond接口:nmcli conn delete bond-bond1
查看Bond状态
通过proc目录查看:cat /proc/net/bonding/bond0
1 |
|
创建Team
创建team聚合接口:nmcli connection add type team con-name CNAME ifname INAME config ‘{“runner”: {“name”: “METHOD”}}’
CNAME:连接名称,一般从team0开始
INAME:接口名称,一般与CNAME相同
METHOD:聚合选项,broadcast、roundrobin、activebackup、loadbalance、lacp
- broadcast:相当于集线器
- roundrobin:轮询使用,每个网卡使用一段时间
- activebackup:主备模式
- loadbalance:负载均衡模式
- lacp:使用802.11ac协议动态聚合,需要交换机支持
将网卡加入聚合接口:nmcli connection add type team-slave con-name CNAME ifname INAME master TEAM
CNAME:连接名称,一般为teamX-ethX
INAME:要加入聚合组的网卡名称
TEAM:聚合组名
nmcli命令行模式
nmcli connection edit "Wired connection 2"
进入命令行模式修改配置
命令说明
1 |
|
常用设置
connection
- connection.id 配置名称
- connection.interface-name 配置绑定的接口
- connection.autoconnect 自动连接
- connection.master 主接口,bond和team会用到
- connection.slave-type 从接口类型,bond和team会用到
802-3-ethernet
- 802-3-ethernet.mac-address MAC地址,网卡MAC变化后需要删除MAC地址才能激活
ipv4/ipv6
- ipv4.method/ipv6.method 地址获取模式,取值为auto/manual/link-local
- ipv4.dns/ipv6.dns 配置DNS
- ipv4.addresses/ipv6.addresses 配置地址,v4格式为192.168.0.1/24,v6格式为2607:f0d0::4/64,未配置掩码时默认为主机掩码
- ipv4.gateway/ipv6.gateway 配置网关
- ipv4.routes/ipv6.routes 配置静态路由,格式为192.168.0.0/24 172.16.0.1
防火墙Firewalld
区域默认配置
区域名称 | 默认配置 |
---|---|
trusted | 允许所有传入流量 |
home | 除非与传出流量相关,或与ssh、mdns、ipp-client、samba-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量 |
internal | 除非与传出流量相关,或与ssh、mdns、ipp-client、samba-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量(一开始与home域相同) |
work | 除非与传出流量相关,或与ssh、ipp-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量 |
public | 除非与传出流量相关,或与ssh或dhcpv6-client预定义服务匹配,否则拒绝传入流量。新添加的网络接口的默认区域 |
external | 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量。通过此区域转发的IPv4传出流量将进行伪装,以使其看起来像是来自传出网络接口的IPv4地址 |
dmz | 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量 |
block | 除非与传出流量相关,否则拒绝所有传入流量 |
drop | 除非与传出流量相关,否则拒绝所有传入流量。(甚至不产生包含ICMP错误的响应) |
动作:
accept:运行通过
drop:丢包
rejece:拒绝通过并回应(一般不用)
1 |
|
配置不加--permanent
则在runtime中执行,配置重启失效
常用命令
1 |
|