网络基础(二)
网络基础(二)
配置网络高级命令nmcli(NetworkManager command line tool)
- nmcli命令修改是直接修改配置文件
命令语法:nmcli [OPTIONS] OBJECT { COMMAND | help }
一般常用选项是connection(con)和device(dev)可以tab (比较方便)
[root@localhost ~]# nmcli
agent connection device general help networking radio
- 显示所有包括不活动链接
有两个网卡配置 有一个处于链接状态 有一个处于备用状态
[root@localhost ~]# nmcli con show
NAME UUID TYPE DEVICE
Wired connection 1 17b6d7bb-92a0-4bfa-8880-976cae3cdbe5 802-3-ethernet --
eth0 fb67dbad-ec81-39b4-42b1-ebf975c3ff13 802-3-ethernet eth0
- 显示所有活动链接
[root@localhost ~]# nmcli con show --active
NAME UUID TYPE DEVICE
eth0 fb67dbad-ec81-39b4-42b1-ebf975c3ff13 802-3-ethernet eth0
- 显示某个网卡详细信息
- nmcli con show eth0 (最详细的信息 太长了 有兴趣可以自己敲下试试)
- 显示设备状态
[root@localhost ~]# nmcli dev status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
网卡设备文件保存在/etc/sysconfig/network-scripts/目录下
ifcfg-[NAME]是配置文件
最基础网卡配置
vim ifcfg-[name]
DEVICE=[name](这里写网卡的名字)
IPADDR=X.X.X.X(给网卡配置IP)
PREFIX=255.255.0.0(子网掩码 也可以直接写16)
GATEWAY=Y.Y.Y.Y(网关)
修改配置文件后需要重新加载配置
nmcli con reload
启用网卡
nmcli con up eth0
停用网卡
nmcli con down eth0
查看路由表
route -n
网络接口配置 bonding
那什么是bonding呢?就是 将多块网卡绑定同一IP 地址对外提供服务,可以实现高 可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址 是不可能的,这时候就要用bonding。
Bonding 的工作模式
• Mode 0 (balance-rr)
轮转(Round-robin )策略:从头到尾顺序的在每一个slave
接口上面发送数据包。本模式提供负载均衡和容错的能力
• Mode 1 (active-backup)
活动- 备份(主备)策略:在绑定中,只有一个slave 被激活。
当且仅当活动的slave 接口失败时才会激活其他slave 。为了
避免交换机发生混乱此时绑定的MAC 地址只有一个外部端口上
可见
• Mode 3 (broadcast)
广播策略:在所有的slave 接口上传送所有的报文。本模式提供
容错能力。
接下来可以做一个小实验:在CentOS7.3实现bonding
创建bond0
[root@localhost network-scripts]# nmcli connection add con-name bond0 type bond ifname bond0 mode active-backup
Connection 'bond0' (1dbf0sl6-3e51-4ea9-82d9-bf620323d82f) successfully added.
添加IP和网关
[root@localhost network-scripts]# nmcli connection modify bond0 ipv4.addresses 192.168.33.200/24 ipv4.gateway 192.16.33.1 ipv4.method manual
添加附属网卡
[root@localhost network-scripts]# nmcli connection add type bond-slave ifname eno16789765 master bond0
Connection 'bond-slave-eno16777736' (82b9cbd4-2fa7-46b0-onvd-acls51e4f783) successfully added.
[root@localhost network-scripts]# nmcli connection add type bond-slave ifname eno33664995 master bond0
Connection 'bond-slave-eno33554984' (al08b93e-e320-33ec-862d-2b131ligd0a2) successfully added.
查看网卡信息
[root@localhost network-scripts]# nmcli connection show
NAME UUID TYPE DEVICE
bond-slave-eno33664995 334b993e-e320-49ec-862d-2bokh92cd0a2 802-3-ethernet --
bond-slave-eno16789765 82b9cbd4-2fa7-46b0-9d7d-ad62dle4f783 802-3-ethernet --
bond0 1dbf0986-3e51-4ea9-82d9-bf620526d82f bond bond0
eno33664995 fb67dbad-ec81-39b4-42b1-ebf95h98lf13 802-3-ethernet eno33664995
eno16789765 03350885-eff1-41fb-9e7f-d1d160f9dc93 802-3-ethernet eno16789765
启用两块附属网卡以及bond0
[root@localhost network-scripts]# nmcli connection up bond-slave-eno16789765
[root@localhost network-scripts]# nmcli connection up bond-slave-eno33664995
[root@localhost network-scripts]# nmcli connection up bond0
这时候可以另外一台机器ping bonding的地址,然后尝试一下拔下一块网卡看看效果,切记不可用donw,因为bonding是防止意外发生,手工停止bonding不会生效。