NetworkManager 是目前 Linux
系统中提供网络连接管理服务的一套软件,也支持传统的 ifcfg 类型配置文件。核心是 NetworkManager 守护进程,还提供了命令行工具
nmcli ,以及图形界面配置工具。NetworkManager
可用于以下连接类型:以太网、VLAN、网桥、绑定、成组、Wi-Fi、移动宽带(比如移动网络 3G)及
IP-over-InfiniBand。在这些连接类型中,NetworkManager 可配置网络别名、IP 地址、静态路由器、DNS 信息及
VPN 连接以及很多具体连接参数。最后,NetworkManager 通过 D-bus 提供 API,D-Bus
允许应用程序查询并控制网络配置及状态。
启动、停止、查看 NetworkManager 服务:
NetworkManager 的配置文件和脚本保存在 /etc/sysconfig/
目录中。大多数网络配置信息都保存在这里,VPN、移动宽带及 PPPoE 配置除外,这些配置保存在 /etc/NetworkManager/
子目录中。例如,接口的具体信息是保存在 /etc/sysconfig/network-scripts/ 目录下的 ifcfg-*
文件中。全局设置使用 /etc/sysconfig/network 文件
在命令行中,可以使用 nmcli 工具与 NetworkManager 进行交互。例如,修改了某个 ifcfg-* 文件后,需要手动载入,可以执行:
如果要重新载入全部配置文件,可以执行 :
可以执行 nmcli help 查看该命令的语法,命令的各种参数都可以用 Tab 键补全。
-
[root@localhost ~]
-
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
-
-
OPTIONS
-
-t[erse] 简洁输出
-
-p[retty] 美化输出
-
-m[ode] tabular|multiline 输出模式
-
-f[ields] |all|common 指定字段输出
-
-e[scape] yes|no 指定分隔符
-
-n[ocheck] 不检测版本
-
-a[sk] 询问缺失参数
-
-w[ait] 设置超时等待完成操作
-
-v[ersion] 显示版本
-
-h[elp] 获得帮助
-
-
OBJECT
-
g[eneral] 常规管理
-
n[etworking] 全面的网络控制
-
r[adio] 无线网络管理
-
c[onnection] 网络连接管理
-
d[evice] 网络设备管理
-
a[gent] 网络代理管理
列出所有的网络设备:
-
[root@localhost ~]
-
GENERAL.DEVICE: enp4s0
-
GENERAL.TYPE: ethernet
-
GENERAL.HWADDR: 00:1D:F3:51:95:4D
-
GENERAL.MTU: 1500
-
GENERAL.STATE: 100 (connected)
-
GENERAL.CONNECTION: enp4s0
-
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0
-
WIRED-PROPERTIES.CARRIER: on
-
IP4.ADDRESS[1]: ip = 192.168.5.242/24, gw = 0.0.0.0
-
IP6.ADDRESS[1]: ip = fe80::21d:f3ff:fe51:954d/64, gw = ::
-
-
GENERAL.DEVICE: ttyACM3
-
GENERAL.TYPE: gsm
-
GENERAL.HWADDR: (unknown)
-
GENERAL.MTU: 0
-
GENERAL.STATE: 30 (disconnected)
-
GENERAL.CONNECTION: --
-
GENERAL.CON-PATH: --
-
-
GENERAL.DEVICE: lo
-
GENERAL.TYPE: loopback
-
GENERAL.HWADDR: 00:00:00:00:00:00
-
GENERAL.MTU: 65536
-
GENERAL.STATE: 10 (unmanaged)
-
GENERAL.CONNECTION: --
-
GENERAL.CON-PATH: --
查看所有网络设备的状态:
-
[root@localhost ~]
-
DEVICE TYPE STATE CONNECTION
-
enp4s0 ethernet connected enp4s0
-
ttyACM3 gsm disconnected --
-
lo loopback unmanaged --
查看所有的网络连接:
-
[root@localhost ~]
-
NAME UUID TYPE DEVICE
-
enp4s0 f056272b-e28a-4e69-8264-af9fccfbf45d 802-3-ethernet enp4s0
可以看到,本机有一个以太网卡和一个 3G 网卡,只有以太网使能了连接,3G
网卡处于未连接状态。TYPE 字段表示连接类型,支持的值有:adsl, bond, bond-slave, bridge,
bridge-slave, bluetooth, cdma, ethernet, gsm, infiniband, olpc-mesh,
team, team-slave, vlan, wifi, wimax。可以在新建或者编辑连接时用 type 参数设置,按 Tab
键查看该列表,或查看 nmcli(1) man page 中的 TYPE_SPECIFIC_OPTIONS 列表。
DEVICE 表示设备名称,如果是以太网或者WiFi,就是用 ifconfig -a
看到的名称。CONNECTION 表示连接名称,这是在连接配置文件的名称,这里的以太网配置文件是 ifcfg-enp4s0 。可以在新建连接时用
con-name 参数设置。
1. 以太网
新建一个以太网连接,使用动态 IP :
这样会在 /etc/sysconfig/network-scripts/ 目录下生成一个 ifcfg-* 配置文件。使用以下命令激活以太网连接:
-
[root@localhost ~]
-
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
用如下命令可以查看该连接的详细信息:
2. 3G 网卡
查看这个设备的详情:
-
[root@localhost ~]# nmcli device show ttyACM3
-
GENERAL.DEVICE: ttyACM3
-
GENERAL.TYPE: gsm
-
GENERAL.HWADDR: (unknown)
-
GENERAL.MTU: 0
-
GENERAL.STATE: 30 (disconnected)
-
GENERAL.CONNECTION: --
-
GENERAL.CON-PATH: --
新建一个 3G 网卡的连接:
-
[root@localhost ~]
-
Connection 'gsm-ttyACM3' (d15e8860-6dc1-4aa5-b579-b898e651a984) successfully added.
这会在 /etc/NetworkManager/system-connections/ 下生成一个配置文件,并且会自动连接,生成一个 ppp0 的网络设备:
-
[root@localhost ~]
-
[connection]
-
id=gsm-ttyACM3
-
uuid=7561e339-43b7-4e7f-bc2c-5886b5a97afc
-
interface-name=ttyACM3
-
type=gsm
-
-
[gsm]
-
number=*99
-
username=3gnet
-
password=3gnet
-
apn=3gnet
-
[root@localhost ~]
-
DEVICE TYPE STATE CONNECTION
-
enp4s0 ethernet connected enp4s0
-
ttyACM3 gsm connected gsm-ttyACM3
-
ppp0 unknown connected ppp0
-
lo loopback unmanaged --
-
~]
-
NAME UUID TYPE DEVICE
-
ppp0 9e55469f-b362-4122-8031-aa18360a8d75 generic ppp0
-
gsm-ttyACM3 7561e339-43b7-4e7f-bc2c-5886b5a97afc gsm ttyACM3
-
enp4s0 f056272b-e28a-4e69-8264-af9fccfbf45d 802-3-ethernet enp4s0
要取消自动连接,需要将 autoconnect 设为 false :
-
[root@localhost ~]
-
[root@localhost ~]
-
[connection]
-
id=gsm-ttyACM3
-
uuid=86f38b5b-31e3-4250-8304-c94a8fe7ac29
-
interface-name=ttyACM3
-
type=gsm
-
autoconnect=false
-
-
[gsm]
-
number=*99#
-
username=3gnet
-
password=3gnet
-
apn=3gnet
3. WiFi
用如下命令查看可访问的 WiFi 热点:
-
[root@localhost ~]
-
-
-
* SSID MODE CHAN RATE SIGNAL BARS SECURITY
-
-
SBSon Infra 4 54 Mbit/s 84 ?–??–??–??–? WPA1 WPA2
-
TP-LINK_3 Infra 1 54 Mbit/s 77 ?–??–??–?_ WPA2
-
readtime Infra 1 54 Mbit/s 70 ?–??–??–?_ WPA2
-
sbstest Infra 1 54 Mbit/s 59 ?–??–??–?_ WPA1 WPA2
-
Xiaomi Infra 1 54 Mbit/s 57 ?–??–??–?_ WPA2
-
wifi-360 Infra 6 54 Mbit/s 47 ?–??–?__ WPA2
新建一个名为 wifi-con 的 WiFi 连接:
-
[root@localhost ~]
-
Connection 'wifi-con' (7c5ae676-a2c7-49df-a37b-d93787be2b72) successfully added.
设置加密方式为 WPA2 ,并设置密码:
-
[root@localhost ~]
-
[root@localhost ~]
激活该连接:
-
[root@localhost ~]
-
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
-
[root@localhost ~]
-
lo no wireless extensions.
-
-
enp4s0 no wireless extensions.
-
-
wlp1s0 IEEE 802.11abgn ESSID:"TP-LINK_3"
-
Mode:Managed Frequency:2.412 GHz Access Point: 64:09:80:64:2F:8E
-
Bit Rate=1 Mb/s Tx-Power=15 dBm
-
Retry short limit:7 RTS thr:off Fragment thr:off
-
Encryption key:off
-
Power Management:off
-
Link Quality=44/70 Signal level=-66 dBm
-
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
-
Tx excessive retries:3 Invalid misc:20 Missed beacon:0
阅读(1757) | 评论(0) | 转发(0) |