引言
本章内容告诉我们如何查看网络配置,测试网络连接,使用网络配置命令以及修改网络配置文件。
一、查看网络设置
1.1查看网络接口信息 ifconfig
查看所有活动的网络接口信息
执行 ifconfig 命令
查看指定网络接口信息
ifconfig 网络接口
mtu:代表最大传输单元,它的单位是字节。在我们常用的以太网中,MTU一般是1500,而无线路由器默认一般是 1492。
本地MTU值 > 网络MTU值 → 拆包,效率下降
本地MTU值 < 网络MTU值 → 未发挥最大传输能力
本地MTU值 < 网络MTU值 → 理想的本地MTU值
inet:表示网络接口的IP地址,如“192.168.59.102”;
netmask:表示网络接口的子网掩码,如“255.255.255.0”;
broadcast:表示网络接口所在网络的广播地址,如:“192.168.59.255”;
ether:表示网络接口的物理地址(MAC地址),如“00:0c:29:3e:22:fe:”
1.2 查看主机名称 hostname
hostname 命令
查看或设置当前主机名
hostname [主机名]
hostname ###查看当前主机名称
hostnamectl set-hostname 主机名称 ###永久修改主机名称
vim /etc/hostname ###设置完后需重启系统才生效
1.3 查看路由表条目 route
route 命令
查看或设置主机中路由表信息
route
或
route [-n] #-n:将路由记录中的地址信息显示为数字形式
1.4 查看网络连接情况 netstat
netstat 命令
查看系统的网络连接状态、路由表、接口统计等信息
netstat [选项]
常用选项
用法:
1.通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息
2.配合管道符grep过滤出特定的记录
1.5 获取socket统计信息 ss
ss 命令
查看系统的网络连接情况,获取socket统计信息
ss [选项]
lsof [选项] #查看打开服务进程的端口(TCP、UDP)
常用选项
注:当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快的秘诀在于,它利用到了TCP协议栈 tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
1.6 测量命令的执行时间 time
1.real:从进程1s开始执行到完成所耗费的CPU总时间。该时间包括1s 进程执行时实际使用的 CPU 时间,1s进程耗费在阻塞上的时间(如等待完成I/O操作)和其他进程所耗费的时间(Linux是多进程系统,1s在执行过程中,可能会有别的进程抢占CPU ) 。
2.user:进程1s执行用户态代码所耗费的CPU时间。该时间仅指 1s进程执行时实际使用的CPt时间,而不包括其他进程所使用的时间和本进程阻塞的时间。
3.sys:进程1s在内核态运行所耗费的 CPU时间,即执行内核系统调用所耗费的 CPU时间
二、测试网络连接
2.1 测试网络连接 ping
ping 命令
测试网络联通性
ping [选项] 目标主机
2.2 跟踪数据包 traceroute
traceroute 命令
跟踪数据包的路由途径:traceroute
若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包
traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”
traceroute 目的主机地址
2.3 域名解析 nslookup
nslookup 命令
测试 DNS 域名解释
nslookup 目标主机地址 [DNS服务器地址]
2.4 常用域名查询工具 Dig
2.5域名解析配置文件resolv.conf
/etc/resolv.conf
文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的
DNS 服务器地址,优先使用第1个 DNS服务器。
vim/etc/resolv.conf 域名解析的位置
三、使用网络配置命令
3.1 设置网络参数的方式
临时配置:使用命令调整网络参数
简单、快速,可直接修改运行中的网络参数
一般只适合在调试网络的过程中使用
系统重启以后,所做的修改将会失效
固定设置:通过配置文件修改网络参数
修改各项网络参数的配置文件
适合对服务器设置固定参数时使用
需要重载网络服务或者重启以后才会生效
3.2设置网络接口参数 ifconfig
设置网络接口的IP地址、子网页掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]
禁止或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
或
ifdown 网络接口
设置虚拟网络接口
ifconfig 网络接口:序号 ip地址
示例:ifconfig ens33:1 192.168.146.55/24 绑定接口
ifconfig 查看,或者使用ip a
3.3 设置路由记录 route
添加到指定网段的路由记录
route -n 查看当前路由表
route add -net 网段地址 gw IP地址
删除到指定网段的路由记录
route del -net 网段地址
向路由表中添加默认网关记录
route add default gw IP地址
删除路由表中默认的网关记录
route del default gw IP地址
四、修改网络配置文件
4.1 网络接口配置文件
网络接口的配置文件默认位于/etc/sysconfig/network-scripts/ifcfg-ens33
文件名格式为 “ ifcfg-XXX ”,其中“ XXX ”是网络接口的名称
例如,网卡 ens33 的配置文件是“ifcfg-ens33”
TYPE=Ethernet #设置网卡类型,“Ethernet”表示以太网。
BOOTPROTO=static #设置网络接口的配置方式,值为“static”时表示使用静态指定的 IP 地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。
DEVICE=ens33 #设置网络接口的名称
NAME=ens33 #设置网络接口的名称
UUID=01f717ed-f7ac-4ac0-a209-c7c5889e3635 #设备ID
ONBOOT=yes #设置网络接口是否在 Linux 操作系统启动时激活。
IPADDR=192.168.4.11 #设置网络接口的 IP 地址。
NETMASK=255.255.255.0 #设置网络接口的子网掩码。
GATEWAY=192.168.4.1 #设置网络接口的默认网关地址
DNS1=8.8.8.8 #设置域名解析服务器
DNS2=114.114.114.114
设置DNS文件:/etc/hosts、网卡配置文件、/etc/resolv.conf
生效顺序:1、hosts文件 2、网卡配置文件 3、/etc/resolv.conf
4.2 启用、禁用网络接口设置
重启network网络服务
systemctl restart network
禁用、启用网络接口
ifdown ens33 禁用
ifup ens33 启用
4.3 主机名称配置文件
4.3.1永久设置主机名1
通过/etc/hostname文件来修改主机名
仅识别第一行并且重启后生效
4.3.2永久设置主机名2
过hostnamectl来修改主机名`
hostnamectl set-hostname badao 永久设置主机名为badao
bash 重启
hostname 查看主机名
4.3.3零时设置主机名
hostname 新主机名
bash
hostname
4.4 域名解析配置文件
/etc/resolv.conf文件
保存本机需要使用的DNS服务器的IP地址
4.5 本地主机映射文件
/etc/hosts
###保存主机名与IP地址的映射记录
hosts文件和DNS服务器的比较:
1.默认情况下,系统首先从hosts 文件查找解析记录
2.hosts文件只对当前的主机有效
3.hosts文件可减少DNS查询过程,从而加快访问速度
五、总结
1.查看网络配置
ifconfig、hostname、route、netstat、ss
2.测试网络连接
ping、traceroute、nslookup、dig
3.设置网络地址参数
临时配置、永久配置
4.设置别名及域名解析
5.本地映射文件的使用