[转帖]LINUX网络配置---nmtui&nmcli

LINUX网络配置---nmtui&nmcli

https://blog.51cto.com/13625527/2151853?source=dra

两年前曾经打打印过 几页命令 里面就有 nmcli 和 nmtui  但是一直记不住...

这次再加深一下 但是我感觉 我还是记不住..

进击的闪电关注0人评论2686人阅读2018-07-29 19:08:56

网络配置方法
要使用NetworkManager的文本用户界面工具nmtui配置接口
要使用NetworkManager的命令行工具nmcli配置接口
要手动配置网络接口
要使用图形用户界面工具配置网络

nmtui
文本用户界面工具nmtui可用于在终端窗口中配置接口。 发出以下命令以启动该工具:
?] $ nmtui

安装包
yum install NetworkManager-tui

nmcli
用户和脚本可以使用nmcli实用程序来控制NetworkManager:

 对于服务器,headless machines和终端,nmcli可用于直接控制NetworkManager,无需GUI,包括创建,编辑,启动和停止网络连接以及查看网络状态。
 对于脚本,nmcli支持简洁的输出格式,更适合脚本处理。 这是一种集成网络配置而非手动管理网络连接的方法。

nmcli命令的基本格式如下:

nmcli OPTIONS OBJECT {COMMAND | help }

其中OBJECT可以是以下选项之一: general, networking, radio, connection, device, agent, and monitor。 您可以在命令中使用这些选项的任何前缀。 例如:nmcli con help。
-t
此模式设计适用于计算机(脚本)处理。
-p
这导致nmcli产生人类可读的输出。例如,对齐值并打印标题。
-h,帮忙
打印帮助信息。
nmcli工具有一些内置的上下文相关帮助:
nmcli help 
此命令列出要在后续命令中使用的可用选项和对象名称。
nmcli object help
此命令显示与指定对象相关的可用操作列表。例如,
nmcli c help

NetworkManager的整体状态:
nmcli general status
当前的NetworkManager日志记录状态:
nmcli general logging
所有连接:
nmcli connection show
只有当前活动的连接,添加--active(或-a)选项,如下所示:
nmcli connection show --active
NetworkManager识别的设备及其状态:
nmcli device status

使用nmcli启动和停止接口
nmcli工具可用于启动和停止任何网络接口
nmcli con up id bond0
nmcli con up id port0
nmcli dev disconnect bond0
nmcli dev disconnect ens3

nmcli connection down命令用于停用设备的连接,而不会阻止设备进一步自动激活。
nmcli device disconnect命令用于断开设备连接并防止设备自动激活其他连接,无需人工干预。

nmcli交互式连接编辑器
nmcli工具有一个交互式连接编辑器。要使用它,请输入以下命令:

?] $ nmcli con edit

系统将提示您从显示的列表中输入有效的连接类型。输入连接类型后,您将被置于nmcli提示符下。如果您熟悉连接类型,则可以向nmcli con edit命令添加有效的连接类型选项,并直接进入nmcli提示符。编辑现有连接配置文件的格式如下:

nmcli con edit [id | uuid |path] ID

要编辑新的连接配置文件,以下格式适用:

nmcli con edit [type new-connection-type] [con-name new-connection-name]

在nmcli提示符下键入help以查看有效命令列表。使用describe命令获取设置及其属性的描述。格式如下:

describe setting.property

例如:

nmcli> describe team.config

创建和修改连接配置文件
连接配置文件包含连接到数据源所需的连接属性信息。 要为NetworkManager创建新的配置文件,请使用以下命令:

nmcli c add {ARGUMENTS}

nmcli c add接受两种不同类型的参数:

 NetworkManager用于在内部描述连接的名称。 最重要的是:

connection.type
nmcli c add connection.type bond

    connection.interface-name

    nmcli c add connection.interface-name eth0

    connection.id

    nmcli c add connection.id "My Connection"

     有关属性及其设置的更多信息,请参见man nm-settings

别名
在内部翻译为属性的人类可读名称。 最常见的是:
type (the connection.type property)

    nmcli c add type bond

    ifname (the connection.interface-name property)

    nmcli c add ifname eth0

    con-name (the connection.id property)

    nmcli c add con-name "My Connection"

在以前的nmcli版本中,使用别名创建所需的连接。 例如,ifname eth0和con-name My Connection。 可以使用以下格式的命令:
nmcli c add type ethernet ifname eth0 con-name "My Connection"

在更新的版本中,属性名称和别名可以互换使用。 以下示例均有效且等效:
nmcli c add type ethernet ifname eth0 con-name "My Connection" ethernet.mtu 1600

nmcli c add connection.type ethernet ifname eth0 con-name "My Connection" ethernet.mtu 1600

nmcli c add connection.type ethernet connection.interface-name eth0 connection.id "My Connection" ethernet.mtu 1600

参数根据连接类型而不同。 对于所有连接类型,只有type参数是必需的,而对于除bond,team,bridge和vlan之外的所有类型,ifname是必需的。

type type_name
连接类型。 例如:

nmcli c add type bond

ifname interface_name
用于绑定连接的接口。 例如:
nmcli c add ifname interface_name type ethernet

要修改连接配置文件的一个或多个属性,请使用以下命令:
nmcli c modify

例如,要将connection.id从My Connection更改为My favorite connection,将connection.interface-name更改为eth1,请按如下方式发出命令:

nmcli c modify "My Connection" connection.id "My favorite connection" connection.interface-name eth1

注意
最好使用属性名称。 别名仅用于兼容性原因。

此外,要将以太网MTU设置为1600,请按如下所示修改大小:
nmcli c modify "My favorite connection" ethernet.mtu 1600

connection.type
连接类型。允许的值为:adsl,bond,bond-slave,bridge,bridge-slave,bluetooth,cdma,ethernet,gsm,infiniband,olpc-mesh,team,team-slave,vlan,wifi,wimax。每种连接类型都有特定于类型的命令选项。您可以在nmcli(1)手册页中看到TYPE_SPECIFIC_OPTIONS列表。例如:

    gsm连接需要apn中指定的访问点名称。

    nmcli c add connection.type gsm apn access_point_name
 wifi设备需要ssid中指定的服务集标识符。

nmcli c add connection.type wifi ssid My identifier

connection.interface-name
与连接相关的设备名称。
nmcli con add connection.interface-name eth0 type ethernet

connection.id
用于连接配置文件的名称。如果未指定连接名称,则将生成如下连接名称:
connection.type -connection.interface-name
connection.id是连接配置文件的名称,不应与表示设备的接口名称(wlan0,ens3,em1)混淆。但是,用户可以在接口之后命名连接,但它们不是同一个东西。可以为设备提供多个连接配置文件。这对于移动设备或在不同设备之间来回切换网络电缆特别有用。而不是编辑配置,创建不同的配置文件并根据需要将它们应用于界面。 id选项还引用连接配置文件名称。

nmcli命令最重要的选项,如show,up,down是:
ID
用户分配给连接配置文件的标识字符串。可以在nmcli连接命令中使用Id来标识连接。命令输出中的NAME字段始终表示连接ID。它指的是con-name所具有的相同连接配置文件名称。
UUID
系统分配给连接配置文件的唯一标识字符串。可以在nmcli连接命令中使用uuid来标识连接。

~]$ nmcli con show
NAME UUID TYPE DEVICE
Auto Ethernet 9b7f2511-5432-40ae-b091-af2457dfd988 802-3-ethernet --
ens3 fb157a65-ad32-47ed-858c-102a48e064a2 802-3-ethernet ens3
MyWiFi 91451385-4eb8-4080-8b82-720aab8328dd 802-11-wireless wlan0
请注意,输出中的NAME字段始终表示连接ID(名称)。它不是接口名称,即使它看起来可能相同。在上面显示的第二个连接中,NAME字段中的ens3是用户给应用于接口ens3的配置文件的连接ID。在所示的最后一个连接中,用户已将连接ID?? MyWiFi分配给接口wlan0。

添加以太网连接意味着创建配置配置文件,然后将其分配给设备。 在创建新配置文件之前,请按以下方式查看可用设备:
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet disconnected --
ens9 ethernet disconnected --
lo loopback unmanaged --
要将设备设置为不受NetworkManager管理:
$ nmcli device set ifname managed no

For example, to set eth2 unmanaged:
$ nmcli device status
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
virbr0 bridge connected virbr0
eth1 ethernet connected bond-slave-eth1
eth2 ethernet connected bond-slave-eth2
eth0 ethernet unmanaged --

$ nmcli device set eth2 managed no ---->set eth2 unmanaged:
$ nmcli device status
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
virbr0 bridge connected virbr0
eth1 ethernet connected bond-slave-eth1
eth2 ethernet unmanaged --
eth0 ethernet unmanaged --
当您将设备设置为非托管时,NetworkManager不会对其进行控制。 但是,设备仍然连接。

添加动态以太网连接
要添加具有动态IP配置的以太网配置文件,允许DHCP分配网络配置,可以使用以下格式的命令:
nmcli connection add type ethernet con-name connection-name ifname interface-name

例如,要创建名为my-office的动态连接配置文件,请按如下方式发出命令:
?] $ nmcli con add type ethernet con-name my-office ifname ens3

NetworkManager将其内部参数connection.autoconnect设置为yes。 NetworkManager还会将设置写入/ etc / sysconfig / network-scripts / ifcfg-my-office,其中ONBOOT指令将设置为yes。

请注意,在下次启动界面之前,NetworkManager将不会注意到对ifcfg文件的手动更改。
要打开以太网连接,请发出如下命令:
~]$ nmcli con up my-office

要将主机发送的主机名更改为DHCP服务器,请按如下所示修改dhcp-hostname属性:
?] $ nmcli con modify my-office my-office ipv4.dhcp-hostname host-name ipv6.dhcp-hostname host-name

要将主机发送的IPv4客户端ID更改为DHCP服务器,请按如下所示修改dhcp-client-id属性:
?] $ nmcli con modify my-office my-office ipv4.dhcp-client-id client-ID-string

IPv6没有dhcp-client-id属性,dhclient为IPv6创建标识符。 有关详细信息,请参见dhclient(8)手册页。
要忽略DHCP服务器发送给主机的DNS服务器,请修改ignore-auto-dns属性,如下所示:
?] $ nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes

有关属性及其设置的更多信息,请参见nm-settings(5)手册页。

添加静态以太网连接
要使用静态IPv4配置添加以太网连接,可以使用以下格式的命令:
可以使用ip6和gw6选项添加IPv6地址和网关信息。
请注意,这将替换任何以前设置的DNS服务器。 或者,要将其他DNS服务器添加到任何先前设置,请使用+前缀,如下所示:

?] $ nmcli con mod test-lab + ipv4.dns“8.8.8.8 8.8.4.4”

要查看有关新配置连接的详细信息,请按如下方式发出命令:
~]$ nmcli -p con show test-lab

                 Connection profile details (test-lab)

===============================================================================
connection.id: test-lab
connection.uuid: 05abfd5e-324e-4461-844e-8501ba704773
connection.interface-name: ens9
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp: 1410428968
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0
[output truncated]
使用-p, - pretty选项会在输出中添加标题横幅和分节符。

将配置文件锁定到特定设备
要将配置文件锁定到特定接口设备,上述示例中使用的命令包括接口名称。 例如:
nmcli connection add type ethernet con-name connection-name ifname interface-name

要使配置文件可用于所有兼容的以太网接口,请发出如下命令:
nmcli connection add type ethernet con-name connection-name ifname“*”

请注意,即使您不想设置特定接口,也必须使用ifname参数。 使用通配符指定配置文件可以与任何兼容设备一起使用。
要将配置文件锁定到特定MAC地址,请使用以下格式的命令:
nmcli connection add type ethernet con-name“connection-name”ifname“
”mac 00:00:5E:00:53:00

添加WIFI连接
要创建具有静态IP配置的Wi-Fi连接配置文件,但允许自动分配DNS地址,请按如下方式发出命令:
?] $ nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe \
ip4 192.168.100.101/24 gw4 192.168.100.1

要设置WPA2密码,例如“caffeine”,请发出如下命令:
~]$ nmcli con modify MyCafe wifi-sec.key-mgmt wpa-psk
~]$ nmcli con modify MyCafe wifi-sec.psk caffeine
要更改Wi-Fi状态,请按以下格式发出命令:
~]$ nmcli radio wifi [on | off ]

更改特定属性
要检查特定属性(例如mtu),请按如下方式发出命令:
~]$ nmcli connection show id ‘MyCafe‘ | grep mtu
802-11-wireless.mtu: auto
要更改设置的属性,请按如下方式发出命令:
~]$ nmcli connection modify id ‘MyCafe‘ 802-11-wireless.mtu 1350
要验证更改,请按如下方式发出命令:
~]$ nmcli connection show id ‘MyCafe‘ | grep mtu
802-11-wireless.mtu: 1350
请注意,NetworkManager将参数(如802-3-ethernet和802-11-wireless)作为设置,并将mtu作为设置的属性。 有关属性及其设置的更多信息,请参见nm-settings(5)手册页。

使用nmcli配置静态路由
要使用命令行为现有以太网连接配置静态路由,请输入以下命令:
?] #nmcli connection modify eth0 + ipv4.routes“192.168.122.0/24 10.10.10.1”
这会将192.168.122.0/24子网的流量定向到10.10.10.1的网关

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11319182.html

时间: 2024-10-07 13:24:26

[转帖]LINUX网络配置---nmtui&nmcli的相关文章

LINUX网络配置---nmtui&nmcli

网络配置方法要使用NetworkManager的文本用户界面工具nmtui配置接口要使用NetworkManager的命令行工具nmcli配置接口要手动配置网络接口要使用图形用户界面工具配置网络 nmtui文本用户界面工具nmtui可用于在终端窗口中配置接口. 发出以下命令以启动该工具:?] $ nmtui 安装包yum install NetworkManager-tui nmcli用户和脚本可以使用nmcli实用程序来控制NetworkManager: 对于服务器,headless mach

Linux网络配置基础篇

Linux网络配置基础篇 一.如何实现linux网络通信? 1)指定IP/NETMASK可实现本地通信: 2)指定路由(网关)可实现跨网络通信: 3)指定DNS服务器地址可实现基于主机名的通信, 主DNS服务器地址(当前服务器不在线时,启用备用DNS服务器地址) 备用DNS服务器地址 第三备份DNS服务器地址 二.配置网络方式及网络接口命名 linux 网络属于内核的功能, 配置方式: 静态指定:使用命令直接指定或修改配置文件 动态分配:依赖于本地网络中有DHCP服务 网络接口命名方式: 传统命

linux网络配置和管理

网络很重要!网络是一切网络服务的基础,没有网络,就不会有今天的BTA.现在的服务器主要是linux,所以linux的网络配置和管理很重要. 一,网络通信的简介通信的三要素是:ip地址,掩码,路由.ip和netmask是必须有的,有了这两个条件,可以实现本地网络通信.如果有ip,netmask,route,就可以实现跨网段通信.还有一个点就是DNS,域名解析. 二,linux网络配置linux配置网络的方式很多,以下我从四个方向介绍网络的配置方式.从简单到难.1,图形界面方式2,伪图形界面方式3,

Linux网络配置之二ip、ss、网络相关配置文件

本文续网络基础与Linux网络配置之一 ifconfig.route.netstat命令详解 ip命令 作用ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命令. 格式ip [ OPTIONS ] OBJECT { COMMAND | help }   OBJECT := { link | addr | route | netns  } 注:OBJECT可简写,

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

Linux网络管理——linux网络配置

2. linux网络配置 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;} .note-content h2 {line-height: 1.6; color: #0AA

linux网络配置及排错的一般流程

linux网络配置及排错的一般流程 发表于2017年3月10日 首先# ping www.baidu.com发现报错未知此域名 # ping www.baidu.comping: unknown host www.baidu.com 之后# ping 8.8.8.8 -c 3 如果不通,则  查看域名服务器cat /etc/resolv.conf发现里面设置了谷歌的公共DNS服务(如果没有则需设置) #cat /etc/resolv.conf# Generated by NetworkManag

linux 网络配置

(来自互联网,非原创,方便查找) 一.linux网络配置经常使用的命令 1)#ifconfig    //查看配置的网卡 /sbin/ifconfig2) # vi /etc/resolv.conf  //修改DNS  resolv.conf的关键字主要有四个,分别是:  nameserver #定义DNS服务器的IP地址   domain #定义本地域名  search #定义域名的搜索列表  sortlist #对返回的域名进行排序  最主要是nameserver关键字,如果没指定names

centOS7网络配置(nmcli,bonding,网络组)

关于网络接口命名 CentOS 6之前,网络接口使用连续号码命名: eth0. eth1等,当增加或删除网卡时,名称可能会发生变化.CentOS 7使用基于硬件,设备拓扑和设置类型命名. 网卡命名机制 systemd对网络设备的命名方式 (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1 (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1 (c) 如果硬件接