目录
一、查看网络配置
1.查看网络接口信息ifconfig
2.查看指定网络接口信息
3.修改网络配置文件
4.设置网络接口参数ifconfig
启用、禁用网络接口配置
5.hostname
修改主机名称
二、route
1.route命令
2.添加、删除静态路由记录
3. 添加、删除默认网关记录
三、netstat
1.netstat命令
2.常用选项
四、ss
1.获取socket统计信息ss
2.常用选项
五、测试网络连通性
1.尝试ping百度
2.小结
六、traceroute
1.作用
2.安装及实例
七、nslookup
1.域名解析
2.域名解析配置文件查看与修改 resolv.conf
八、本地主机映射文件
主机的网络接口卡(网卡)通常称为网络接口。在Linux操作系统中,使用ifconfig命令可以查看网络接口的地址配置信息(Interface Confiquration)
若采用mini版Centos7安装的系统默认是没有ifconfig命令的,需要先通过yum方式安装net-tools软件包,才有ifconfig命令
ens33:第一块以太网卡的名称。“ens33中的*en"是"EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字33”表示插槽编号。
lo:“回环网络接口,””是"loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是"127.0.0.1",回环地址通常仅用于对本机的网络测试
ifconfig #显示已启用的网络接口,不包括禁用设备
ifconfig ens33 #只查看网卡ens33的配置信息
lo 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。
用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入127.0.0.1,就能看到你所架WEB网站了。但只是你能看得到,局域网的其它主机或用户无从知道。
virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)
网络接口配置文件默认位于/etc/sysconfig/network-scripts/ifcfg-ens33
文件名格式为"ifcfg-xxx",其中"xxx"是网络接口的名称。
比如,网卡ens33的配置文件是"ifcfg-ens33",回环接口lo的配置文件是"ifcfg-lo"。
在CentOS 7操作系统中,当修改了网络接口的配置文件后,若要使新的配置生效·,可用重新启动 network服务或重启主机
systemctl restart network 重启网卡
注:建议关闭NetworkManager服务,否则有时启动network会报错
systemctl stop NetworkManger
systemctl disable NetworkMannager
ifconfig命令不仅可用用于查看网卡配置,还可以修改网卡的IP。
地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。
ifconfig ens37 192.168.109.13 netmask 255.255.255.0 //临时配置网卡的ip地址
ifconfig ens37 192.168.109.13/24 //当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码
如果只是禁用、启用某一个网络接口(非所有接口),可分别使用两个接口控制脚本ifdown、ifup、ifconfig ens37 down|up或ifup/ifdown ens37
为网卡绑定虚拟接口:在对服务器网络进行调试的过程中,有时候需要临时在同一网卡上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用。
这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)。
概述:查看主机名称。
主机名:在Linux操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。
命令格式:hostname [主机名]
主机名在修改之后,需要bash一下才可以实现。
临时修改主机名(重启之后失效)
永久修改主机名称
hostnamectl set-hostname 主机名
查看或设置主机中路由表信息:route [-n]
路由表:Linux操作系统中的路由表决定着本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。
当目标网段为"default"时,表示慈航事默认网关记录:当下一跳为"gatway"时,表示目标网段是与本机直接相连的。但是,直接执行"route"命令无法直接看出默认网关地址。
查看路由,使用-n可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度 。
添加静态路由条目(临时添加,重启network服务失效)
选项 | 作用 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。 |
-n | 以数字的形式显示相关的主机地址、端口等信息。 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。 |
-r | 显示路由表信息。 |
-l | 显示处于监听(Listenin状态的网络连接及端口信息。 |
用法:通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息。配合管道符grep过滤出特定的记录。
监听TCP
ss命令:也可以查看网络连接情况,主要用于获取socket统计信息,它可以显示和netstat命令类似的输出内容。但ss的优势在于它能够显示更多详细的有关TCP和连接状态信息,而且比netstat更快更高效。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度会很慢。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
选项 | 作用 |
-h | 通过该选项获取更多的使用帮助。 |
-V | 显示软件的版本号。 |
-t | 显示 TCP 协议的 sockets。 |
-u | 显示 UDP 协议的 sockets。 |
-n | 不解析服务的名称,如 "22" 端口不会显示成 "ssh"。 |
-l | 只显示处于监听状态的端口。 |
-p | 显示监听端口的进程。 |
-a | 对 TCP 协议来说,既包含监听的端口,也包含建立的连接。 |
-r | 把 IP 解释为域名,把端口号解释为协议名称。 |
-o | 选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量。 |
-w | 用于字符串精确匹配。 |
使用ping命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按ctrl +c组合键后中止测试,并显示最终统计结果。
格式:ping [选项] 目标主机
-c表示指定ping的次数
-i秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-w [时间] 表示ping的超时时间为多少秒时,结束 ping过程
若看到"Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭若看到"Network is unreachable"的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到Request timeout”的反馈结果。
跟踪数据包的路由途径需要使用traceroute命令。
格式:traceroute [目标主机地址]
若服务器上没有traceroute命令,可通过yum方式安装traceroute软件包
traceroute命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为"*"。
traceroute命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢。在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用traceroute命令跟踪查看是在哪个中间结点存在故障。
格式:nslookup 目标主机地址 [DNS服务器地址]
/etc/hosts 文件中记录着一份主机名与IP
/etc/hosts 文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询。