网络宝典
第二套高阶模板 · 更大气的阅读体验

运维网络基础知识入门:搞懂这些才能稳住线上

发布时间:2025-12-23 18:51:31 阅读:287 次

IP地址与子网划分:网络世界的门牌号

每台设备接入网络,都得有个唯一标识,就像快递送货要看门牌号一样。IP地址就是这个“门牌”。常见的IPv4地址由四段数字组成,比如192.168.1.100。但光有IP不够,还得知道它属于哪个网络段——这就靠子网掩码。

举个例子:你家路由器默认分配的IP通常是192.168.1.x,子网掩码是255.255.255.0,这意味着前三个字段相同的设备在同一个局域网里,可以直接通信。一旦跨网段,就得靠网关转发。

网关和路由:数据包的导航系统

当你的服务器要访问外网,数据不能瞎跑,得知道下一跳往哪走。网关就是出口,通常是一个路由器的内网IP,比如192.168.1.1。所有发往外部网络的数据,都会先送到这里。

而路由表决定了数据怎么走。Linux下用ip route命令就能查看当前路由规则。比如一条记录:

default via 192.168.1.1 dev eth0
表示默认流量都从eth0网卡发出,交给192.168.1.1处理。

DNS:把域名翻译成IP

没人记得住所有服务器的IP,所以有了域名。但机器只认IP,中间这层转换靠DNS。当你在服务器上执行ping www.baidu.com,系统会先向DNS服务器查询对应的IP地址。

运维常遇到的问题是DNS解析失败。这时候可以试试用dignslookup工具排查。比如:

dig www.example.com +short
看看能不能拿到结果。如果本地查不到,可能是配置错了/etc/resolv.conf文件里的nameserver。

TCP与UDP:两种不同的传话方式

TCP像打电话,讲究确认机制,三次握手建立连接,保证数据不丢、不错序。网页浏览、数据库连接基本都用TCP。

UDP则像发短信,发出去就完事,不确认对方有没有收到。适合实时性要求高、能容忍少量丢失的场景,比如视频直播、DNS查询。

运维排查时常用netstatss命令看端口状态。比如检查Web服务是否监听了80端口:

ss -tuln | grep :80
如果没输出,说明服务没起来或者绑定错了地址。

防火墙与安全组:守住网络大门

服务器上线第一件事就是设好访问控制。Linux常用的iptables或更现代的nftables,可以定义哪些IP能访问哪些端口。云环境还有安全组,逻辑类似,但配置更图形化。

一个典型的安全组规则可能是:只允许公网IP访问443端口(HTTPS),SSH(22端口)仅限公司IP登录。写iptables的话可能长这样:

iptables -A INPUT -p tcp --dport 22 -s 10.0.0.50 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
意思是只有来自10.0.0.50的连接才能进SSH,其他一律拒绝。

网络排错常用命令组合

线上服务挂了,第一步往往是看网络通不通。ping是最基础的工具,测试目标主机是否可达。但如果对方禁了ICMP,你就得换招。

这时候用telnetnc测端口连通性更准。比如检测Redis是否可连:

nc -zv 172.16.10.20 6379
返回“succeeded”才算通。

再复杂点的问题,就得抓包了。tcpdump是神器。想看某台服务器是否收到了请求,可以这么抓:

tcpdump -i eth0 host 172.16.10.20 and port 80 -nn
观察是否有进来的SYN包,判断问题是出在网络层还是应用层。