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