nmcli 命令的基本使用

nmcli 命令的基本使用

nmcli命令

地址配置工具:nmcli

nmcli  device  查看所有网卡的信息

nmcli  device  status 和numcli device 相同

nmcli  device  show  网卡名  查看某个网卡的信息

 

nmcli  connecttion  显示所有网卡的配置连接配置,就是/etc/sysconfig/network-scripts/下有没有网卡的配置文件,没有的话不显示,即使ifconfig命令有该网卡的信息)

加一个连接配置:nmcli connection  add  type  ethernet(l类型可以变)  连接配置名(随意起) ifname eth1

回车之后就可以用nmcli  connection 显示连接配置名了,同时在/etc/sysconfig/network-scripts/下有一个新文件ifcfg-连接配置名

nmcli connection show  

nmcli connection show  链接名  查看这一套配置的相关信息

 

nmcli  connection  reload 重新加载配置文件(如果新增加了配置文件就可以用这个命名重新加载配置文件使其生效)

 

 nmcli 修改ip地址等属性

 nmcli  connection modify INFACE ipv4.method manual  ipv4.addresses  172.17.0.1/16 ipv4.gateway 172.18.0.1  ipv4.dns 114.114.114.114

 modify后面跟的是连接配置,手动配地址,ip地址,网关,dns地址。

 

nmcli 命令生效

 nmcli con down 连接配置名

 nmcli con up 连接配置名

 

设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效(针对一个接口可以有多套配置文件,但是在同一时间只能有一套配置文件生效)

 

上图显示针对接口ens33有两套配置文件

 

显示所有连接配置信息,发现接口ens33的两套配置信息只有一套生效了

而将未生效的连接配置文件生效之后发现之前已经生效的配置文件有没有生效。所以一个接口虽然可以有多套配置文件但是在同一时间,只能有一套配置文件生效。

 一个接口可以有多套配置文件,多套的配置文件中的接口是相同的,但UUID不能相同

 

 nmcli修改连接配置名

 nmcli connection modify 原连接配置名 connection id. 新连接配置名

 

nmcli 增加新的地址

 nmcli  connection modify 连接配置名 +ipv4。addresses  2.2.2.2/16

增加地址之后不会立刻生效。 

nmcli con up 连接配置名  

如图,现在ens34接口只有一个ip地址,现在要加一个地址

nmcli connection modify ens33 +ipv4.addresses 2.2.2.2/16

nmcli con up ens33

添加成功,再来看一下ens33接口的配置文件,发现已经添加了IP地址信息。

删除添加的地址

nmcli  connection delete 连接配置名 -ipv4。addresses  2.2.2.2/16

nmcli con up 连接配置名

 

网络接口配置-bonding

Bonding 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。

Mode 0 (balance-rr)

衡和容错的能力轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均

一个机器上面有两块网卡,第一个数据来了走第一个网卡,第二个数据来了走第二个网卡,第三个数据来了走第一个网卡,第四个数据来了就走第二个网卡。

Mode 1 (active-backup)

活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见(平时只有一个网卡工作,另一个网卡不工作,一旦这个工作的网卡坏了,那么不工作的网卡就会被激活,接替工作)

Mode 3 (broadcast)

广播策略:在所有的slave接口上传送所有的报文,提供容错能力(从远程来了一个数据,所有的网卡都能收到,并且都回应,就会出现一个dup!的提示)

 

nmcli 命令实现bonding

 A机器两个网卡都是主机模式

第一步:添加bonding接口

nmcli  con add type bond con-name mybond0  ifname mybond0  mode  active-backup

con-name 是连接配置名 ifname 是接口名 mode 是bond的模式

增加IP地址

nmcli connection modify 连接配置名 ipv4.method manual  ipv4.addresses 192.168.37.100/24

也可以写成一条添加接口时直接添加地址

nmcli  con add type bond con-name mybond0  ifname mybond0  mode  active-backup ipv4.method manual  ipv4.addresses 192.168.37.100/24

第二步:添加从属接口

nmcli con add type bond-slave  ifname  ens33  master mybond0

nmcli con add type bond-slave  ifname  ens34  master mybond0

注:如无为从属接口提供连接名,则该名称是接口名称加类型构成

第三步:要启动绑定,则必须首先启动从属接口

nmcli con up bond-slave-ens33

nmcli con up bond-slave-ens34

第四步:启动绑定

nmcli con up mybond0

 B机器的网卡也是主机模式,并且要保证和192.168.37.100在一个网段里面,然后去ping192.168.37.100

 查看bond0状态

cat  /proc/net/bonding/bond0

 

网络组Network Teaming

网络组:是将多个网卡聚合在一起的方法,从而实现冗错和提高吞吐量

网路组由内核驱动和teamd守护进程实现

多种方式runner(和bonding技术里的mode一样)

broadcast

roundrobin

activebackup

loadbalance

lacp(implements the 802.3ad Link Aggregation Control Protocol)

 

网络组

启动网络组接口不会自动启动网络组中的port接口

启动网络组接口中的port接口总会自动启动网络组接口

禁用网络组接口会自动禁用网络组中的port接口

没有port接口的网络组接口可以启动静态IP连接

启用DHCP连接时,没有port接口的网络组会等待port接口的加入

 

创建网络组

第一步:创建网络组接口:

nmcli  con  add type team  con-name  CNAME  ifname  INAME  config  JSON

CNAME 连接名,INAME接口名  

JSON指定runner 方式

格式:‘{“runner”:{“name”:“METHOD”}}

METHOD  可以是broadcast ,roundrobin,activebacup,loadbalance,lacp

给网络组接口配ip地址

nmcli con mod team0 ipv4.method manual pv4.addresses  192.168.37.100/24

第二步:创建从属接口

nmcli  con  add type team-slave con-name CNAME ifname  INAME  master TEAM

CNAME连接名

INAME网络接口名

TEAM网络组接口名

若连接名不指定,默认为team-slave-IFACE

第三步:启动网络组接口和从属接口

nmcli con up CNAME

 

查看team0的状态

teamdctl  team0  state

 

网络组示例:

nmcli  con  add type team  con-name team0 ifname  team0  config  '{"runner":{"name":"loadbalance"}}

nmcli con mod team0 ipv4.method manual pv4.addresses  192.168.37.100/24

nmcli con add type team-slave con-name team0-ens33  ifname ens33 master  team0

nmcli con add type team-slave con-name team0-ens34  ifname ens34 master  team0

nmcli  con up  team0

nmcli con up  team0-ens33

nmcli  con  up team0-ens34

 

网络组的配置文件在/etc/sysconfig/nework-scripts/ifcfg-team0

DEVICE=team0

DEVICETYPE=Team

TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"

BOOTPROTO=none

IPADDR0=172.25.5.100

PREFIX0=24

NAME=team0

ONBOOT=yes

 

删除网络组

nmcli connection  down team0

nmcli  connection delete  team0-ens33

nmcli connection delete  team0-ens33

 

网桥

桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以是的网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。

配置实现网桥

第一步:创建软件网桥接口并配上地址

nmcli  con add type  bridge  con-name  br0  ifname br0  ipv4.method  manual  ipv4.addresses  192.168.37.100

 第二步:创建网桥的从属接口

nmcli con  add type bridge-slave ifname ens33 master br0

nmcli con add type bridge-slave  ifname ens34 master br0

第三步:启动网桥接口和从属接口

nmcli con up br0

nmcli con  up bridge-slave-ens33

nmcli con up bridge-slave-ens34

 

网桥的配置文件/etc/sysconfig/network-scripts/ifcfi-网桥接口名

 

删除网桥

直接删除配置文件最干脆

然后再重新加载一下配置文件,nmcli  connection  reload

posted on 2019-03-08 18:21 坚定的眼神 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/libertylife/p/10497512.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人与自然《食虫猎手-下》

讲述了几种动物的捕食方法, 有蝙蝠,鱼,翠鸟,几种动物。没啥感觉!转载于:https://www.cnblogs.com/flex_fly/archive/2009/11/06/1597466.html

c/c++整理--c++面向对象(3)

一、与全局对象相比,使用静态数据成员有什么优势优势:(1)静态数据成员没有进入程序的全局命名空间,因此不存在程序中其他全局命名冲突的可能性。(2)使用静态数据成员可以隐藏信息。因为静态数据…

超棒的视差滚动效果javascript类库 - Jarallax

为什么80%的码农都做不了架构师?>>> 日期:2012-9-27 来源:GBin1.com 如果你没有听说过视差滚动的话,说明你真out了,作为2011年最流行的网站设计效果之一,给我们留下了深刻的印象,在…

HDFS的特性以及如何保证数据的一致性

链接:https://www.nowcoder.com/questionTerminal/962225fa78e74ba7b1d7d7792407acc6?orderByHotValue1&mutiTagIds629&page1&onlyReferencefalse 主要有以下6点: 1.安全模式: HDFS刚启动时,namenode进入安全模…

Ext js call方法

call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法参数…

c/c++整理--c++面向对象(4)

一、对静态数据成员的正确描述 下列对静态数据成员的描述中,正确的是 A、静态数据成员可以在类体中进行初始化 B、静态数据成员不可以被类的对象调用 C、静态数据成员不能收private控制符的作用 D、静态数据成员可以直接用类名调用 解析: A错误。静态数据…

PHP 逆转字符串与逆转句子

1 <?php2 #颠倒字符串3 4 #将字符串从头和尾向中间遍历&#xff0c;交换位置5 function cstrrev(&$str, $begin, $len) {6 $i $begin;7 $j $begin $len - 1;8 while ($i < $j) {9 $temp $str[$i]; 10 …

sublime中编译的sass如何改变css输出风格?【这里有答案】

由于在网上找了一遍没找到如果在sublime中将sass编译的css转换成为自己喜欢的风格&#xff0c;所以换了一种思路搜索到了答案&#xff0c;这里我将讲述如果更改。 首先sass总共有四种编译风格 &#xff08;1&#xff09; nested&#xff08;嵌套缩进、默认风格&#xff09; #ma…

关于更改当前公司(一)--ChangeCompany

AX支持多公司帐套&#xff0c;如果一个集团公司有多个分公司&#xff0c;可以通过创建多个公司帐套的方式来实现&#xff0c;在写代码的时候会遇到需要切换公司的时候&#xff0c;AX2009提供了两种方式来实现多公司数据的查询&#xff0c;内置方法ChangeCompany和关键字CrossCo…

c/c++整理--c++面向对象(5)

构造函数的使用 以下代码中的输出语句为0吗&#xff1f;为什么&#xff1f;#include <iostream> using namespace std; struct CLS { int m_i; CLS(int i):m_i(i){ } CLS() { CLS(0); } }; int main() { CLS obj; cout<<obj.m_i<<endl; retur…

西电网络攻防大赛--渗透测试第二题

地址&#xff1a;http://test.xdsec.org/1/ 使用google浏览器打开 点击Resources 找到cookie 发现key 不过也是加密的 猜测是base64加密 so&#xff0c;百度一个解密网站 就直接百度应用了 结果&#xff1a;g0NexTdo0r

非多态的继承情况下,基类指针可以指向派生类对象么?

class Base { // 基类 public:Base(int aa88) : a(aa) {}void f() { // 非virtualcout<<"Base"<<endl;}int a; }; class Derived : public Base { // 派生类 public:Derived(int ba 77, int bb 66) : a(ba), b(bb) {}void f() { // 非多态cout<<…

软件架构阅读笔记(引)

引&#xff1a; 软件架构的目的是发现软件的问题是什么&#xff0c;怎么解决。这些软件遇到的问题往往来自实际项目中。然而作为一个学生的我很少有机会接触实际是项目&#xff0c;所以阅读也是学习的一种方式。从他人的做法中&#xff0c;也可以学习到知识。 各大互联网公司架…

嘗試著去做

昨晚跟叔叔深談許久&#xff0c;得知一熟人開一小型印刷廠&#xff0c;現在需要一套進銷存的管理軟件。對於我本身就從事于這樣的工作崗位&#xff0c;聽及情況后也能明白其中的一些需求。於是決定通過自己的學習來嘗試著去開發一下這樣的軟件&#xff0c;藉助于公司目前使用的…

母函数题目

hdu 1028 Ignatius and the Princess III 母函数模板题 http://acm.hdu.edu.cn/showproblem.php?pid1028 题意&#xff1a; 整数的拆分。 母函数学习http://www.wutianqi.com/?p596 View Code #include <iostream> #include <cstdio> #include <cstring> …

c/c++整理--析构函数

c中虚析构函数的作用是什么&#xff1f;析构函数是为了在对象不被使用后释放它的资源&#xff0c;虚函数是为了实现多态。那么&#xff0c;把析构函数声明为virtual有什么作用呢&#xff1f; 请看下面代码&#xff1a;<span style"font-size:18px;">#include &…

多态情况下,怎么用基类指针去访问基类的虚函数?

class Base { // 基类 public:virtual void f() {cout<<"Base"<<endl;} }; class Derived : public Base { // 派生类 public:virtual void f() { // 最好加上该virtual cout<<"Derived"<<endl;} };int main(){Base* p new De…

2018-11-01 专栏一岁了-我为什么投身于普及用中文编程

知乎专栏于2017年11月9日开通, 之前只想写些中规中矩的年度小结, 但感觉有些东西不吐不快, 权当人生阶段报告吧. 最早对编程的接触在初中, 同学帮他家里玻璃厂写了个优化切割率的程序, 我看了点源码. 高中时想自学C未果. 00年大学志愿选了听起来和计算机很接近的信息工程专业, …

VB-VB.NET中 从字符串“XX”到类型“Double”的转换无效

最近在做一个vb.net写的一个网站&#xff0c;有一次同学有个问题问我&#xff0c;说程序总是抛出“从字符串“aa”到类型“Double”的转换无效”的错误。我过去一 看是个操作数据库的函数&#xff0c;我一开始想到的就是给参数赋值赋错了&#xff0c;引发的数据库的错误。然后就…

c++整理--函数重载

一、为什么C语言不支持函数重载而c能支持 什么是函数重载&#xff1f;为什么C语言不支持函数重载&#xff0c;而c能支持函数重载&#xff1f; 解析&#xff1a;函数重载是用来描述同名函数具有相同或者相似的功能&#xff0c;但数据类型或者是参数不同的函数管理操作。在C语言里…