本文只讲命令行界面的操作,不涉及桌面操作
- nmtui
- nmcli
前情提要:
1、查看网卡信息
- ifconfig [网卡名称] # 显示网卡信息
- ip add show [网卡名称] # 显示网卡信息
中括号代表可选项
2、编辑域名解析文件
域名解析服务器配置文件
/etc/resolv.conf
如果不知道写什么 可以填如下:
nameserver 114.114.114.114
3、网卡配置文件
centos 下网卡配置信息路径
/etc/sysconfig/network-scripts/ifcfg-ens33
注:(不一定都叫ens33,可以通过ifconfig来查看网卡名字) 我的如下:
ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.31.30 netmask 255.255.255.0 broadcast 192.168.31.255
inet6 fe80::878c:106f:cb05:4923 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:7b:d9:3d txqueuelen 1000 (Ethernet)
RX packets 1989 bytes 192869 (188.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 596 bytes 55370 (54.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
可以通过 systemctl status network 来查看网络启用状态
debian下网卡配置信息路径
/etc/network/interfaces
可以通过 systemctl status networking 来查看网络启用状态
NetworkManager
NetworkManager服务是管理和监控网络设置的守护进程,CentOS7更加注重使用NetworkManager服务来实现网络的配置和管理,CentOS7以前是通过network服务管理网络,以后的版本所有网络管理和设置统一由NetworkManager服务来维护。NetworkManage与network功能类似,都是用于管理网络,NetworkManager提供了nmctl 和 nmtui两个工具。
1、nmtui
命令行中文本交互界面配置工具,可以说是一个伪图形界面。
输入命令 会看到如下界面:
进入->编辑连接
可以设置当前网络连接的ip,网关,dns服务器等...
进入->启用连接
设备前面带*号说明已启用,按下回车键将会关闭。
更改之后 退出。可以使用 nmcli device 或 nmcli c。来看设备启用状态 和 连接状态
nmcli device
nmcli c
nmcli 具体用法请看后面的nmcli详细讲解
"设置系统主机名" 就不演示了。太傻瓜了
2、nmcli
命令行配置工具
使用格式:
nmcli [OPTIONS] OBJECT {COMMAND | help}
OPTIONS
-a, --ask ask for missing parameters
-c, --colors auto|yes|no whether to use colors in output
-e, --escape yes|no escape columns separators in values
-f, --fields <field,...>|all|common specify fields to output
-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f
-h, --help print this help
-m, --mode tabular|multiline output mode
-o, --overview overview mode
-p, --pretty pretty output
-s, --show-secrets allow displaying passwords
-t, --terse terse output
-v, --version show program version
-w, --wait <seconds> set timeout waiting for finishing operations
OBJECT
g[eneral] NetworkManager's general status and operations(网络管理的一般状态及操作)
n[etworking] overall networking control(网络开启与禁用 )
r[adio] NetworkManager radio switches(无线网络开关)
c[onnection] NetworkManager's connections(网络连接管理)
d[evice] devices managed by NetworkManager(设备管理)
a[gent] NetworkManager secret agent or polkit agent(安装代理)
m[onitor] monitor NetworkManager changes(监控NetworkManager的改动)
OPTIONS 是可以忽略的
OBJECT的用法,比如查看网络管理状态
nmcli g
nmcli ge
nmcli gen
nmcli gene
nmcli gener
nmcli genera
nmcli general
上面几条命令执行出来结果是一样的,也就是说OBJECT可以只输第一个首字母,后面是可写的
1、nmcli general
通过 nmcli g --help 得出:
用法:nmcli general { 命令 | help }
命令 := { status | hostname | permissions | logging }
status
hostname [<主机名>]
permissions
logging [level <日志级别>] [domains <日志域>]
其实 nmcli g == nmcli g status
nmlic g hostname # 可以获取主机名
nmcli g hostname 主机名 # 命令后跟上你想设置的主机名,就可以设置主机名
nmcli g permissions 可以显示当前用户对于各种网络配置的权限
nmcli g logging 可以显示网络日志输出级别/设置网络日志输入级别
### 以下是显示日志级别(可以看到现在的日志级别是INFO
[root@vmcentos ~]# nmcli g logging
LEVEL DOMAINS
INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,TEAM,CONCHECK,DCB,DISPATCH,AUDIT,SYSTEMD,PROXY
### 以下是设置日志级别
一般情况下我们可能不需要去改这个日志级别,但是当你网络始终连不上,
需要排查问题是更改这个日志级别是很有必要的。
你或许会有疑问,我该怎么知道都有哪些级别呀?
不要慌你可以通过如下命令查看到都有哪些级别
# man NetworkManager.conf 5 或者 man 5 NetworkManager.conf
[root@vmcentos ~]# nmcli g logging level WARN
2、nmcli networking
nmcli networking 后面有三个字命令,分别是:
- nmcli networking on #联网
- nmcli networking off #断网
- nmcli connectivity #检查连接状态
3、nmcli radio
nmcli radio 是用于查看与控制无线连接
- nmcli radio #会显示所有类型的无线类型开启状态,比如:WIFI, WWAN
- nmcli radio all on #所有无线类型开启
- nmcli radio all off #所有无线类型关闭
- nmcli radio wifi #显示wifi开启状态
- nmcli radio wifi on #开启wifi
- nmcli radio wifi off #关闭wifi
4、nmcli connection
我们通过 nmcli c --help 可以发现这个命令有很多子命令
[root@vmcentos ~]# nmcli c -h
Usage: nmcli connection { COMMAND | help }
COMMAND := { show | up | down | add | modify | clone | edit | delete | monitor | reload | load | import | export }
show [--active] [--order <order spec>]
show [--active] [id | uuid | path | apath] <ID> ...
up [[id | uuid | path] <ID>] [ifname <ifname>] [ap <BSSID>] [passwd-file <file with passwords>]
down [id | uuid | path | apath] <ID> ...
add COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- ([+|-]<setting>.<property> <value>)+]
modify [--temporary] [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+
clone [--temporary] [id | uuid | path ] <ID> <new name>
edit [id | uuid | path] <ID>
edit [type <new_con_type>] [con-name <new_con_name>]
delete [id | uuid | path] <ID>
monitor [id | uuid | path] <ID> ...
reload
load <filename> [ <filename>... ]
import [--temporary] type <type> file <file to import>
export [id | uuid | path] <ID> [<output file>]
那么不要慌,我们可以先学习几个常用的。
-
nmcli c show #显示所有连接
-
nmcli c up #启用某个连接(后面要跟上某个连接的id或uuid或ifname)
-
nmcli c down #关闭某个连接(后面要跟上某个连接的id或uuid或ifname)
-
nmcli c modify #编辑某个连接(后面要跟上某个连接的id或uuid或ifname)
示例
用法:nmcli connection modify { 参数 | help } 参数 := [id | uuid | path] <ID> ([+|-]<设置>.<属性> <值>)+ 修改连接配置集的一个或多个属性。配置集由其名称、UUID 或 D-Bus 路径来确定。对 于具有多个值的属性,您可以在属性名称前插入可选的 "+" 或 "-"。"+" 符号允许附加项 而不是覆盖整个值。"-" 符号允许删除选中项而不是整个值。 示例: nmcli con mod home-wifi wifi.ssid rakosnicek nmcli con mod em1-1 ipv4.method manual ipv4.addr "192.168.1.2/24, 10.10.1.5/8" nmcli con mod em1-1 +ipv4.dns 8.8.4.4 nmcli con mod em1-1 -ipv4.dns 1 nmcli con mod em1-1 -ipv6.addr "abbe::cafe/56" nmcli con mod bond0 +bond.options mii=500 nmcli con mod bond0 -bond.options downdelay -
nmcli c reload [连接] #重新加载连接配置文件,如果后面没跟连接则会重新加载所有连接的配置文件。
...其它的先不讲了
5、nmcli device
通过nmcli device --help 查看详细用法,一看这里也很多奥。我们看几个简单的
[root@vmcentos ~]# nmcli device --help
Usage: nmcli device { COMMAND | help }
COMMAND := { status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp }
status
show [<ifname>]
set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]
connect <ifname>
reapply <ifname>
modify <ifname> ([+|-]<setting>.<property> <value>)+
disconnect <ifname> ...
delete <ifname> ...
monitor <ifname> ...
wifi [list [ifname <ifname>] [bssid <BSSID>] [--rescan yes|no|auto]]
wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>]
[bssid <BSSID>] [name <name>] [private yes|no] [hidden yes|no]
wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] [channel <channel>] [password <password>]
wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]
lldp [list [ifname <ifname>]]
-
nmcli d status #显示设备使用状态
-
nmcli d show #显示设备详细信息
-
nmcli d connect 设备名 #启用设备
-
nmcli d disconnect 设备名 #断开设备
-
nmcli d modify 设备名 #编辑设备
示例
Usage: nmcli device modify { ARGUMENTS | --help } ARGUMENTS := <ifname> ([+|-]<setting>.<property> <value>)+ 修改设备上当前活动连接的一个或多个属性,但不用更改该连接的配置集。更改会即时生 效。对于多值属性,您可以在属性名前插可选的 "+" 或 "-" 符号。"+" 符号允许附加项 而不是是替换掉整个值。"-" 符号允许移除选中项而不是整个值。 例如: nmcli dev mod em1 ipv4.method manual ipv4.addr "192.168.1.2/24, 10.10.1.5/8" nmcli dev mod em1 +ipv4.dns 8.8.4.4 nmcli dev mod em1 -ipv4.dns 1 nmcli dev mod em1 -ipv6.addr "abbe::cafe/56"
6、nmcli agent 和 nmcli monitor 自行研究~
好啦 ,分享结束啦!
最后,微信聊天时想生成纯文字的表情可以扫这个码哦~