地址配置工具
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { general | networking | radio | connection | device | agent }
OPTIONS := {
-t[erse]
-p[retty]
-m[mode] tabular | multiline
-f[ields]
-e[scape] yes | no
-n[ocheck]
-a[sk]
-w[ait]
-v[ersion]
-h[elp]
}
nmcli device 命令
Usage: nmcli device { COMMAND | help }
COMMAND := { status | show | connect | disconnect | delete | wifi }
nmcli device show eth1 #查看eth1网卡的信息
nmcli device status #查看所有网卡信息
nmcli device connect eth1 #使网卡eth1连接
nmcli device disconnect eth1 #使网卡eth1断开
nmcli device delete bond0 #删除虚拟网卡,不可以删除物理网卡
nmcli connection 命令
查看命令帮助 : nmcli connetcion help
Usage: nmcli connection { COMMAND | help }
COMMAND := { show | up | down | add | modify | edit | delete | reload | load }
比如修改IP地址等属性:
#nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses ; ipv4.gateway ; ipv4.dns1; ipv4.method [manual | dhcp]
修改配置文件执行生效:
systemctl restart network 或 nmcli connetcion reload
nmcli命令生效:
nmcli con down eth0 ;nmcli con up eth0 (connection 可简写为con)
网络接口配置tui工具 : nmtui
使用nmcli 配置网络
NetworkManager 是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效
显示所有连接(包括不活动的连接)
nmcli connection show
显示网络连接配置
nmcli connection show "System bond0"
显示设备状态
nmcli device status
显示网络接口属性
nmcli dev show eth1
创建新连接 conn1 ,IP通过自动dhcp获取
nmcli connection add con-name conn1 type Ethernet ifname eth1
删除连接
nmcli connection delete conn1
创建新连接 conn2 指定静态IP,不自动连接
nmcli connection add con-name conn2 ifname eth1 autoconnect no type Ethernet ip4 10.1.1.1/16 gw4 10.1.1.254
启用 conn2连接配置
nmcli connetcion up conn2
查看帮助
nmcli connection add help
修改连接设置:
nmcli connection modify "eno16777736" connection.autoconnect no
nmcli connection modify "eno16777736" ipv4.addresses 10.1.1.100/16
nmcli connection modify "eno16777736" ipv4.dns 10.1.0.1
nmcli connection modify "eno16777736" +ipv4.dns 10.1.0.1
nmcli connection modify "eno16777736" -ipv4.dns 10.1.0.1
Command | Use |
nmcli dev status | List all devices |
nmcli con show | List all connetcions |
nmcli con del " |
Delete a connetcion |
nmcli con up " |
Activate a connetcion |
nmcli con down " |
Deactivate a connetction.The connetcion will restart if autoconnect is yes |
nmcli dev dis |
Bring down an interface and temporarily disable autoconnect |
nmcli net off | Disable all managed interfaces |
nmcli con add … | Add a new connetcion |
nmcli con mod " |
Modify a connection |
nmcli con del " |
Delete a connetcion |
nmcli con mod | |
ifcfg-* 文件 | |
ipv4.method manual | BOOTPROTO=none |
ipv4.method auto | BOOTPROTO=dhcp |
ipv4.addresses "192.0.2.1/24 192.0.2.254" | IPADDR0=192.0.2.1 PREFIX0=24 GATEWAY0=192.0.2.254 |
ipv4.dns 8.8.8.8 | DNS0=8.8.8.8 |
ipv4.dns-search example.com | DOMAIN=example.com |
ipv4.ignore-auto-dns true | PEERDNS=no |
connection.autoconnect yes | ONBOOT=yes |
connection.id eth0 | NAME=eth0 |
connection.interface-name eth0 | DEVICE=eth0 |
802-3-ethernet.mac-address . . . | HWADDR= . . . |
设备文件保存到文本文件中: /etc/sysconfig/network-scripts/ifcfg-
帮助文档列出完整选项列表: /usr/share/doc/initscripts-*/sysconfig.txt
动态配置 |
静态配置 |
DEVICE=ethX HWADDR=0:02:8A:A6:30:45 BOOTPROTO=dhcp ONBOOT=yes Type=Ethernet |
DEVICE=ethX HWADDR=0:02:8A:A6:30:45 IPADDR=192.168.0.123 NETMASK=255.255.255.0 GATEWAY=192.168.0.254 ONBOOT=yes Type=Ethernet |
通过nmcli命令修改连接配置后,需要重新加载配置
nmcli con reload
图形工具
nm-connection-editor
网络组 Network Teaming
网络组:是将多块网卡聚合在一起的方法,从而实现容错和提高吞吐量
网络组不同于旧版中bonding技术,它能提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
有多种方式:
runner
broadcast
roundrobin
activebackup
loadbalance
lacp
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口不会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
创建网络组接口格式如下:
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME :连接名
INAME :接口名
JSON :指定runner的方式,格式: '{"runner":{"name":"METHOD"}}'
METHOD :可以是 broadcast ;roundrobin ;activebackup ;loadbalance ;lacp
创建port接口格式如下:
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME :连接名
INAME :网络接口名
TEAM :网络组接口名
若连接名不指定,则默认为team-slave-IFACE
nmcli con up CNAME(网络组接口名或port接口)
nmcli dev dis INAME(设备名)
# nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'
# nmcli con mod team0 ipv4.addresses 192.168.1.100/24
# nmcli con mod team0 ipv4.method manual
# nmcli con add con-name team0-eth1 type teamslave ifname eth1 master team0
# nmcli con add con-name team0-eth2 type teamslave ifname eth2 master team0
# nmcli con up team0
# nmcli con up team0-eth1
# nmcli con up team0-eth2
# teamdctl team0 state;
# nmcli dev dis eth1
实验:创建一个网络组主备自动切换的网络组
nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
nmcli connection modify team0 ipv4.method auto
nmcli connection add con-name team-eth0 type team-slave ifname eno16777736 master team0
nmcli connection add con-name team-eth1 type team-slave ifname eno33554960 master team0
nmcli connection add con-name team-eth2 type team-slave ifname eno50332184 master team0
nmcli connection add con-name team-eth3 type team-slave ifname eno67109408 master team0
nmcli connection up team0
nmcli connection up team-eth1
nmcli connection up team-eth2
nmcli connection up team-eth3
nmcli connection up team-eth0
watch -n1 'teamdctl team0 state'
管理网络组配置文件:
# /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
# /etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
使用nmcli配置主机名
rhel6之前主机名配置文件:/etc/sysconfig/network
rhel7.0主机名配置文件:/etc/hostname,默认没有这个文件,通过DNS反向解析获取主机名,主机名默认为: localhost.localdomain
显示主机名信息
hostname
hostnamectl status
创建并修改文件并生效
hostnamectl set-hostname desktopX.example.com
删除文件,恢复主机名localhost.localdomain
DNS设置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
在命令行下测试网络的连通性
显示主机名
hostname
测试网络连通性
ping
mtr
显示正确的路由表
ip route
确定名称服务器使用:
nslookup
host
dig
跟踪路由
traceroute
Tracepath
lftp, ftp, lftpget, wget
lftp [-p port] [-u user[,password]] SERVER
子命令:
get、 mget、ls、help
# lftpget URL
# ftp
# wget
wget [option]... [URL]...
-q: 静默模式
-c: 断点续传
-O: 保存位置
--limit-rates=: 指定传输速率