linux命令nmcli,linux命令手册

Linux中使用nmcli配置网络

以前都是使用ifconfig来配置网络,今天开始尝试使用nmcli 。

创新互联-专业网站定制、快速模板网站建设、高性价比阜南网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式阜南网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖阜南地区。费用合理售后完善,十余年实体公司更值得信赖。

1、网络接口名称

centos7或者红帽7中,以en开头标识以太网,之前的版本是eth开头。同时,wl标识waln接口,ww标识wwan接口。

接下里就是网卡类型, p代表pci物理位置,o代表板载,s代表热插拔。最后数字表示索引、id或端口。 比如笔者的虚拟机上enp0s3,pci网卡slot3。

如果无法确定固定名称则采用传统的ethn的方式。

2、查看网络配置

使用ip addr显示ip地址,ip addr show eth0显示网卡eth0 , ip -s link show eth0 显示连接状态,可用查看到数据包。netstat -i也可以罗列网卡并查看数据流量。

3、查看路由与排查

ip route检查系统路由表,

ping网关地址。ping -c4是ping 4次, timeout 4则是超时时间4秒。

tracepath或者traceroute命令追踪到目标主机的网络状态。

4、端口与服务

TCP服务使用套接字.socket作为通信的端点,其由IP地址、协议和端口组成。服务器通常监听标准端口,客户端使用随机可用端口。标准端口在/etc/services中列出。

查看监听端口:ss和netstat命令。

5、使用nmcli查看网络

networkmanager是监控和管理网络的守护进程,可用通过命令行与图形界面来与networkmanager通信,并将配置文件保存在/etc/sysconfig/network-scripts目录中。

使用nmcli查看网络信息:

nmcli con show  查看网络接口

nmcli con show --active  查看活动网络接口

nmcli con show  "enp0s3"  查看enp0s3网络的详情信息

nmcli device status 查看设备的信息

nmcli device show enp0s3  查看 enp0s3设备的信息

6、使用nmcli配置网络

可以为网络设备配置多个网络连接(配置文件),但是一次只能由一个保持活动状态。

创建一个"default"新连接,并使用dhcp获取网络。

nmcli con add con-name "default" type ethernet ifname eth0

创建一个静态连接,配置静态IP,并设置不自动连接。

nmcli con add con-name "static" type ethernet ifname eth0 autoconnect no ip4 172.25.0.12/24 gw4 172.25.0.254

更改为静态链接。

nmcli con up "static"

更改为dhcp链接。

nmcli con up "default"

查看使用信息。

nmcli con  add  help

修改配置,过多就不阐述了。

nmcli con mod

nmcli 命令摘要:

7、编辑网络配置文件

接口配置文件时控制单个网络设备的软件接口,网络设备可以有多个配置文件,但是只有一个时激活状态。

ifcfg配置文件选项(辅助IP地址将配置文件中的选项添加1)

配置过程:

a、修改 ifcfg配置文件

b、使用nmcli命令使配置生效或者重启进程

nmcli con reload

nmcli con down “ID”  ,nmcli con up “ID”

c、通过ping验证网络配置

8、主机名和名称解析

hostname 查看主机名

hostnamectl status 查看主机信息

hostnamectl set-hostname 设置主机名

静态主机名储存在/etc/hostname文件中。名称解析用于将主机名转为IP地址,反之亦可,在/etc/hosts中定义。

可用使用getent hosts your_hostname,利用/etc/hosts来测试主机名解析。

如果/etc/hosts中没有,则会查找/etc/ resolv.conf文件。

Linux配置网络参数之IP地址、子网掩码、网关地址,DNS

修改网卡命令规则 (eth0、eth1、eth2……)

打开grub内核引导程序,在……quiet 后面添加:

让网卡命名规则生效

nmcli命令删除错误网卡命名

nmcli命令添加网卡命名

解析: nmcli connection 添加 类型 以太网设备 网卡设备名为eth0 nmcli命令的命名为eth0

修改IP地址、子网掩码、网关地址、DNS

解析:nmcli connection 修改 网卡名 ipv4.方法 手工配置 ipv4.地址192.168.4.7/24 ipv4.网关 192.168.4.254 每次开机自动启用以上所有参数

查看网卡配置文件

查看网关地址信息

Linux系统如何配置链路聚合,实现流量负载均衡?

本文主要解决3个问题:

第一、链路聚合的定义和作用是什么?

第二、如何配置链路聚合?

第三、链路聚合的实际应用场景有那些?

第一、链路聚合的定义和作用是什么?

答:链路聚合的定义:链路聚合,官方称聚合链接,民间又称网卡组队,具体指的是将多个网卡绑定在一起组建一个虚拟网卡,外界与虚拟网卡进行通信,虚拟网卡再将信息进行分发;

链路聚合的作用:可以实现轮询式的流量负载均衡和热备份的作用;

举个栗子:

链路聚合就好比是一个包工头,这个包工头为了多赚钱,多接订单,肯定需要找多个小弟;

这样就可以保障,万一有一个小弟感冒了,不能上班,这时有其他小弟可以顶上;

当客户需要盖房子的时候,直接找包工头就好了,不需要一个一个的去找建筑工人;

第二、如何配置链路聚合?

答:

1、配置链路聚合的命令是:

nmcli connection add type team con-name team0 ifname team0 autoconnect  yes  config  '{"runner": {"name": "activebackup"}}'

译为:nmcli connection 添加 类型 team(组队)

配置文件名  team0  网卡名  team0  每次开机自动启用

配置运行模式  热备份模式

整体译为:为系统网卡添加一个 team (团队),团队名称叫 team0 ,配置文件也叫 team0 , 并且设置为开机自动启动,配置运行模式为热备份模式;

2、为链路聚合添加成员的命令是:

nmcli connection add type team-slave  con-name team0-1  ifname eth1 master team0 ;

nmcli connection add type team-slave con-name team0-2 ifname eth2 master team0;

注释:nmcli connection 添加 类型为 team的成员

      配置文件名  team0-1  网卡为 eth1  主设备为  team0

整体译为:为主设备team0添加两张网卡,eth1和eth2;

3、为tem0配置ip地址的命令是:

nmcli connection modify team0 ipv4.method manual ipv4.addresses 

“IP 地址 / 子网掩码”    connection.autoconnect yes

4、激活team0的命令是:      

nmcli connection up team0

第三、链路聚合的实际应用场景有那些?

答:当服务器提供比较重要的服务时,只准备一张网卡是远远不够的,因为一但网卡出现故障,客户就无法访问,这就会造成客户流失,体验感差;

这个时候就可以运用链路聚合的方法来解决,将多张网卡绑定在一起创建一张虚拟网卡,从而实现网卡热备份,流量轮询式负载均衡;

以此来保障服务器能够正常提供服务,给用户以良好的体验;

注意事项:

在创建虚拟网卡和添加成员时,如果命令敲错了,一定要删除错误的信息,以免造成通信混乱;

删除的命令是:nmcli  connection delete team0  (team0或team x)

查看team0的信息命令是:     teamdctl   team0  state  

以上.......

(本篇完)

祝:开心!

罗贵

2019-03-24

Linux配置ip地址的两种方法

Linux配置ip地址的两种方法,实验环境为centos7.6

方法1:nmcli工具配置 (centos7以下版本不支持该方法)

第一步,通过nmcli connection查看网卡名称

[root@localhost ~]# nmcli connection

NAME UUID TYPE DEVICE

eth0  09be0948-faf1-43b6-a5a4-c19efab0bb48 ethernet eth0

第二步,配置ip,网关,dns,并设置网卡开机自动启动,最后开启网卡

[root@localhost ~]# nmcli connection modify eth0 ipv4.addresses "192.168.1.201/24"

说明:配置地址和掩码

[root@localhost ~]# nmcli connection modify eth0 ipv4.gateway "192.168.1.1"

说明:配置网关

[root@localhost ~]# nmcli connection modify eth0 ipv4.dns "180.76.76.76"

说明:配置dns

[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual

说明:地址获取的方法为手动配置而不是dhcp

[root@localhost ~]# nmcli connection modify eth0 autoconnect yes

说明:开机自动打开网卡

[root@localhost ~]# nmcli connection up eth0

说明:立即打开网卡

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

第三步,查看结果(这里使用ip addr命令查看,较新版本Linux系统支持该命令)

[root@localhost ~]# ip addr

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:84:23:62 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.201/24  brd 192.168.1.255 scope global noprefixroute eth0

valid_lft forever preferred_lft forever

inet6 fe80::b7ad:e2ed:832e:99a9/64 scope link noprefixroute

valid_lft forever preferred_lft forever

测试通信

[root@localhost ~]# ping

PING (61.135.169.121) 56(84) bytes of data.

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=53 time=34.7 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=53 time=27.9 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=3 ttl=53 time=24.1 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=4 ttl=53 time=25.2 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=5 ttl=53 time=24.2 ms

^C

--- ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4005ms

rtt min/avg/max/mdev = 24.177/27.277/34.718/3.970 ms

方法2:通过vi编辑网卡配置文件(最新版rhel8或centos8不推荐该方法,老版本rhel6及以下推荐该方法)

第一步,通过vi或vim打开配置文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

第二步,编辑相关的参数

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0

UUID=09be0948-faf1-43b6-a5a4-c19efab0bb48

DEVICE=eth0

ONBOOT=yes

IPADDR=192.168.1.202

PREFIX=24

GATEWAY=192.168.1.1

DNS1=180.76.76.76

PEERDNS=no

vi的编辑方法是,输入字母i,进行编辑,编辑完成后,按esc,再按:wq 保存退出。如果不保存,则是:q!退出

第三步,重启网络服务

[root@localhost ~]# service network restart

Restarting network (via systemctl): [ OK ]

第四步,查看结果并测试通信(这里用ifconfig命令来查看,各种版本Linux均支持该命令)

[root@localhost ~]# ifconfig eth0

eth0: flags=4163 mtu 1500

inet 192.168.1.202 netmask 255.255.255.0 broadcast 192.168.1.255

inet6 fe80::b7ad:e2ed:832e:99a9 prefixlen 64 scopeid 0x20

ether 00:0c:29:84:23:62 txqueuelen 1000 (Ethernet)

RX packets 1117 bytes 127303 (124.3 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 564 bytes 69559 (67.9 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@localhost ~]# ping

PING (61.135.169.125) 56(84) bytes of data.

64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=53 time=28.2 ms

64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=53 time=30.9 ms

^C

--- ping statistics ---

3 packets transmitted, 2 received, 33% packet loss, time 2003ms

rtt min/avg/max/mdev = 28.228/29.590/30.953/1.373 ms

[root@localhost ~]#

配置地址的两种方法就介绍到这里。

但是查看地址时,我们并没有看到网关和dns,那么网关和dns怎么看呢,用以下两条命令即可

[root@localhost ~]# route -n 通过查看路由表来知道网关

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0

[root@localhost ~]# cat /etc/resolv.conf 通过查看rsolv.conf文件来查看dns

# Generated by NetworkManager

nameserver 180.76.76.76

更多网络技术公开课,腾讯课堂搜“ 众元教育 ”,戳 免费公开课 ,可直接听课哦!


网页名称:linux命令nmcli,linux命令手册
文章路径:http://scyanting.com/article/hcjdsj.html