原标题:Linux网络与防火墙

核心概念

IP 地址:网络中设备的逻辑地址,比如 192.168.1.100。IPv4 是 32 位,分成公网地址(全球唯一,可路由)和私网地址(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16,只能在局域网内用,需要 NAT 才能上外网)。

Gateway(网关):局域网通往外部网络的“出口”路由器地址。你的设备发往非本网段的包,都会先丢给网关,由它转发出去。比如网关是 192.168.1.1,通常就是你的路由器。

DNS:把域名(如 google.com)解析成 IP 地址的服务,因为人记域名比记 IP 方便,但网络传输还是要用 IP。Linux 下配置在 /etc/resolv.conf。

Port(端口):同一个 IP 上区分不同服务/进程的编号(0-65535)。IP 负责“到哪台机器”,端口负责“到机器上的哪个程序”。比如 80 是 HTTP,443 是 HTTPS,22 是 SSH。

#常见端口
22     SSH
80     HTTP
443    HTTPS
3306   MySQL
6379   Redis

常用命令

ping:用 ICMP 协议测试目标主机是否可达,能看到往返延迟(RTT)和丢包率。最基础的连通性排查工具。

ping baidu.com

curl:命令行发起 HTTP/HTTPS/FTP 等请求的工具,可以看响应内容、状态码、headers,常用来测 API 或调试网站。

curl -I https://example.com   # 只看响应头
curl -v https://example.com   # 详细过程

wget:专注于下载文件的工具,支持断点续传、递归下载整个网站目录。跟 curl 的定位不同(curl 更偏“调试/交互”,wget 更偏“下载”)。

wget https://example.com/file.zip

ss:查看当前系统的 socket 连接状态(取代老旧的 netstat),比如哪些端口在监听、有哪些 TCP 连接。

ss -tulnp   # 查看监听中的 TCP/UDP 端口及对应进程

ip:新一代网络配置工具(取代 ifconfig/route),管理网卡、IP 地址、路由表。

ip addr        # 查看网卡和 IP
ip route       # 查看路由表(含默认网关)
ip link        # 查看网卡状态

traceroute:显示数据包从你的机器到目标主机经过的每一跳路由器,配合延迟数据,用来定位网络卡在哪一段。

traceroute baidu.com

排查思路一般是:ping 看通不通 → traceroute 看卡在哪一跳 → ss/ip 看本机网络配置是否正常 → curl 看应用层(HTTP)是否正常。

为什么 localhost 是 127.0.0.1

127.0.0.0/8 这整个网段被 IANA 保留为回环地址(loopback),数据包发到这个地址不会真的走网卡出去,而是在内核网络协议栈里直接“打个转”送回本机自己,用来测试本机网络服务或本地进程间通信,不受物理网卡状态影响(哪怕网线拔了,127.0.0.1 依然能用)。

127.0.0.1 只是这个网段里约定俗成最常用的那个地址(类似“第一个可用地址”的习惯),其实 127.0.0.1 ~ 127.255.255.254 整段都指向本机。localhost 是这个 IP 对应的域名,写在 /etc/hosts 里,本质上就是个别名。