作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络服务,所以我们需要熟练掌握网络相关的命令,用于探测对端网络是否畅通,用于检查本地网络进程是否正常,以及可以通过命令去远端服务器进行下载文件,或者请求对方接口。
主要从以下几个方面来介绍:
1.给Linux服务器配置IP
2.探测对方网络连通性(ping & telnet)
3.下载对方文件(wget)
4.请求对方服务器(curl)
5.检查本地服务状态(netstat)
6.检查本地服务状态(ss)
7.网络小结(本章节)
经过前面6小节的介绍,我们已经可以完成配置ip地址,探测远端服务器的的连通性问题,可以基本判断网络是否有问题。还可以去互联网下载文件,然后还可以探测远端服务器的情况,并且可以还可以查看到本地的端口启动情况,大部分的网络问题都可以通过以上命令进行排查,这些命令参数也比较简单,还是可以很快掌握的。

上面讲的只是Linux网络的基本命令,对于计算机网络一点都没有讲,这个后期会单独出一个大的章节来讲解。前面6小节我们只讲了几个网络命令,涉及到网络的命令当然远远不止上面那几个,但是平时一般运维的情况下,使用频繁的网络命令就是上面几个,比如ip这个命令,就有非常多的参数。比如可以查看ip地址,查看路由(网络不通也和路由有很大关系)。另外就是telnet命令在默认最小化安装的情况下是不带的,如果没有这个命令我们能完成端口探测么,下面我们讲一个不依赖telnet命令来实现探测网络端口是否通畅的方法。

有没有看出来什么?是的,我们不依赖telnet命令也可以探测对方端口是否正常。
echo > /dev/tcp/192.168.179.128/22
#如果没有任何返回,则说明对方端口是开放的。
[root@localhost ~]# echo > /dev/tcp/192.168.179.128/22
[root@localhost ~]# echo $?
0
#也可以用echo $?这个命令来判断命令是否执行成功。命令 echo > /dev/tcp/192.168.179.107/22 是一种利用Linux系统中的特性来尝试与远程主机进行TCP连接的方式。这种方法通常用于快速检查目标主机的网络可达性,特别是在没有安装ping或telnet等网络工具时。
具体解释如下:
/dev/tcp/192.168.179.107/22 是Linux中的一个虚拟设备文件路径,它允许通过文件I/O来操作网络套接字。echo 命令在这里被用来向指定的TCP套接字发送数据。> /dev/tcp/192.168.179.107/22 表示将空字符串(即空数据)通过TCP连接发送到目标IP地址 192.168.179.107 的22端口(SSH端口)。/dev/tcp 和 /dev/udp 虚拟文件系统。此外,某些安全策略也可能会限制对这些设备文件的访问。ping、telnet、nc(netcat)等,它们提供了更多的控制和信息反馈,能够更精确地确认网络连接的状态和问题。