1、查看网卡信息命令
3、修改网卡配置
手动设置IPv4地址,如果原本是DHCP获取地址,改手动后,如果后面不接IP地址,可能会报错[root@localhost network-scripts]nmcli connection modify ens37 ipv4.method manual ipv4.addresses 172.16.10.1/16设置IP地址为DHCPnetwork-scripts]nmcli connection modify ens37 ipv4.method auto实际修改的是网卡配置文件BOOTPROTO,BOOTPROTO=none 表示手动;BOOTPROTO=dhcp 表示dhcp
【root@localhost】nmcli connection add type ethernet ifname ens8 con-name ens8
nmcli 是 NetworkManager 的提供的命令,使用 nmcli 命令时,必须确保 NetworkManager 为运行状态。
(nm 代表 NetworkManager,cli 代表 Command-Line 命令行。)
相关命令:
查看状态:
systemctl status NetworkManager
启动:
systemctl start NetworkManager
重启:
systemctl restart NetworkManager
关闭:
systemctl stop NetworkManager
查看是否开机启动:
systemctl is-enabled NetworkManager
开机启动:
systemctl enable NetworkManager
禁止开机启动:
systemctl disable NetworkManager
注意:NetworkManager 中开头的 N 和中间的 M 必须大写。
下面介绍 nmcli 四类常用命令:n、g、c、d,其它命令可以查看帮助文档。
1 nmcli networking
显示 NetworkManager 是否接管网络设置:
nmcli networking
networking 可以简写为 n、ne、net、netw…… 所以以上命令可以简写为:
nmcli n
查看网络连接状态:
nmcli n connectivity
网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。
connectivity 可以简写为 c,所以以上命令可简写为:
nmcli n c
开启网络连接:
nmcli n on
关闭网络连接:
nmcli n off
2 nmcli general
显示系统网络状态:
nmcli general status
general 可以简写为 g、ge、gen、gene……
status 是 general 的默认项,可以省略不写。所以,以上命令可简写为:
nmcli g
命令返回结果如下:
其中:
STATE 显示网络是否连接;
CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;
WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;
WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。
HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。
显示主机名:
nmcli g hostname # 或
nmcli g h
更改主机名:
nmcli g hostname newHostName # 或
nmcli g h newHostName
newHostName
是你设置的新主机名。
主机名存放在 /etc/hostname 文件中。
修改主机名后,需要重启 NetworkManager。
3 nmcli connection
显示所有网络连接的信息:
nmcli connection show
connection 可以简写为 c、co、con、conn……
show 是 connection 的默认项,可以省略不写。所以,以上命令可简写为:
nmcli c
nmcli connection show 有一个 -active 参数,可以只显示当前启动的连接:
nmcli c s --active # 或nmcli c s -a # 因为 show 后面有参数项,所以此时的 show 不能省
显示某一特定连接的详细信息(以 ens33 为例):
nmcli c s ens33
启动指定连接:
nmcli c up ens33
如果 ens33 本来就出于连接状态,那此命令会重启 ens33。
关闭指定连接:
nmcli c down ens33
关闭连接后,执行 nmcli c
命令, DEVICE 项将显示为 -- 。
修改连接:
nmcli c modify ens33 [ + | - ]选项 选项值 # 或
nmcli c m ens33 [ + | - ]选项 选项值
下面给出常用修改示例:
nmcli c m ens33 ipv4.address 192.168.80.10/24 # 修改 IP 地址和子网掩码
nmcli c m ens33 ipv4.method manual # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2 # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2 # 修改 DNS
nmcli c m ens33 +ipv4.dns 114.114.114.114 # 添加一个 DNS
nmcli c m ens33 ipv6.method ignored # 将 IPv6 禁用
nmcli c m ens33 connection.autoconnect yes # 开机启动
注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!
用空引号""
代替选项的值,可将选项设回默认值(以 ipv4.method 为例):
nmcli c m ens33 ipv4.method ""
选项有很多,详细信息可以通过以下命令查看:
man 5 nm-settings-nmcli
主要可以看里面 connection setting 和 ipv4 setting 部分。
新增连接:
nmcli c add tyep 连接类型 选项 选项值 # 或
nmcli c a tyep 连接类型 选项 选项值
type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。
选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:
connection.id(别名 con-name):连接名;
connection.interface-name(别名 ifname):设备名;
connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。
下面给出一个示例:
nmcli c a type ethernet con-name ens36 ifname ens36
删除指定连接:
nmcli c delete ens33 # 或nmcli c de ens33 # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de
重载所有连接的配置文件:
nmcli c reload # 或nmcli c r
重载某一指定连接的配置文件:
nmcli c load ifcfg-ens33 # 或nmcli c l ifcfg-ens33
网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。
网络配置文件的命名方式就是ifcfg-连接名
,例如 ens33 的配置文件名为ifcfg-ens33
。
网络配置文件说明:
TYPE=Ethernet # 以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none # 静态配置,等同于 ipv4.method manual
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens33 # 连接名
UUID=16862343-b55e-4248-b05d-a3ea662a84a4
DEVICE=ens33 # 设备名
ONBOOT=yes # 开机自启
IPADDR=192.168.80.10 # IP 地址
PREFIX=24 # 子网掩码
GATEWAY=192.168.80.2 # 网关
DNS1=192.168.80.2 # DNS1
DNS2=114.114.114.114 # DNS2
建议使用 nmcli 命令来设置网络参数,不要直接修改此文件。
4 nmcli device
显示所有网络接口设备的状态:
nmcli device status
device 可以简写为 d、de、dev……
status 是 device 的默认项,可以省略不写。所以,以上命令可简写为:
nmcli d
显示所有设备的详细信息:
nmcli d show # 或nmcli d sh # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh
显示某一特定设备的详细信息:
nmcli d sh ens33
连接设备:
nmcli d connect ens33 # 或
nmcli d c ens33
如果 ens33 本来就出于连接状态,那此命令会重启 ens33。
断开设备:
nmcli d disconnect ens33 # 或
nmcli d d ens33
更新设备信息:
nmcli d reapply ens33 # 或nmcli d r ens33
只有在设备处于连接状态,才可以更新设备。
更新设备相当于重启连接。
简述
顾名思义,nmcli就是NetworkManager的cli(命令行)
语法
nmcli [OPTIONS...] { help | general | networking | radio | connection | device | agent | monitor } [COMMAND] [ARGUMENTS...]上面的语法就是: nmcli [选项...] 对象 [命令] [参数...]对象 = help | general | networking | radio | connection | device | agent | monitor 提示: 1-输入命令的时候请善用tab补全,少打很多单词! 2-支持简写,例如connection可以简写成con或c, modify可以简写成mod或mBASH复制全屏
比较有用的选项(OPTION)
-a | --ask 提示输入缺少的参数,而不是报错。例如连接wifi的时候,没有提供password参数,那么如果有-a选项就会提示输入密码 -p | --pretty 显示的时候会更加易于人类阅读,尤其是多行显示的时候,可以分块显示 -m | --mode { tabular | multiline } tabular显示的时候是表格式(有表头)的,不易阅,multiline是多行类似key:value形式。如果省略,大多数命令默认使用tabular。 nmcli connection show ID和nmcli device show这两命令因为结构化信息不好单行显示,如果省略,默认使用multiline -f | --fields { field1,field2... | all | common } 默认使用common(命令公共字段)。也可以指定特定字段,比如nmcli -f GENERAL.DEVICE,IP4.ADDRESS device show 显示网卡名和ip地址(善用tab补全)。查看可用字段的方法:1-通过对应对象的show来找到字段.对于connection对象,可以使用man 5 nm-settings查看, 或者输入错误字段,让报错来提示可字段,比如输入nmcli -f xxx connection show myAP 就会报错,提示可用字段
对象
general对象(常规信息)
用途
常规信息,个人感觉本对象用途不大,稍微有用一点的就是status了,例如:显示NetworkManager的状和操作权限,获取和修改系统主机名,NetworkManager的日志级别和域
语法
nmcli general { status | hostname | permissions | logging } [ARGUMENTS...]
networking对象(整个网络)
用途
查询NetworkManager状态,启用禁用网络
语法
nmcli networking { on | off | connectivity } [ARGUMENTS...]
命令示例
nmcli networking off #禁用所有被NetworkManager托管的网络接口的网络连接(修改配置文件可以启用或禁止NetworkManager托管,可以自行百度)nmcli networking connectivity check # 参数check表示重新检查连接状态。连接状态full表示具有完全的internet访问能力,limited表示连接到一个网络,但是internet未接入
radio对象(无线开关)
用途
显示无线电开关状态,启用、禁用无线电
语法
nmcli radio { all | wifi | wwan } [ARGUMENTS...]
命令示例
nmcli radio wifi # 打印wifi开关状态nmcli radio wifi off # 表示关闭wifi
connection对象(连接的配置)
用途
NetworkManager会把网络配置保存为connections配置信息,比如保存二层网络信息,ip信息等。NetworkManger会根据这些信息知道怎么去连接一个网络。在一个特定设备,可以有多个连接配置(比如一个是dhcp的,一个是静态ip地址的),但是只有一个配置是“活动“的配置。connection对象就是用来管理这些连接配置的。
语法
nmcli connection { show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export } [ARGUMENTS...]
激活连接的语法详述:
语法: nmcli connection up [ id | uuid | path ] ID [ifname ifname] [ap BSSID] [passwd-file file]
解释:一个连接由其name(名称),uuid或path(就是D-Bus路径)所标识。如果ID不明确,则可以使用关键字id,uuid或path来指明这个ID是什么。当需要特定设备激活连接时,应提供带有接口名称的ifname选项。如果未提供ID,则需要一个ifname,NetworkManager将为给定的ifname激活最佳的可用连接。如果是VPN连接,则ifname选项指定基本连接的设备。ap选项指定在Wi-Fi连接的情况下应使用哪个特定的AP。passwd-file:某些网络在激活期间可能需要凭据。您可以使用此选项提供这些凭据。文件的每一行应包含一个密码。文件内容格式为setting_name.property_name:the password。例如WPA-PSK连接的格式为802-11-wireless-security.psk:secret12345。nmcli还接受wifi-sec和wifi字符串,而不是802-11-wireless-security。当NetworkManager需要密码但未提供密码时,nmcli在使用--ask运行时会要求输入密码。如果未传递--ask,则NetworkManager可以询问可能正在运行的另一个秘密代理(通常是GUI秘密代理,例如nm-applet或gnome-shell)。停用连接的语法详述:
语法: nmcli connection down [ id | uuid | path | apath ] ID... #注意这里的ID可指定多个
解释: 请注意,该命令将停用指定的活动连接,但是该连接处于活动状态的设备仍可以连接,并且将通过查找设置了“自动连接”标志的合适连接来执行自动激活。 请注意,停用的连接配置文件在内部被阻止再次自动连接。 因此,它不会自动连接,直到重新启动或直到用户执行取消自动连接的操作为止,例如修改配置文件或显式激活它。在大多数情况下,您可能想使用device disconnect命令。
该连接由其名称,UUID或D-Bus路径标识。 如果ID不明确,则可以使用关键字id,uuid,path或apath。修改连接的语法详述:
语法 : modify [--temporary] [ id | uuid | path ] ID { option value | [+|-]setting.property value } ...
解释: 在连接配置文件中添加,修改或删除属性。要设置属性,只需指定属性名称后跟值即可。空值(“”)将属性值重置为默认值。除了属性外,您还可以对某些属性使用简称。有关详细信息,请参阅“属性别名”部分。如果要将项目或标志附加到现有值,请使用+前缀作为属性名称或别名。如果要从容器类型或标志属性中删除项目,请使用-前缀。对于某些属性,您还可以通过指定从零开始的索引来删除元素。 +和-修饰符仅对支持它们的属性有效。例如,这些是多值(容器)属性或标志,例如ipv4.dns,ip4,ipv4.addresses,bond.options,802-1x.phase1-auth-flag等。有关设置和属性名称,其描述和默认值的完整参考,请参见nm-settings(5)。如果设置和属性是唯一的,则可以缩写。该连接由其名称,UUID或D-Bus路径标识。如果ID不明确,则可以使用关键字id,uuid或path。add edit clone export import reload等命令这里省略, 参考文章头部给的url
命令示例:
nmcli connection show # 列出网络连接的配置(存放于内存和硬盘的配置,nmcli -f active connection show 表示显示存储于内存配置, -f profile表示存放于硬盘的配置)nmcli connection show --active # 仅列出处于活动状态的网络配置nmcli --show-secrets -f 802-11-wireless-security.psk connection show myAP001 # 显示myAP001密码,加了--show-secrets或-s才能显示密码明文nmcli connection show --order name # 按配置名排序,可选排序有type、active、name、path(d-bus路径),+号和-号表示升序和降序,未指定,则默认使用升序。默认排序是:--order active:name:pathnmcli connection show uuid 38781e62-4bab-4ba8-a086-bfaece222794 # 按指定关键字显示,关键字有id,uuid、path、apath。 用途是不能使用常规的nmcli connection show <配置名> 来显示的时候,这种显示方法就可以派上用场了。nmcli connection up prof1 # 激活一个连接。nmcli connection down prof1 # 停用一个连接nmcli connection delete prof1 #删除一个配置, delete [ id | uuid | path ] ID...nmcli connection add type ethernet ifname enp5s0 # 创建一个连接。这里没有指定method,则默认使用auto,也就是自动配置。类型是以太网,类型有以太网、wifi,adsl等,具体参考文章头部给的urlnmcli connection add ifname enp5s0 autoconnect yes type ethernet ip4 10.1.1.1/8 gw4 10.1.0.1 # 创建一个静态ip的以太网连接nmcli connection modify myEth +ipv4.dns 8.8.8.8 # 给myEth的配置添加dnsnmcli connection modify myEth ipv4.method manual ipv4.addresses "192.168.43.64/24,10.0.0.23/8" #修改myEth连接为手动,ip地址设置为两个nmcli con mod myEth autoconnect no # 设置myEth连接配置为不自动连接(重启操作系统或从起NetworkManager就能看到不会自动连接了)
device对象(网络接口)
用途
显示或管理网络接口
语法
nmcli device { status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp } [ARGUMENTS...]
子命令详细解释(这里不全部翻译,理解了上面connection,这里也是差不多的):
set [ifname] ifname [ autoconnect { yes | no } ] [ managed { yes | no } ]
Set device properties. connect ifname Connect the device. NetworkManager will try to find a suitable connection that will be activated. It will also consider connections that are not set to auto connect.If no compatible connection exists, a new profile with default settings will be created and activated. This differentiates nmcli connection up ifname "$DEVICE" from nmcli device connect "$DEVICE" If --wait option is not specified, the default timeout will be 90 seconds.
reapply ifname
Attempt to update device with changes to the currently active connection made since it was last applied.
modify ifname { option value | [+|-]setting.property value } ...
Modify the settings currently active on the device.
This command lets you do temporary changes to a configuration active on a particular device. The changes are not preserved in the connection profile.See nm-settings(5) for the list of available properties. Please note that some properties can't be changed on an already connected device.You can also use the aliases described in Property Aliases section. The syntax is the same as of the nmcli connection modify command.
disconnect ifname...
Disconnect a device and prevent the device from automatically activating further connections without user/manual intervention. Note that disconnecting software devices may mean that the devices will disappear.(这段翻译一下:断开设备连接,并防止设备自动激活。 断开软设备的连接可能会让这些设备消失)
If --wait option is not specified, the default timeout will be 10 seconds.
delete ifname...
Delete a device. The command removes the interface from the system. Note that this only works for software devices like bonds, bridges, teams, etc(仅能删除软设备,例如bond、桥等). Hardware devices (like Ethernet) cannot be deleted by the command.(硬设备无法删除)
wifi [ list [--rescan | auto | no | yes ] [ifname ifname] [bssid BSSID] ]
列出wifi热点,可以指定无线网卡接口名和热点BSSID。列出的热点列表不会超过30秒,必要时会重新扫描(通过--rescan控制重新扫描:取值auto yes no)
wifi connect (B)SSID [password password] [ifname ifname] [bssid BSSID] [name name] [ private { yes | no } ] [ hidden { yes | no } ]
连接到由SSID或BSSID指定的wifi网络。该命令找到匹配的连接或创建一个连接,然后在设备上激活它。如果已经存在配置文件,可以直接使用nmcli connection up <配置文件名>。private表示该连接是否对其他用户可见。hidden用于连接隐藏ssid的wifi。
wifi hotspot [ifname IFNAME] [con-name NAME] [ssid SSID] [ band { a | bg } ] [channel channel] [password password]
创建一个热点,con-name是配置名。
wifi rescan [ifname IFNAME] [ssid SSID...]
重新扫描wifi接入点,可以指定多个SSID。对于隐藏ssid的网络,务必要指定ssid。命令不显示接入点列表。显示接入点列表请使用nmcli device wifi list命令
命令示例:
nmcli dev wifi list # 列出可用的wifi接入点, list可以省略nmcli device wifi connect mySSID password '12345678' # 连接热点mySSID, 连接成功后,就会自动生成配置文件,以后要再连接,可以使用nmcli connectio up mySSID命令了nmcli device wifi hotspot con-name ap001 ifname wlp3s0 ssid myAP001 password 12345678 # 创建热点。以后如果要使用,可以直接nmcli connection up ap001
常用属性缩写
con-name = connection.id
autoconnect = connection.autoconnect
ifname = connection.interface-name
mtu = 不同类型下的.mtu属性
ssid = wireless.ssid
mode = wireless.mode(网卡为wifi时)
ip4 = 作用于ipv4.addresses(并且设置ipv4.method为manual) ,同理可知ip6
gw4 = ipv4.gateway(同理可知gw6)
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/3323.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~