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

介绍

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

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

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


  1. [root@localhost ~]# ip addr show

示例输出:


  1. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  2. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  3. inet 127.0.0.1/8 scope host lo
  4. valid_lft forever preferred_lft forever
  5. inet6 ::1/128 scope host
  6. valid_lft forever preferred_lft forever
  7. 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  8. link/ether 00:0c:29:67:2f:4c brd ff:ff:ff:ff:ff:ff
  9. inet 192.168.1.51/24 brd 192.168.1.255 scope global eno16777736
  10. valid_lft forever preferred_lft forever
  11. inet6 fe80::20c:29ff:fe67:2f4c/64 scope link
  12. valid_lft forever preferred_lft forever

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


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

示例输出:

得到路由配置


  1. [root@localhost ~]# ip route

示例输出:


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

分析主机/网站路径


  1. [root@localhost ~]# tracepath unixmen.com

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

nmcli 工具

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

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

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


  1. [root@localhost ~]# nmcli connection show

得到特定连接的详情


  1. [root@localhost ~]# nmcli connection show eno1

示例输出:

得到网络设备状态


  1. [root@localhost ~]# nmcli device status


  1. DEVICE TYPE STATE CONNECTION
  2. eno16777736 ethernet connected eno1
  3. lo loopback unmanaged --

使用“dhcp”创建新的连接


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

这里,

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

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

示例输出:


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

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


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

示例输出:


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

更新连接:


  1. [root@localhost ~]# nmcli connection up eno1

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


  1. [root@localhost ~]# ip addr show

添加DNS设置到静态连接中


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

添加更多的DNS


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

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

添加一个额外的ip地址


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

使用命令刷新设置:


  1. [root@localhost ~]# nmcli connection up eno1

你会看见,设置生效了。

完结。

本文来自合作伙伴“Linux中国”,原文发布日期:2015-09-17

时间: 2024-09-20 19:29:12

Nmcli 网络管理命令行工具基础的相关文章

Java核心技术卷I基础知识2.2 使用命令行工具

2.2 使用命令行工具 如果在此之前有过使用Microsoft Visual Studio等开发环境编程的经验,你可能会习惯于有一个内置文本编辑器.用于编译和启动程序的菜单以及调试工具的系统.JDK完全没有这些功能.所有工作都要在终端窗口中键入命令来完成.这听起来很麻烦,不过确实是一个基本技能.第一次安装Java时,你可能希望在安装开发环境之前先检查Java的安装是否正确.另外,通过自己执行基本步骤,你可以更好地理解开发环境的后台工作. 不过,掌握了编译和运行Java程序的基本步骤之后,你可能就

手把手教你利用命令行工具创建LinuxMac系统下的网站备份

创建网站备份应该是一个网站管理员最为重要的日常工作之一.但现实情况是,备份这一步往往被很多人忽略,也就是说仍然有很多网管的网站安全意识较低. 所有的Linux/Mac用户都能够零经济成本地通过命令行工具创建网站备份.如果你用的不是Linux/Mac,请关注我们的后续文章--如何在windows上通过软件方式创建备份. 本文的初衷不是为读者提供完整的备份解决方案,而是给那些有时间并且想要学习一些基础的命令行工具进行网站备份的宝宝们一点参考. 必要条件 你的主机必须具备必要的软件及证书. (1) 服

Nodejs进阶:readline实现日志分析+简易命令行工具

本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 模块概览 readline是个非常实用的模块.如名字所示,主要用来实现逐行读取,比如读取用户输入,或者读取文件内容.常见使用场景有下面几种,本文会逐一举例说明.本文相关代码可在笔者github上找到. 文件逐行读取:比如说进行日志分析. 自动完成:比如输入npm,自动提示"help init install". 命令行工具:比如npm init这种问答

Linux命令行工具使用小贴士及技巧(一)

相关内容 如果你刚开始在 Linux 系统中使用命令行工具,那么你应该知道它是 Linux 操作系统中功能最强大和有用的工具之一.学习的难易程度跟你想研究的深度有关.但是,无论你的技术能力水平怎么样,这篇文章中的一些小贴士和技巧都会对你有所帮助. 在本系列的文章中,我们将会讨论一些非常有用的命令行工具使用小技巧,希望你的命令行使用体验更加愉快. 但是在开始下一步之前,我得强调一点,这篇文章中的测试实例都是在 Ubuntu 14.04LTS 系统下测试通过的.我们使用命令行 Shell 版本是 b

使用Python编写类UNIX系统的命令行工具的教程_python

引言 您是否能编写命令行工具?也许您可以,但您能编写出真正好用的命令行工具吗?本文讨论使用 Python 来创建一个强健的命令行工具,并带有内置的帮助菜单.错误处理和选项处理.由于一些奇怪的原因,很多人并不了解 Python? 的标准库具有制作功能极其强大的 *NIX 命令行工具所需的全部工具. 可以这样说,Python 是制作 *NIX 命令行工具的最佳语言,因为它依照"batteries-included"的哲学方式工作,并且强调提供可读性高的代码.但仅作为提醒,当您发现使用 Py

Linux 命令行工具使用小贴士及技巧(一)

相关内容 如果你刚开始在 Linux 系统中使用命令行工具,那么你应该知道它是 Linux 操作系统中功能最强大和有用的工具之一.学习的难易程度跟你想研究的深度有关.但是,无论你的技术能力水平怎么样,这篇文章中的一些小贴士和技巧都会对你有所帮助. 在本系列的文章中,我们将会讨论一些非常有用的命令行工具使用小技巧,希望你的命令行使用体验更加愉快. 但是在开始下一步之前,我得强调一点,这篇文章中的测试实例都是在 Ubuntu 14.04LTS 系统下测试通过的.我们使用命令行 Shell 版本是 b

命令行工具2

1,自己做的一个命令行工具  执行结果:    

推荐给开发人员的实用命令行工具

作为一名Web开发者,当程序出现问题时日子总不是那么好过.问题可能无处不在,可能是你发送的请求出了错,可能是回复出了错,可能是你使用的某个第三方库出了问题,又或者是一个外部API调用失败了.优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工作更有效率.命令行工具尤其有用,因为它们非常易于做自动化和脚本处理,能够以各种不同的方式进行组合和重用.本文介绍了6个非常强大且灵活的工具,熟练使用这些工具能使你的生活变得更轻松一些. Curl Cu

Android测试教程(17):Monkey 命令行工具

写完应用之后,作完单元测试和功能测试,有必要对应用的抗打击能力做个测试,最好的方法是雇个"猴子"在测试,猴子 可以胡乱瞎按键,在这种情况下,你的应用是否还能正常工作呢? Android 测试包中提供了一个Monkey工具,就提供了"猴 子"功能,不过比真"猴子"还要智能一些,你还可以指挥这个猴子, 比如按键的比例,触发某个事件的频率等等. 一 个简单的用法,比如你的应用程序的包名为:com.pstreets.navigator 可以使用  adb