Linux|Linux之nmcli
nmcli nmcli(networkmangager command line tool)基于会话的网络管理
了解nmcli选型 type — 连接类型。
允许值为:adsl, bond, bond-slave, bridge, bridge-slave, bluetooth, cdma,每个连接了类型都有具体类型的命令选项。按 Tab 键查看该列表,或查看 nmcli(1) man page 中的 TYPE_SPECIFIC_OPTIONS 列表。type 选项可用于如下命令:nmcli connection add 和 nmcli connection edit。
ethernet, gsm, infiniband, olpc-mesh, team, team-slave, vlan, wifi,wimax.
con-name — 为连接配置分配的名称。
如果未指定连接名称,则会以如下格式生成名称:
type-ifname[-number]
id — 用户为连接配置文件分配的身份字符串。
可在 nmcli connection 命令中用来识别某个连接的 ID。输出结果中的 NAME 字段永远代表连接 ID(名称)。它指的是 con-name 给出的同一连接配置文件名称。
uuid — 系统为连接配置文件分配的独有身份字符串。
可在 nmcli connection 命令中用来识别某个连接的 UUID。
使用nmcli手动配置网络
[root@redhat ~]# nmcli connection modify ens160 ipv4.addresses 192.168.159.150/24 ipv4.gateway 192.168.159.2 ipv4.dns 114.114.114.144 ipv4.method manual connection.autoconnect yes
最后重启网络连接即可
teaming技术配置网卡聚合链路 所谓teaming技术就是把同一台服务器上的多个物理网卡通过软件绑定成一个虚拟的网卡,也就是说,对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址。
之所以要利用Teaming 技术,除了利用多网卡同时工作来提高网络速度以外,还有可以通过Teaming 实现不同网卡之间的负载均衡(Load balancing)和网卡冗余(Fault tolerance)。
配置链路聚合 在system1和system2之间按以下要求配置一个聚合链路:
此链路使用接口eno3和eno5
此链路在一个接口失效时仍然能够工作
此链路在system1使用下面的地址192.168.xxx.xxx/255.255.255.0
添加两块NAT模式的网卡
文章图片
[root@redhat ~]# nmcli device show
文章图片
查看网卡状态
当前状态为未连接会话
[root@redhat ~]# nmcli device status
DEVICETYPESTATECONNECTION
ens160ethernetconnectedens160
virbr0bridgeconnected (externally)virbr0
ens224ethernetdisconnected--
ens256ethernetdisconnected--
loloopbackunmanaged--
virbr0-nictununmanaged--
激活两块网卡实现会话连接
[root@redhat ~]# nmcli device connect ens224
Device 'ens224' successfully activated with '37a4f01f-113e-47a6-9b0f-90a504a9980d'.
[root@redhat ~]# nmcli device connect ens256
Device 'ens256' successfully activated with 'ed2fc778-e87f-44d8-a9ca-efee3293d85b'.
查看状态
已经实现连接
[root@redhat ~]# nmcli device status
DEVICETYPESTATECONNECTION
ens160ethernetconnectedens160
ens224ethernetconnectedens224
ens256ethernetconnectedens256
virbr0bridgeconnected (externally)virbr0
loloopbackunmanaged--
virbr0-nictununmanaged--
添加虚拟设备
[root@redhat ~]# nmcli connection add type team con-name team0 ifname team0 config'{"runner":{"name":"activebackup"}}'
Error: invalid >. 'config{"runner":{"name": "activebackup"}}'. //发生错误,这个错误就是由于config后面未空格写在了一起[root@redhat ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
Connection 'team0' (622c0b70-68ca-4c81-bf0c-f8f9dbecf7fb) successfully added.
[root@redhat ~]# nmcli connection show//查看是否添加成功
NAMEUUIDTYPEDEVICE
team0622c0b70-68ca-4c81-bf0c-f8f9dbecf7fbteamteam0
ens160fb9f09a5-677d-4d17-a4dd-afba85b4a9b4ethernetens160
ens22437a4f01f-113e-47a6-9b0f-90a504a9980dethernetens224
ens256ed2fc778-e87f-44d8-a9ca-efee3293d85bethernetens256
virbr0503c64e5-6c2e-467a-a385-c42f7f7cebd5bridgevirbr0
将两块网卡分别作为接口加入虚拟设备中
[root@redhat ~]# nmcli connection add type team-slave con-name eno3 ifname ens224 master team0
Connection 'eno3' (80691218-f1a5-460e-9557-423137353b22) successfully added.
[root@redhat ~]# nmcli connection add type team-slave con-name eno5 ifname ens256 master team0
Connection 'eno5' (85cd8d75-2863-4811-8c97-d721d2550189) successfully added.
[root@redhat ~]# nmcli connection show//此时的接口只是加入虚拟设备但未激活
NAMEUUIDTYPEDEVICE
team0622c0b70-68ca-4c81-bf0c-f8f9dbecf7fbteamteam0
ens160fb9f09a5-677d-4d17-a4dd-afba85b4a9b4ethernetens160
ens22437a4f01f-113e-47a6-9b0f-90a504a9980dethernetens224
ens256ed2fc778-e87f-44d8-a9ca-efee3293d85bethernetens256
virbr0503c64e5-6c2e-467a-a385-c42f7f7cebd5bridgevirbr0
eno380691218-f1a5-460e-9557-423137353b22ethernet--
eno585cd8d75-2863-4811-8c97-d721d2550189ethernet--
激活接口
[root@redhat ~]# nmcli connection up eno3
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@redhat ~]# nmcli connection up eno5
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@redhat ~]# nmcli connection show
NAMEUUIDTYPEDEVICE
ens160fb9f09a5-677d-4d17-a4dd-afba85b4a9b4ethernetens160
team0622c0b70-68ca-4c81-bf0c-f8f9dbecf7fbteamteam0
virbr0503c64e5-6c2e-467a-a385-c42f7f7cebd5bridgevirbr0
eno380691218-f1a5-460e-9557-423137353b22ethernetens224
eno585cd8d75-2863-4811-8c97-d721d2550189ethernetens256
ens22437a4f01f-113e-47a6-9b0f-90a504a9980dethernet--
ens256ed2fc778-e87f-44d8-a9ca-efee3293d85bethernet--
【Linux|Linux之nmcli】查看team0的状态
[root@redhat ~]# teamdctl team0 stat
setup:
runner: activebackup
ports:
ens224
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens256
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens224
查看此时team0的IP地址
[root@redhat ~]# ip a
team0: mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:b0:ee:d7 brd ff:ff:ff:ff:ff:ff
inet 192.168.159.141/24 brd 192.168.159.255 scope global dynamic noprefixroute team0
valid_lft 1771sec preferred_lft 1771sec
inet6 fe80::8835:7884:9f9a:2e77/64 scope link noprefixroute
valid_lft forever preferred_lft forever
断开eno3接口测试,查看虚拟网卡是否能偶正常运行
[root@redhat ~]# nmcli connection down eno3
Connection 'eno3' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@redhat ~]# teamdctl team0 stat
setup:
runner: activebackup
ports:
ens256
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens256
[root@redhat ~]# nmcli connection show
NAMEUUIDTYPEDEVICE
ens160fb9f09a5-677d-4d17-a4dd-afba85b4a9b4ethernetens160
ens22437a4f01f-113e-47a6-9b0f-90a504a9980dethernetens224
team0622c0b70-68ca-4c81-bf0c-f8f9dbecf7fbteamteam0
virbr0503c64e5-6c2e-467a-a385-c42f7f7cebd5bridgevirbr0
eno585cd8d75-2863-4811-8c97-d721d2550189ethernetens256 //正在运行的接口
eno380691218-f1a5-460e-9557-423137353b22ethernet--
ens256ed2fc778-e87f-44d8-a9ca-efee3293d85bethernet--
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息