本网络配置
将Linux主机接入到网络,需要配置网络相关设置。
版本 | 命名方式 | 网络接口识别并命名相关的udev配置文件 (如新增网卡) |
Centos 6 | 以太网 eth[0,1,2,...] 拨号 ppp[0,1,2...] | /etc/udev/rules.d/70-persistent-net.rules |
如下图,/etc/udev/rules.d/70-persistent-net.rules文件记录了增加的网卡命名,MAC地址,驱动名称。如果发生网卡冲突可以查看此配置文件,如VMWARE虚拟机配置后产生的看不到网卡,网卡名从eth1,直接跳到eth3等现象
ethtool
功能描述: | 查询 网络设备 和硬件设置 |
格式: | ethtool [选项] 设备名 |
默认: | 默认跟设备名,直接显示相关信息 |
版本 | 选项 | 说明 | 示例 |
6 | -i 网卡名 | 查询驱动 | #ethtool -i eth1 |
-S | 显示设备通讯状态 |
modprobe
功能描述: | 从内核移除或添加模块 |
格式: | modprobe [选项] 模块名 |
默认: | 默认不加参数是添加模块 |
版本 | 选项 | 说明 | 示例 |
6 | -i 网卡名 | 查询驱动 | #ethtool -i eth1 |
-S | 显示设备通讯状态 |
不重启系统,正确修改Centos 6网卡名称(永久生效)
1.编辑/etc/udev/rules.d/70-persistent-net.rules,把想要修改名称的网卡一行中的NAME="新名字"
2.查询网卡驱动
#ethtool -i eth1
driver: e1000
version: 7.3.21-k8-NAPI
3.卸载网卡驱动,注意后,没在主机前可别这样子操作哦,不然的话,没法远程连接主机了。
#modprobe -r e1000
4.装载网卡驱动
#modprobe e1000
#vim ifcfg-eth1 修改配置文件
DEVICE=neweth3
5.#service network restart 重启网络服务
使用ip link可以更加简单的做到。(临时生效)
#ip link set eth1 name eth11
网络配置
ifconfig
功能描述: | 配置网卡 |
格式: | ifconfig interface [aftype] options | address ... |
默认: | 显示所有活动网卡信息 |
此程序进入淘汰阶段,替代命令是ip addr , ip link
版本 | 选项 | 说明 | 示例 |
6 | -a | 显示所有网卡信息 | |
-s | 显示网卡数据包统计信息 | ||
promisc | 设置网卡监听模式 | ||
-promisc | 取消网卡监听模式 |
启用网卡
#ifconfig eth1 up
关闭网卡
#ifconfig eth1 down
ifup / ifdown 启用/关闭网卡,仅仅释放IP地址,而不会改变网卡状态,这与ifconfig有区别。
需要在/etc/sysconfig/network-scripts/存在对应的网卡配置文件,如ifcfg-eth0
指定网卡地址,此种方法属于临时性,在网卡up/down之后会消失,并不写入配置文件
ifconfig eth1 1.1.1.1/24
#ifconfig eth1 1.1.1.1 netmask 255.255.255.0
网卡别名:可以为同一个物理网卡指定多个IP地址。
格式为:主网卡:别名,如:eth1:net。注意,只有主网卡可以使用DHCP,
别名网卡只能设置静态IP。释放IP方式与其他方式一样。
#ifconfig eth1:1 2.2.2.2/24
#system-config-network 字符界面下的网卡配置工具。Centos 7下已经被取代了。
#setup 功能更多的配置工具,在Centos 7最小安装时,此工具包已经默认不安装了。
ifcfg-eth0 网卡配置文件格式描述,=号前必须是大写
1 | DEVICE=eth0 | 此配置文件应用到的设备, 1,7必须存在至少一项 |
2 | TYPE=Ethernet | 接口类型;常见有的Ethernet, Bridge |
3 | BOOTPROTO=dhcp | 激活此设备时使用的地址配置协议,常 用的dhcp, static, none, bootp |
4 | UUID= | 设备的惟一标识 |
5 | ONBOOT=yes | 是否激活此设备 |
6 | NM_CONTROLLED=yes | NM是NetworkManager的简写, 此网卡是否接受NM控制;建议CentOS6为“ no” |
7 | HWADDR=00:50:56:2b:fa:f7 | 对应的设备的MAC地址 |
8 | IPADDR=192.168.1.1 | 指明IP地址 |
9 | NETMASK=255.255.255.0 | 子网掩码 |
10 | PREFIX=24 | 子网掩码CIRD表示法 |
11 | GATEWAY | 默认网关 |
12 | DNS1= | 第一个DNS服务器指向 |
13 | DNS2= | 第二个DNS服务器指向 |
14 | USERCTL | 普通用户是否可控制此设备 |
15 | PEERDNS=yes | 如果BOOTPROTO的值为“ dhcp”,是否允许 dhcp server分配的dns服务器指向信息直接覆盖至 /etc/resolv.conf文件中 |
16 | DEFROUTE=yes | |
17 | PEERROUTES=yes | |
18 | IPV4_FAILURE_FATAL=yes | |
19 | NAME="System eth0" | NetworkManager管理中显示的名字 |
20 | DOMAIN= | 定义自动添加的域名后缀 |
netstat
功能描述: | 显示网络连接,路由信息,网卡状态 |
格式: | |
默认: |
此程序进入淘汰阶段,替代命令是ss
版本 | 选项 | 说明 | 示例 |
6 | -r | 显示路由表 | |
-i | 显示所有网口状态 | ||
-n | 不解析主机名,以数字形式显示 | ||
-g | 显示网卡组成员 | ||
-p | 显示相关进程和PID | ||
-c | 持续更新显示 | ||
-l | 显示LISTENING状态的网络连接 | ||
-a | 显示所有 | ||
-e | 显示扩展信息 | ||
-Z | 显示selinux相关的 | ||
-t / -u | 只显示TCP或UDP协议网络连接 |
ss
功能描述: | 显示网络连接,路由信息,网卡状态 |
格式: | |
默认: |
netstat通过遍历proc来获取socket信息, ss使用netlink与内核tcp_diag模块通信获取socket信息。
因此性能更好
版本 | 选项 | 说明 | 示例 |
-w | 裸套接字相关 | ||
-x | unix sock相关 | ||
-l | listen状态的连接 | ||
-n | 不解析主机名,以数字形式显示 | ||
-p | 相关的程序及PID | ||
-a | 显示所有 | ||
-e | 显示扩展信息 | ||
-m | 内存用量 | ||
-o | 计时器信息 | ||
-t / -u | 只显示TCP或UDP协议网络连接 | ||
state | 查找特定TCP会话状态 |
ss -o state established ’( dport = :ssh or sport = :ssh )’
Display all established ssh connections.
ss -x src /tmp/.X11-unix/*
Find all local processes connected to X server.
ss -o state fin-wait-1 ’( sport = :http or sport = :https )’ dst 193.233.7/24
List all the tcp sockets in state FIN-WAIT-1 for our apache to network 193.233.7/24 and look at their timers.
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :ssh or sport = :ssh)' 显示所有已建立的ssh连接
ss -o state established '( dport = :http or sport =:http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信息
TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
什么是路由?
为了路由功能,路由器应该做到以下:
知道目的地址
分辨源从哪里学到
发现可能路由
选择最佳路由
不停地检测与维护路由信息
路由分类:
跨网络通信:需要路由功能
主机路由:到达一个主机的路由
网络路由:到达一个网络的路径
默认路由:在不知道网络的明确路由时使用。0.0.0.0/0.在所有其他路由都不可到达时,就使用此条。
优先级:精度越高,优先级越高
路由表构成
1 网络ID, netmask:目标主机所在网络ID
2 接口interface:到达目标主机所在网络ID,从当前router哪个出口发出去,可以到达,出口就是接口
3 网关gateway:到达非直连网络时,将数据发送到下一个路由器的邻近我的接口的IP,即网关
route
功能描述: | show / manipulate the IP routing table |
格式: | |
默认: | 显示内核路由表 |
此程序进入淘汰阶段,替代命令是ip route
版本 | 选项 | 说明 | 示例 |
6 | -n | 不解析主机名 | |
-e | 以netstat格式显示路由表 | ||
add | 添加路由 | ||
del | 删除路由 | ||
-net | 设置网络路由 | ||
-host | 设置主机路由 | ||
netmask | 指定子网掩码 | ||
gw | 指定网关 | ||
dev 接口 | 指定路由出接口 |
添加一条去往192.56.76.X网络的路由,从设备eth0发送
#route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
添加一条默认路由
#route add default gw eth1
#route add -net 0.0.0.0/0 gw 172.18.1.1
#route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
添加一条去往192.1.3的主机路由,网关地址是172.16.0.1,从设备eth0发出
#route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
删除路由,route del 后面跟上正常添加路由的指令参数
#route del default gw 192.168.4.1
路由表
其中Flags栏位
U (route is up)
H (target is a host)
G (use gateway)
R (reinstate route for dynamic routing)
D (dynamically installed by daemon or redirect)
M (modified from routing daemon or redirect)
A (installed by addrconf)
C (cache entry)
! (reject route)
路由相关的配置文件,只有写入到文件,才会永久保留
/etc/sysconfig/network-scripts/route-IFACE
ip
功能描述: | show / manipulate routing, devices, policy routing and tunnels |
格式: | ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor } OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] } |
默认: | man吧,功能太强大了 |
版本 | 对象 | 说明 | 示例 |
6 | link | 查看数据链路层网卡状态相关 | |
addr | IP地址相关 | ||
route | 路由表相关 |
支持TAB命令补全,这样使用起来更加方便
支持简写功能。以下2条命令是等价的。
#ip addr add 1.1.1.1/24 dev eth1
#ip a a 2.2.2.2/24 dev eth1
以下仅仅列出常见的一些用法,更多的请man 8 ip
临时修改网卡名称
#ip link set eth1 down 需要网卡在未使用状态
#ip link set eth1 name eth11 立即生效
设置网卡别名
#ip addr add 5.5.5.5/24 dev eth1 label eth1:new
#ip addr del 5.5.5.5/24 dev eth1 label eth1:new
添加一个或多个地址,如果不添加掩码的话,默认会设置为/32
#ip addr add 1.1.1.1/24 dev eth1
#ip addr add 2.2.2.2/24 dev eth1
scope {global|link|host}:指明作用域
#ip addr add 6.6.6.6/24 dev eth1 scope host
global: 全局可用
link: 仅链接可用
host: 本机可用
删除网卡地址
#ip addr del 2.2.2.2/24 dev eth1
清空指定网卡的所有地址
#ip addr flush dev eth1
显示网卡的详细状态信息
ip -s link :
并不能显示出断开网线的情况
ifconfig
ip addr 可以正常显示出链路状态
ip link也是正常显示出链路状态
添加路由: ip route add
ip route add 192.168.0.0/24 via 172.16.0.1 添加网络路由
ip route add 192.168.1.13 via 172.16.0.1 添加主机路由
添加网关
ip route add default via 172.16.0.1
删除路由:
ip route del 具体路由
显示路由: ip route show或 ip route list
清空路由表: ip route flush dev 网卡名
Centos 6相关
Centos 6 涉及到网络相关的常用配置文件
配置文件 | 作用 |
/etc/sysconfig/network | 配置当前主机的主机名 |
/etc/hosts | 配置本地使用的主机名与IP对应关系 |
/etc/resolv.conf | DNS解析服务器地址和搜索域 |
/etc/nsswitch.conf | 调整名称解析服务优先顺序 |
/etc/sysconfig/network-scripts/route-设备接口 | 网卡路由文件。可能需要创建 |
/etc/sysconfig/network-scripts/ifcfg-设备配置 | 网卡配置文件 |
/etc/hosts
一般情况下只具备本地使用,并不像是Windows主机那样,可以通过主机名进行远程访问。
#ping centos7.hunk.teh
ping: unknown host centos7.hunk.teh
当然,也可以将对应的主机名和IP地址进行关联起来,以实现远程访问。需要修改文件
/etc/hosts
比如一台远程主机的IP地址是192.168.4.101,它对应的主机是centos7.hunk.teh
#vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.101 centos7.hunk.teh
#ping centos7.hunk.teh
PING centos7.hunk.teh (192.168.4.101) 56(84) bytes of data.
64 bytes from centos7.hunk.teh (192.168.4.101): icmp_seq=1 ttl=64 time=0.169 ms
64 bytes from centos7.hunk.teh (192.168.4.101): icmp_seq=2 ttl=64 time=0.060 ms
#ping centos7 必须要与/etc/hosts一致才可以找到对应
ping: unknown host centos7
#vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.101 centos7.hunk.teh centos7
#ping centos7 后面跟的主机名注意顺序,以第一个为返回的结果。
PING centos7.hunk.teh (192.168.4.101) 56(84) bytes of data.
64 bytes from centos7.hunk.teh (192.168.4.101): icmp_seq=1 ttl=64 time=0.083 ms
修改Centos6 主机名
我们知道使用hostname命令可以修改当前主机名
#hostname
centos6.hunk.teh
#hostname centos6-newname.hunk.teh
#hostname
centos6-newname.hunk.teh
可是,此方法操作一但系统重启之后就会恢复原样了。所以呢,在Linux的世界里,一般来讲都把操作存盘到文件中以达到永久生效的。
那么正确的修改主机名的步骤如下:
a.把主机名写入/etc/sysconfig/network文件中并存盘
#vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6-newname.hunk.teh
b.把主机名写入/etc/hosts文件中并存盘
以下步骤建议添加,以免以后应用产生莫名奇妙的问题
c.使用hostname命令可以修改当前主机名
#hostname centos6-newname.hunk.teh
d.此时实际已经生效了,如果不放心,可以按需重启系统
当然,除了使用hosts指定IP与主机名的对应关系之外,还可以使用DNS服务。指定DNS服务器的位置有2个地方。
具体的网卡配置文件
PEERDNS=yes
DNS1=8.8.8.8
DNS2=9.9.9.9
DNS3=10.10.10.10
/etc/resolv.conf 文件
nameserver 192.168.4.1
如果这2个地方冲突了,哪个会生效呢?
#cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 9.9.9.9
看来,网卡的会覆盖/etc/resolv.conf,并且只会生效2个DNS配置,那是因为网卡配置文件里定义了
PEERDNS=yes。只有明确指明PEERDNS=no时,才不会覆盖。如果网卡没有定义此行时,默认等同于PEERDNS=yes。如果网卡配置里没有DNS相关的设置,将会读取/etc/resolv.conf文件
dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf
既然hosts和dns都能解析到主机名,那么如何指定二者的顺序呢?
编辑/etc/nsswitch.conf ,找到以下行:
#hosts: db files nisplus nis dns
设置如下:
hosts: files dns 优先hosts,再到dns
hosts: dns files 优先dns,再到files
路由配置存档
使用ip route add 或 route add 命令只会在当前环境生效,一重启将会丢失,如果想永久生效,可以创建配置文件并存档。/etc/sysconfig/network-scripts/route-设备接口
注意:需service network restart生效
• 两种风格:
(1)
如:192.168.5.0/24 via 192.168.4.1
192.168.2.0/24 dev eth0
默认路由添加
0.0.0.0/0 via 10.0.0.1 等价于 default via 10.0.0.1
有意思的是这一条默认路由,Flags=UGH
0 via 10.0.0.1
(2) 每三行定义一条路由,n代表是哪一行,注意每三行里的n要统一。只有方法2没有找到时,才会找 方法1
ADDRESSn=<network>
NETMASKn=<network/prefix mask>
GATEWAYn=<next-hop router/gateway IP address>
ADDRESS0=192.168.27.0
NETMASK0=255.255.255.0
GATEWAY0=10.0.0.200
ADDRESS0=192.168.27.0
NETMASK0=192.168.27.0/24
GATEWAY0=10.0.0.200
默认路由添加
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0 正确
GATEWAY0=192.168.27.200
ADDRESS0=0
NETMASK0=0.0.0.0 正确
GATEWAY0=192.168.27.200
ADDRESS0=0
NETMASK0=0 错误
GATEWAY0=192.168.27.200
网络配置文档参考文档
/usr/share/doc/initscripts-*/sysconfig.txt
Centos 7相关
Centos 7 涉及到网络相关的常用配置文件
配置文件 | 作用 |
/etc/hostname | 当前主机的主机名配置文件 |
/etc/hosts | 配置本地使用的主机名与IP对应关系 |
/etc/resolv.conf | DNS解析服务器地址和搜索域 |
/etc/nsswitch.conf | 调整名称解析服务优先顺序 |
/etc/sysconfig/network-scripts/route-设备接口 | 网卡路由文件。可能需要创建 |
/etc/sysconfig/network-scripts/ifcfg-设备配置 | 网卡配置文件 |
修改主机名
hostnamectl
功能描述: | Query or change system hostname |
格式: | hostnamectl [OPTIONS...] COMMAND ... |
默认: | 显示当前主机相关信息 |
当前主机的hostname设置
修改主机名
方法1:
#hostnamectl set-hostname centos7-new
#hostname
centos7-new
方法2:
#nmcli general hostname centos8
此2条命令已经将此/etc/hostname文件同步修改。注销一次就可以完全切换过来了,比Centos 6简单多了。
还是建议把/etc/hosts添加一个主机名
网卡命名机制:
CentOS 6之前,网络接口使用连续号码命名: eth0、 eth1等,当增加或删除网卡时,名称可能会发生变化
CentOS 7使用基于硬件,设备拓扑和设置类型命名:
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例ens1
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例enp2s0
(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
(e) 上述均不可用时,则使用传统命名机制187
网卡名称
名称组成格式
en: Ethernet 有线局域网
wl: wlan 无线局域网
ww: wwan无线广域网
名称类型:
o<index>: 集成设备的设备索引号
s<slot>: 扩展槽的索引号
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>: enp2s1188
当生产中同时存在Centos 6 和 7的时候,批量性需要对网卡类相关操作的时候,网卡的命名统一将会是一个非常好的建议。
采用传统命名方式,比如说像Centos 6一样的eth0..eth1...
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统
常用的一些网络命令在Centos7还是可以使用的,可以参考上面Centos 6相关。
nmtui - 文本模式的网络和主机名编辑工具
nmtui-edit | nmtui edit {name | id}
nmtui-connect | nmtui connect {name | uuid | device | SSID}
nmtui-hostname | nmtui hostname
体验过CentOS7系统的都知道,CentOS7虽然是CentOS6.8的下一个版本,但两者的性能以及各个方面都发生了很大的变化,单从网络配置模块来说,就做了很大的改变,网卡的命名规则以及网络配置工具,都做了较大的更新,CentOS7上配置网络的主要工具是nmcli命令集,使用CentOS7之前的系统时如果要配置网络,要使用好多的命令组合完成,而且还不会直接修改配置文件,但CentOS7上推出的nmcli命令集就很好的解决了这一问题,虽然人家选项、参数比较多,但一个命令可以把所有的配置工作全部完成,而且直接写入配置文件。
nmcli
功能描述: | 命令行网络控制工具 |
格式: | nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor} [COMMAND] [ARGUMENTS...] |
默认: | Centos 7推荐使用工具 |
支持TAB补全和简写,如nmcli connection 可以写成 nmcli con,只要后面与子命令是唯一,多短都行
版本 | 对象 | 说明 | 示例 |
6 | connection | 管理所有的连接配置 | |
device | 管理连接到主机的网络设备 | ||
general | 管理主机名,日志生成方式等 | ||
networking | 开关网络功能 |
connection
子命令 | 说明 | 示例 |
show | 显示所有的连接配置信息作用在哪些设备上 | #nmcli connection show |
up | 启用指定的连接配置,显示绿色 | |
down | 关闭指定的连接配置,显示白色 | |
modify | 命令行修改连接配置 | |
add | 添加连接配置 | |
edit | 交互式修改连接配置 | |
clone | 复制一份连接配置 | |
delete | 删除指定的连接配置 | #nmcli connection delete new |
monitor | ||
reload | 重新加载/etc/sysconfig/network-scripts/ 下所有的连接配置文件 | #nmcli connection reload |
load | 加载连接配置文件 | |
import | 导入配置文件,仅仅支持VPN连接 | |
expor | 导出配置文件,仅仅支持VPN连接 |
ipv4常用配置对照表
nmcli 配置选项 | ifcfg-配置名 |
type ethernet网络类型 | TYPE=Ethernet |
ipv4.method manual 获取IP方式,值:auto,manual | BOOTPROTO=none |
ipv6.method ignore 忽略IPV6,不设置 值:[ignore, auto, dhcp, link-local, manual, shared] | IPV6INIT=no |
ipv4.addresses 192.168.0.1/24 静态IP地址1 | IPADDR=192.168.0.1 PREFIX=24 |
ipv4.gateway 192.168.0.2 网关 | GATEWAY=192.168.0.2 |
ipv4.dns 8.8.8.8 DNS1 | DNS1=8.8.8.8 |
ipv4.dns-search magedu.comDNS后缀 | DOMAIN=magedu.com |
ipv4.never-default no 默认路由,多网卡时建议设置no | DEFROUTE=no |
con-name test NMCLI管理识别名称 | NAME=test |
ifname ens36 对应的物理设备 | DEVICE=ens36 |
autoconnect yes 开机是否激活 | ONBOOT=yes |
HWADDR=0C:00:0A:66:66:66 硬件MAC | HWADDR=0C:00:0A:66:66:66 |
MTU=1500 MTU单元 | MTU=1500 |
ETHTOOL_OPTS="autoneg off speed 1000 duplex full" 网卡速率 | ETHTOOL_OPTS="autoneg off speed 1000 duplex full" |
ipv4.dhcp-client-id DHCPA DHCP客户端标识 | DHCP_CLIENT_ID=DHCPA |
ipv4.ignore-auto-dns=yes 覆盖/etc/resolv.conf设置 | PEERDNS=no |
显示所有的连接配置信息作用在哪些设备上,哪怕是/etc/sysconfig/network-scripts/下没有网卡配置文件的网卡的信息,绿色的表示正在启用的。
#nmcli connection show
看到了吗,上图的连接配置名与磁盘上的文件名是不一致的,是由配置文件中NAME=ens36 这一行决定,但是配置文件必须是ifcfg-开头,这一点和Centos6是一样的。
显示特定的连接配置
#nmcli connection show ens33
添加连接配置
#nmcli connection add con-name nmcli-ifcfg-1 ifname ens37 type ethernet autoconnect no ipv4.method auto
ipv4.method 指的是是手动指定IP还是DHCP,手动=manual, DHCP=auto
修改连接配置
#nmcli connection edit nmcli-ifcfg-1,之后将会进入交换模式,修改完之后记录save
#nmcli connection modify nmcli-ifcfg-1 autoconnect yes 这种方式非交互式
#nmcli connection modify ens36 ipv4.method manual +ipv4.addresses 1.1.1.1/24 可以添加多个IP地址,记得重新加载配置并down 和 up。使用+/-可以减少或添加多个项目。
#nmcli connection reload
#nmcli connectio down ens36
#nmcli connectio up ens36
删除添加的地址
#nmcli connection delete 连接配置名 -ipv4 addresses 2.2.2.2/16
一个接口可以有多套配置文件,多套的配置文件中的接口是相同的,但UUID不能相同
添加路由并自动生成route存档文件
#nmcli connection modify ens33 ipv4.routes 192.168.27.0/24,172.18.0.200/16
#cat route-ens33
ADDRESS0=192.168.27.0
NETMASK0=255.255.255.0
ADDRESS1=172.18.0.200
NETMASK1=255.255.0.0
device
子命令 | 说明 | 示例 |
status | 显示所有的连接设备状态 | #nmcli device status |
show | 显示指定的设备信息 | |
set | 设置 | |
connect | 启用指定设备 | |
reapply | ||
modify | 修改当前活动的设备 | |
disconnect | 关闭指定设备 | |
delete | 从系统中删除指定的软件设备 | #nmcli connection delete new |
monitor | ||
wifi | WIFI设备相关 | |
lldp |
显示指定的设备信息
#nmcli device show ens33
更多的用法,请man吧,真的是一把网络管理的利器。
测试网络连通性
ping
确定名称服务器使用
nslookup
host
dig Centos 7 最小安装不附带此命令
跟踪路由
traceroute Centos 7 最小安装不附带此命令
tracepath Centos 6 最小安装不附带此命令
mtr
功能描述: | 网络测试工具,综合了traceroute and ping功能 |
格式: | mtr [OPTIONS...] 域名或IP |
默认: | 用来跟踪路由,还可以测试丢包率、网络延迟等 |
此软件包可以通过yum install mtr.x86_64 安装
版本 | 选项 | 说明 | 示例 |
-r | 以报告形式显示,并不会动态显示 | ||
-n | 不解析主机名称 | ||
-c | 发数数据包数量 | ||
-w | 以宽屏报告形式显示,不截断显示 并不会动态显示 | ||
-s | ping包的大小 | ||
-a | 来设置发送数据包的IP地址 这个对一个主机有多个IP地址是有用的 | ||
-i | 使用这个参数来设置ICMP返回之间的要求 默认是1秒 | ||
-o | 指定显示统计项 | L Loss ratio D Dropped packets R Received packets S Sent Packets N Newest RTT(ms) B Min/Best RTT(ms) A Average RTT(ms) W Max/Worst RTT(ms) V Standard Deviation G Geometric Mean J Current Jitter M Jitter Mean/Avg. X Worst Jitter I Interarrival Jitter |
第一列 | 显示的是IP地址和本机域名,这点和tracert很像。 |
第二列 Loss% | 是显示的每个对应IP的丢包率。 |
第三列 snt | snt等于10,设置每秒发送数据包的数量,默认值是10 可以通过参数 -c来指定。 |
第四列 Last | 显示的最近一次的返回时延 |
第五列 Avg | 平均值,这个是发送ping包的平均时延。 |
第六列 Best | 最好或者说时延最短的时间。 |
第七列 Wrst | 最坏或者说时延最长的时间。 |
第八列 StDev | 标准偏差。 |
其他的一些客户端软件
ftp, lftp:子命令: get、 mget、 ls、 help
lftp [-p port] [-u user[,password]] SERVER
lftpget URL
wget [option]... [URL]... 下载软件
-q: 静默模式
-c: 断点续传
-P:保存在指定目录
-O: 保存为指定的文件名
--limit-rate=: 指定传输速率,单位K,M等
links URL 字符界面下的网页浏览器
--dump
--source