Linux 网络基础:IP、网关、DNS、端口
学习 Linux 网络命令之前,你需要先理解几个基本概念:IP 地址、子网、网关、DNS 和端口。它们不是 Linux 独有的,但 Linux 网络排错几乎离不开它们。
IP 地址
IP 地址用于标识网络中的一台主机或一个网络接口。常见 IPv4 地址长这样:
192.168.1.10
查看本机地址:
ip addr
你可能会看到:
inet 192.168.1.10/24
这里的 /24 表示网络前缀长度。初学时你可以把 192.168.1.10/24 理解为:这台机器在 192.168.1.0 这个局域网里。
私有地址
家庭、公司和实验网络里常见的 IPv4 私有地址范围包括:
10.0.0.0/8172.16.0.0/12192.168.0.0/16
这些地址通常只在局域网内部使用,不能直接在公网互相访问。
回环地址
127.0.0.1 是回环地址,常叫 localhost,表示“本机自己”。
如果你启动了一个只监听 127.0.0.1:8080 的服务,那么同一台机器可以访问它,但其他机器通常不能直接访问。
网关
网关是本机访问其他网络时的出口。家用网络里,网关通常是路由器地址,比如:
192.168.1.1
查看路由:
ip route
你可能会看到:
default via 192.168.1.1 dev wlan0
default via 后面的地址就是默认网关。
DNS
DNS 用来把域名解析成 IP 地址。例如访问:
www.example.com
系统需要先通过 DNS 查询它对应的 IP 地址。
测试 DNS:
dig example.com
如果没有 dig,也可以尝试:
getent hosts example.com
DNS 失败时,你可能能 ping 8.8.8.8,但不能访问域名。
端口
端口用于区分同一台机器上的不同网络服务。
常见端口:
| 端口 | 常见用途 |
|---|---|
| 22 | SSH |
| 53 | DNS |
| 80 | HTTP |
| 443 | HTTPS |
| 3306 | MySQL |
| 5432 | PostgreSQL |
一个网络服务通常由 IP、协议和端口共同定位。例如:
192.168.1.10:22
表示访问 192.168.1.10 上的 SSH 服务。
TCP 和 UDP
TCP 和 UDP 是两种常见传输层协议。
- TCP:面向连接,可靠传输,常用于 SSH、HTTP、HTTPS。
- UDP:无连接,开销小,常用于 DNS、音视频、部分实时协议。
查看监听端口时,你会经常看到 tcp 和 udp。
网络接口
网络接口是系统和网络连接的入口。常见名称包括:
lo:回环接口。eth0、ens33:有线网卡。wlan0、wlp2s0:无线网卡。
查看接口:
ip link
查看地址:
ip addr
小结
Linux 网络排错时,你要先弄清楚:
- 本机有没有 IP 地址。
- 默认网关是否正确。
- DNS 是否能解析域名。
- 目标服务是否监听了正确端口。
- 防火墙是否放行。
下一篇会把这些概念落实到 ip、ping、ss、curl 和 dig 等命令上。