【运维】Linux 服务器实战(5):网络、ufw 防火墙与端口排查
Linux 服务器实战 · 第 5 篇
端口被谁占了?防火墙怎么只开需要的洞?网络问题 5 分钟初筛。
1. 端口与进程
# 推荐 ss(替代 netstat)
sudo ss -tunlp
# 看 80 端口
sudo ss -tlnp | grep ':80'
# 按端口找 PID
sudo lsof -i :8000 -sTCP:LISTEN
优先 用 systemctl 停服务,再考虑 kill:
sudo fuser -k 8000/tcp # 慎用
2. UFW 防火墙
sudo ufw status verbose
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw allow from 203.0.113.0/24 to any port 22 proto tcp
sudo ufw enable
sudo ufw disable # 紧急全关(调试完记得开回)
sudo ufw delete allow 80/tcp
3. 网络连通性
ip -br a
ip route
ping -c 3 1.1.1.1
ping -c 3 baidu.com
dig +short pc530.com
curl -vI https://pc530.com --max-time 10
traceroute -n 8.8.8.8
DNS 问题:
resolvectl status
cat /etc/resolv.conf
4. 静态 IP(Netplan,22.04+ 常见)
/etc/netplan/00-installer-config.yaml 示例(改前备份):
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.1.10/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [223.5.5.5, 8.8.8.8]
应用:
sudo netplan try # 120s 内可回滚,SSH 建议开两路
sudo netplan apply
旧版仍可能用 /etc/network/interfaces,以 ls /etc/netplan/ 为准。
5. 网卡流量实时看
sudo apt install -y iftop nethogs
sudo iftop -i eth0 # 连接维度
sudo nethogs eth0 # 进程维度
| 工具 | 适合 |
|---|---|
| iftop | 哪 IP 在占带宽 |
| nethogs | 哪个进程在占带宽 |
6. BBR 拥塞控制(可选)
内核自带 BBR 时(需 sysctl 支持):
sysctl net.ipv4.tcp_congestion_control
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.d/99-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf
sudo sysctl --system
谨慎使用来历不明的「一键 BBR 脚本」;优先官方内核参数。
本篇速查
sudo ss -tunlp
sudo ufw allow OpenSSH && sudo ufw enable
curl -vI https://example.com --max-time 10
系列导航
| 篇 | 主题 |
|---|---|
| 1–4 | 初始化 / SSH / 磁盘 / 日志 |
| 5 | 网络与防火墙(本文) |
| 6–8 | 监控 / 诊断 / Cron |