❏ 站外平台:

Nmcli 网络管理命令行工具基础

作者: Rajneesh Upadhyay 译者: LCTT geekpi

| 2015-09-17 10:57   评论: 5 收藏: 4    

介绍

在本教程中,我们会在CentOS / RHEL 7中讨论网络管理命令行工具NetworkManager command line tool,也叫nmcli。那些使用ifconfig的用户应该在CentOS 7中避免使用ifconfig 了。

让我们用nmcli工具配置一些网络设置。

要得到系统中所有接口的地址信息

[root@localhost ~]# ip addr show

示例输出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 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: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 00:0c:29:67:2f:4c brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.51/24 brd 192.168.1.255 scope global eno16777736
 valid_lft forever preferred_lft forever
 inet6 fe80::20c:29ff:fe67:2f4c/64 scope link 
 valid_lft forever preferred_lft forever

检索与已连接的接口相关的数据包统计

[root@localhost ~]# ip -s link show eno16777736

示例输出:

得到路由配置

[root@localhost ~]# ip route

示例输出:

default via 192.168.1.1 dev eno16777736 proto static metric 100 
192.168.1.0/24 dev eno16777736 proto kernel scope link src 192.168.1.51 metric 100

分析主机/网站路径

[root@localhost ~]# tracepath unixmen.com

输出像traceroute,但是更加完整。

nmcli 工具

nmcli 是一个非常丰富和灵活的命令行工具。nmcli使用的情况有:

  • 设备 – 正在使用的网络接口
  • 连接 – 一组配置设置,对于一个单一的设备可以有多个连接,可以在连接之间切换。

找出有多少连接服务于多少设备

[root@localhost ~]# nmcli connection show

得到特定连接的详情

[root@localhost ~]# nmcli connection show eno1

示例输出:

得到网络设备状态

[root@localhost ~]# nmcli device status

 DEVICE               TYPE              STATE          CONNECTION 
eno16777736            ethernet      connected              eno1 
lo                     loopback      unmanaged               --

使用“dhcp”创建新的连接

[root@localhost ~]# nmcli connection add con-name "dhcp" type ethernet ifname eno16777736

这里,

  • connection add – 添加新的连接
  • con-name – 连接名
  • type – 设备类型
  • ifname – 接口名

这个命令会使用dhcp协议添加连接

示例输出:

Connection 'dhcp' (163a6822-cd50-4d23-bb42-8b774aeab9cb) successfully added.

不通过dhcp分配IP,使用“static”添加地址

[root@localhost ~]# nmcli connection add con-name "static" ifname eno16777736 autoconnect no type ethernet ip4 192.168.1.240 gw4 192.168.1.1

示例输出:

Connection 'static' (8e69d847-03d7-47c7-8623-bb112f5cc842) successfully added.

更新连接:

[root@localhost ~]# nmcli connection up eno1

再检查一遍,ip地址是否已经改变

[root@localhost ~]# ip addr show

添加DNS设置到静态连接中

[root@localhost ~]# nmcli connection modify "static" ipv4.dns 202.131.124.4

添加更多的DNS

[root@localhost ~]# nmcli connection modify "static" +ipv4.dns 8.8.8.8

注意:要使用额外的+符号,并且要是+ipv4.dns,而不是ip4.dns

添加一个额外的ip地址

[root@localhost ~]# nmcli connection modify "static" +ipv4.addresses 192.168.200.1/24

使用命令刷新设置:

[root@localhost ~]# nmcli connection up eno1

你会看见,设置生效了。

完结。


via: http://www.unixmen.com/basics-networkmanager-command-line-tool-nmcli/

作者:Rajneesh Upadhyay 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出



最新评论

[1]
来自湖北武汉的 Firefox 40.0|Fedora 用户 发表于 2015-09-17 21:54 的评论:
老实说我觉得nmcli和firewall-cmd都是灾难。
[2]
linux [Chrome 45.0|Mac 10.10] 发表于 2015-09-18 09:27 的评论:
我是觉得,这么冗长的命令和参数,其实对于英语国家来说,毫无感觉,而对于非英语国家,总是不太友好。
来自四川成都的 Chrome 45.0|GNU/Linux 用户 2015-09-18 10:15 8 回复
现在 GNU 包的很多软件都同时支持短参数和长参数格式,甚至部分参数只有长的没有短的。长参数格式有一个好处是,具有一定的自解释功能,方便用户了解命令具体执行什么操作。而且像 nmcli 这些较新的命令,也支持参数缩写。比如 nmcli connection 可以缩写为 nmcli co。
[1]
来自湖北武汉的 Firefox 40.0|Fedora 用户 发表于 2015-09-17 21:54 的评论:
老实说我觉得nmcli和firewall-cmd都是灾难。
来自四川成都的 Chrome 45.0|GNU/Linux 用户 2015-09-17 22:38 6 回复
没觉得,nmcli 可以一站式完成几乎所有网络配置。而 firewall-cmd 也很方便。不是所有人都精通 iptables。
来自四川成都的 Chrome 45.0|GNU/Linux 用户 2015-09-17 13:19 9 回复
# 看 IP
nmcli dev show eno????
# 设 DNS
nmcli connection modify "static" ipv4.dns "1.2.3.4, 5.6.7.8"
LCTT 译者
geekpi 💎💎💎💎
共计翻译: 2095.5 篇 | 共计贡献: 3750
贡献时间:2013-10-25 -> 2024-01-31
访问我的 LCTT 主页 | 在 GitHub 上关注我


返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。