目录
前言
linux的网络服务要先从网络设置进行调试,所以要先把网络设置好,网络优化好,才能为网络服务提供保障。
一、查看网络配置
1.查看网络接口信息-ifconfig
命令:ifconfig 网络接口
第一行:ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备,数字“33”表示插槽编号。flags表示标记、UP表示接口状态开启、BROADCAST表示广播地址、RUNNING网卡设备已连接状态、MULTICAST表示组播、mtu表示数据包的最大传输单元。
第二行:inet表示ipv4地址、netmas表示子网掩码、broadcast表示广播地址
第三行:inet6表示ipv6地址
第四行:ether表示mac地址、Ethernet(以太网)表示连接类型
第五行:接受数据包个数、大小统计信息
第六行:异常接受包的个数、如丢包量、错误等
第七行:发送数据包个数、大小统计信息
第八行:发送包的个数、如丢包量、错误等
“lo” 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
“virbr0”是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)。
2.查看路由表条目-route
route命令:route [-n] “-n”将路由记录中的地址信息显示为数字形式
查看或设置主机中路由表信息
3.查看网络连接情况-nststat
命令:nststat [选项]
查看系统的网络连接状态,路由表,接口统计信息等信息
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-l | 显示处于监听(Listenin)状态的网络连接及端口信息 |
-t | 查看TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
4. 获取socket统计信息-ss
ss 命令:
可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
ss 命令的优势:
能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
常用选项
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-l | 显示处于监听(Listenin)状态的网络连接及端口信息 |
-t | 查看TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
-o | 选项可用于显示计时器信息 |
二、测试网络连接
1.测试网络连接-ping
ping 命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctrl +C 组合键后中止测试。
ping [选项] 目标主机
ping -c | 后面加数字表示指定ping的次数,次数到了就停止 |
ping -w | 后面加数字表示持续ping的秒数,秒数到了就停止 |
ping -i | 后面加数字表示每个几秒ping一次 |
2.跟踪数据包-traceroute
若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包
traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”。
traceroute 命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢。
在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用 traceroute 命令跟踪查看是在哪个中 间结点存在故障。
3.域名解析-nslookup
三、修改网络配置文件
1修改网络参数的方式
临时配置—使用命令调整网络参数
1.简单、快速,可直接修改运行中的网络参数
2.—般只适合在调试网络的过程中使用
3.系统重启以后,所做的修改将会失效
固定设置—通过配置文件修改网络参数
1.修改各项网络参数的配置文件
2.适合对服务器设置固定参数时使用
3.需要重载网络服务或者重启以后才会生效
2.查看/修改主机名称
hostname命令:hostname [主机名]
3.设置网络参数接口
设置网络接口的IP地址、子网掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址[/子网掩码长度]
禁用或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
设置虚拟网络接口
ifconfig 网络接口:序号 ip地址
4.设置路由记录
添加到指定网段的路由记录
route add -net 网段地址 gw ip地址
删除到指定网段的路由记录
route del -net 网段地址
向路由表中添加默认网关记录
route add default gw ip地址
删除路由表中默认的网关记录
route del default gw ip地址
5.启用、禁用网络接口配置
重启network网络服务
[root@localhost ~]# systemctl restart network
禁用、启用网络接口
[root@localhost ~]# ifdown ens33 #禁用
[root@localhost ~]# ifup ens33 #启用
6.本地主机映射文件
/etc/hosts 文件
记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
hosts文件和DNS服务器的比较
默认情况下,系统首先从hosts文件查找解析记录
hosts文件只对当前主机有效
hosts文件可减少DNS查询过程,从而加快访问速度
总结
查看网络配置:ifconfig命令(网络接口信息)、hostname命令(主机名称)、route命令(路由表条目)、netstat命令(网络连接情况)、ss命令(获取socket统计信息)。
测试网络连接:ping命令(测试网络连通性)、traceroute命令(测试从当前主机到目标的主机之间经过的网络节点)、nslookup命令和dig命令(测试DNS域名解析)。
设置网络地址参数:修改网络配置文件在/etc/sysconfig/network-scripts/目录下;域名解析配置文件在/etc/resolv.conf文件中;本地主机映射文件在/etc/hosts。