首页 > 代码库 > 网络基础(二)

网络基础(二)

网络基础(二)

配置网络高级命令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不会生效。

网络基础(二)