网络配置工具

网络配置工具
1.图形工具: nm-connection-editor 此命令要在虚拟机里敲才 会有效,在客户端(用ssh连接或CRT连接的)上无敲完后会弹出一个窗口,图形化界面
2.字符配置工具: nmtui 类似于setup,都进入字符界面,可以配置网络
3.命令行工具;nmcli 在6中也有这个工具,不过功能相对弱些
4.也可以用最原来的方法,cd /etc/sysconfig/network-scripts/
这里重点介绍nmcli 命令
nmcli [options] object {command | help}
nmcli device show ens33(网卡名)
nmcli connection
下图中配置文件名起为办公网eth1-office,很清楚的就让人指定eth1网卡是办公用的网卡,一目了然
网络配置工具_第1张图片
网络配置工具_第2张图片
网络配置工具_第3张图片
修改ip地址等属性:
nmcli connection modify IFACE [+ | -] setting.property value
setting.property: ipv4.address ipv4.gateway
ipv4.dns1 ipv4.method manual | auto
修改配置文件执行生效: systemctl restart network
nmcli con reload
nmcli命令生效:nmcli con down eth0;nmcli con up eth0

如何用nmcli来增加新的地址呢?
nmcli connection modify eth1 +ipv4.addresses 3.3.3.3/24
这样之后再cat ifcfg-eth1发现里面多了一个3.3.3.3/24的地址
nmcli connection modify eth1 -ipv4.addresses 3.3.3.3/24 删除地址
如何把网卡设成传统名称,做法如下图:
网络配置工具_第4张图片
用sed在/etc/default/grub文件中的特定行添加net.ifnames=0”
方法一:sed -r ‘/^GRUB_CMDLINE_LINUX/s/(.*)”/\1 net.ifnames=0”/’ /etc/default/grub
方法二:sed -r ‘/^GRUB_CMDLINE_LINUX/s/”$/net.ifnames=0”/’ /etc/default/grub 把最后一个引号替换成net.ifname=0” 此方法非常巧妙
用sed是不修改原文件内容的,如果想要修改原文件只需加一个 -i 选项就ok了

nmcli 如何实现bonding
这里写图片描述
nmcli connection add type bond-slave ifname eth0 master bond0
nmcli connection add type bond-slave con-name bond0-slave-eth1 ifname eth1 master bond0 其中加粗的部分是手工指定连接名,可以不指定,像第一句那样,他会自动生成
nmcli connection 查看有没有生效,默认是不会生效的,需要手动添加一下两句才行
nmcli connection up bond0-slave-eth0
nmcli connection up bond0-slave-eth1
这样就可以了
现在想修改bong的工作模式,修改为boradcast,怎样改呢?
nmcli connection modify bond0 bond.options mode=broadcast
cat ifcfg-bond 查看bond的配置文件发现有一行已经改为了=broadcast
nmcli connection down bond0 先关掉
nmcli connection up bond0 再开启才会生效(启动绑定)
cat /proc/net/bonding/bond0 发现还是down的状态
需要一个个的up起来才有用
nmcli connection up bond0-slave-eth0
nmcli connection up bond0-slave-eth1
网络配置工具_第5张图片
这就是多网卡绑定
那你说我想删除绑定怎么办呢?当然有办法啦,我们来看怎样删除bond绑定
第一步:nmcli connection down bond0
cd /etc/sysconfig/network-scripts/
nmcli connection 发现已经不在工作的状态了
第二步:rm -f ifcfg-bond* 删除bond
ls 查看一下就没有了
第三步:nmcli connection reload 重新加载配置文件
是不是很简单呢
nmcli不仅可以实现多网卡绑定还能实现配置网络组
网络组Network Teaming
网络组是将多个网卡聚合在一起,从而实现冗错和提高吞吐量
网络组不同于旧版本中bonding技术,提供更好的性能和扩展性
网络组有内核驱动和teamd守护进程实现
多种方式 runner
broadcast
roundrobin
activebackup
loadbalance
lacp
创建网络组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME:连接名,INAME:接口名
JSON指定runner方式
格式: ‘{“runner :{“name:” “METHOD”}}’
METHOD 可以是broadcast,roundrobin,activebackup,loadbalance,lacp
实验:配置网络组
第一步: nmcli connection add type team con-name con-myteam0 ifname myteam0 config ‘{“runner”: {“name”:”roundrobin”}}’
第二步:nmcli connection add type team-slave ifname eth0 master myteam0 加入网卡
nmcli connection add type team-slave ifname eth1 master myteam0 加入网卡
nmcli connection
ifconfig
第三步:nmcli connection modify con-myteam0 ipv4.method manual ipv4.addresses 192.168.159.140/24 给创建的网络组手工指定ip地址
第四步:nmcli connection up con-myteam0 激活
nmcli connection 查看还是处于非激活状态
第五步:nmcli connection up team-slave-eth0
nmcli connection up team-slave-eth1
一个个的激活才可以
teamdctl myteam0 state 查看网络组的工作状态
网络配置工具_第6张图片
可以更改一下两个网卡的工作方式,例如把roundrobin改为broadcast
方便的做法是直接更改配置文件
cd /etc/sysconfig/network-scripts/
vim ifcfg-con-myteam0作如下修改
网络配置工具_第7张图片
修改之后并不会立刻生效
需要down掉再开启nmcli connection down con-myteam0
nmcli connection up con-myteam0
如果这样之后还没生效的话就重新加载一下 nmcli connection reload
teamdctl myteam0 state 查看一下状态变成了broadcast
通过以上步骤可以看到,创建网络组和创建bond步骤大致相同
tcpdump -i eth1 抓包
删除网络组
cd /etc/sysconfig/network-scripts/
nmcli connection down con-myteam0
nmcli connection delete team-slave-eth0
nmcli connection delete team-slave-eth0
nmcli connection 查看发现已删除
以上是在7上做的,在6上面用192.168.159.128/24的ping192.168.159.140是通的
我们还可以通过nmcli工具实现给一个网卡添加多个地址,我用一个图来体现整个过程,不再一一叙述
网络配置工具_第8张图片
ping -I 192.168.159.210 192.168.159.128 用指定的192.168.159.210去ping192.168.159.128
当然nmcli还可以实现更多其它的配置(例如配置实现网桥),想要了解更多请继续关注我的博客,每周更新一次哦

你可能感兴趣的:(linux,运维)