Debian 静态 IPv4 配置指南 📡
📑 导航目录
🌠 简介与特点
Debian 是最古老且最受尊敬的 Linux 发行版之一,以其稳定性、安全性和广泛的软件包支持著称。本指南专注于 Debian 系统的静态 IPv4 网络配置,特别是网关管理和网络故障排除。
主要功能:
- ✅ 多网关快速切换脚本
- ✅ 传统 interfaces 和现代 netplan 配置方法
- ✅ 完整的网络诊断工具集
- ✅ DNS 配置详解(包括 systemd-resolved)
- ✅ 配置备份和恢复机制
- ✅ 实用脚本和自动化技巧
⚡ 默认网关配置
1. 配置 10.10.10.252 网关
1
2
3
4
|
sudo sed -i 's/gateway.*/gateway 10.10.10.252/' /etc/network/interfaces && \
sudo systemctl restart networking && \
echo "✅ 已成功切换到网关: 10.10.10.252"
# 💨 一键配置 10.10.10.252 网关并重启网络服务
|
2. 配置 10.10.10.243 网关
1
2
3
4
|
sudo sed -i 's/gateway.*/gateway 10.10.10.243/' /etc/network/interfaces && \
sudo systemctl restart networking && \
echo "✅ 已成功切换到网关: 10.10.10.243"
# 💨 一键配置 10.10.10.243 网关并重启网络服务
|
3. 配置 10.10.10.253 网关
1
2
3
4
|
sudo sed -i 's/gateway.*/gateway 10.10.10.253/' /etc/network/interfaces && \
sudo systemctl restart networking && \
echo "✅ 已成功切换到网关: 10.10.10.253"
# 💨 一键配置 10.10.10.253 网关并重启网络服务
|
4. 查看当前默认网关
1
2
|
echo -e "\e[1;34m默认网关 : \e[1;31m$(ip route show default | awk '/default/ {print $3}')\e[0m"
# 🔍 显示当前系统的默认网关地址
|
📋 网络配置文件管理
1. 编辑网络配置文件
1
2
3
4
5
|
sudo nano /etc/network/interfaces
# ✏️ 使用 nano 编辑器修改网络配置
# 或者使用 vim
sudo vim /etc/network/interfaces
|
2. 查看网络配置内容
1
2
3
4
5
|
cat /etc/network/interfaces
# 👀 显示当前网络配置信息
# 带行号查看
cat -n /etc/network/interfaces
|
3. 重启网络服务
1
2
3
4
5
|
sudo systemctl restart networking
# 🔄 应用网络配置更改
# 或者使用传统方法
sudo /etc/init.d/networking restart
|
4. 检查网络服务状态
1
2
3
4
5
|
systemctl status networking
# 📊 检查网络服务运行状态
# 查看网络服务日志
journalctl -u networking --since "5 minutes ago"
|
🌐 DNS 配置指南
Debian 12 DNS 配置说明
Debian 12 默认使用 systemd-resolved 管理 DNS,可能没有直接的 /etc/resolv.conf
文件。
1. 创建/编辑 DNS 配置文件
1
2
|
sudo nano /etc/resolv.conf
# ✏️ 编辑 DNS 解析配置
|
2. 添加 DNS 服务器
1
2
3
4
5
6
|
# 文件内容:
nameserver 223.5.5.5 # 🌐 阿里 DNS
nameserver 8.8.8.8 # 🌐 Google DNS
nameserver 114.114.114.114 # 🌐 114 DNS
nameserver 1.1.1.1 # 🌐 Cloudflare DNS
options rotate # 🔄 启用 DNS 轮询
|
3. 防止 DNS 配置被覆盖
1
2
3
4
5
|
# 设置 resolv.conf 为不可变
sudo chattr +i /etc/resolv.conf
# 取消不可变属性
sudo chattr -i /etc/resolv.conf
|
4. 使用 systemd-resolved 配置 DNS
1
2
3
4
5
6
7
8
9
10
11
|
# 查看当前 DNS 配置
resolvectl status
# 设置全局 DNS
sudo resolvectl dns eth0 8.8.8.8 1.1.1.1
# 设置特定域的 DNS
sudo resolvectl domain eth0 "example.com"
# 刷新 DNS 缓存
sudo resolvectl flush-caches
|
5. 在 interfaces 文件中配置 DNS
1
2
3
|
# 在 /etc/network/interfaces 中添加
dns-nameservers 8.8.8.8 1.1.1.1
dns-search example.com
|
🔧 完整静态 IP 配置示例
/etc/network/interfaces
文件内容示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 环回接口
auto lo
iface lo inet loopback
# 主网络接口 - 静态 IP 配置
auto eth0
iface eth0 inet static
address 192.168.1.100/24 # 📍 静态 IP 地址和 CIDR 表示法
# 或者使用传统表示法
# address 192.168.1.100
# netmask 255.255.255.0
gateway 192.168.1.1 # 🌉 默认网关
dns-nameservers 8.8.8.8 8.8.4.4 # 🔍 DNS 服务器
dns-search example.com # 🔎 DNS 搜索域
# 备用网络接口配置示例
# auto eth1
# iface eth1 inet static
# address 10.0.0.100/24
# gateway 10.0.0.1
|
使用 netplan (Debian 10+)
1
2
3
4
5
6
7
8
9
10
11
12
|
# /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
search: [example.com]
|
应用 netplan 配置
1
2
3
|
sudo netplan apply
# 或者
sudo netplan try
|
🛠️ 网络故障排查
1. 查看网络接口信息
1
2
3
4
5
|
ip addr show
# 📋 显示所有网络接口的详细信息
# 查看特定接口
ip addr show eth0
|
2. 检查路由表
1
2
3
4
5
|
ip route show
# 🗺️ 显示系统路由表
# 查看默认路由
ip route show default
|
3. 测试 DNS 解析
1
2
3
4
5
6
7
8
|
nslookup google.com
# 🔎 测试 DNS 解析功能
# 使用 dig 命令
dig google.com
# 测试特定 DNS 服务器
nslookup google.com 8.8.8.8
|
4. 网络连通性测试
1
2
3
4
5
6
7
8
9
10
11
|
ping -c 4 google.com
# 🌐 测试网络连通性
# 测试到网关的连通性
ping -c 4 $(ip route show default | awk '/default/ {print $3}')
# 跟踪路由路径
traceroute google.com
# 使用 mtr 进行更详细的跟踪
mtr google.com
|
5. 端口和服务检查
1
2
3
4
5
6
7
8
|
# 检查监听端口
ss -tuln
# 检查特定端口连通性
nc -zv example.com 80
# 检查 HTTP 服务
curl -I http://example.com
|
⚠️ 注意事项
-
备份配置:修改前备份原始文件
1
2
|
sudo cp /etc/network/interfaces /etc/network/interfaces.backup
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
|
-
接口名称:确保使用正确的网络接口名称
1
2
3
|
# 查看所有网络接口
ip link show
ls /sys/class/net
|
-
网络重启:配置更改后需要重启网络服务才能生效
1
|
sudo systemctl restart networking
|
-
权限要求:所有配置修改都需要 root 权限
-
网络规划:确保 IP 地址、子网掩码和网关在同一网络段
1
2
|
# 检查 IP 和网关是否在同一子网
ipcalc -n 192.168.1.100/24 # 计算网络地址
|
-
防火墙配置:确保防火墙不会阻止网络连接
1
2
3
4
|
# 检查防火墙状态
sudo ufw status
# 或者使用 iptables
sudo iptables -L
|
🔄 恢复网络配置
如果网络配置出现问题,可以恢复默认设置:
恢复 DHCP 获取 IP
1
2
3
4
5
6
7
8
|
# 备份当前配置
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
# 恢复 DHCP 配置
echo -e "auto lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet dhcp" | sudo tee /etc/network/interfaces
# 重启网络服务
sudo systemctl restart networking
|
从备份恢复
1
2
3
4
5
6
7
8
|
# 恢复 interfaces 配置
sudo cp /etc/network/interfaces.backup /etc/network/interfaces
# 恢复 resolv.conf 配置
sudo cp /etc/resolv.conf.backup /etc/resolv.conf
# 重启网络服务
sudo systemctl restart networking
|
使用救援模式
如果网络配置错误导致无法连接,可以通过以下方式修复:
- 使用 Live CD/USB 启动系统
- 挂载原系统根分区
- 修复网络配置文件
- 重启到原系统
💡 实用脚本与技巧
网关切换脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/bin/bash
# switch-gateway.sh
if [ $# -eq 0 ]; then
echo "用法: switch-gateway [252|243|253]"
exit 1
fi
case $1 in
"252")
GATEWAY="10.10.10.252"
;;
"243")
GATEWAY="10.10.10.243"
;;
"253")
GATEWAY="10.10.10.253"
;;
*)
echo "错误: 无效的网关选择"
exit 1
;;
esac
sudo sed -i "s/gateway.*/gateway $GATEWAY/" /etc/network/interfaces
sudo systemctl restart networking
echo "✅ 已切换到网关: $GATEWAY"
|
使用方法:
1
2
3
|
chmod +x switch-gateway.sh
# 切换到 252 网关
./switch-gateway.sh 252
|
网络状态检查脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/bin/bash
# network-status.sh
echo -e "\e[1;34m=== 网络状态检查 ===\e[0m"
echo ""
# 显示接口信息
echo -e "\e[1;32m网络接口:\e[0m"
ip addr show | grep -E "^(.*: )|(inet )"
# 显示路由信息
echo -e "\e[1;32m路由表:\e[0m"
ip route show
# 显示默认网关
echo -e "\e[1;32m默认网关:\e[0m"
ip route show default | awk '/default/ {print $3}'
# 显示DNS配置
echo -e "\e[1;32mDNS 配置:\e[0m"
cat /etc/resolv.conf | grep -v "^#"
# 测试连通性
echo -e "\e[1;32m网络连通性:\e[0m"
ping -c 2 -W 1 8.8.8.8 >/dev/null 2>&1 && echo "外部网络: 可达" || echo "外部网络: 不可达"
ping -c 2 -W 1 $(ip route show default | awk '/default/ {print $3}') >/dev/null 2>&1 && echo "网关: 可达" || echo "网关: 不可达"
|
使用方法:
1
2
|
chmod +x network-status.sh
./network-status.sh
|
下载速度测试
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/bash
# speed-test.sh
echo -e "\e[1;34m=== 网络速度测试 ===\e[0m"
echo ""
# 测试下载速度
echo -e "\e[1;32m下载速度测试:\e[0m"
wget -O /dev/null http://speedtest.tele2.net/100MB.zip 2>&1 | grep -o '[0-9.]\+ [KM]*B/s'
# 使用 curl 测试速度
echo -e "\e[1;32mCURL 速度测试:\e[0m"
curl -o /dev/null -w "速度: %{speed_download} B/s\n" http://speedtest.tele2.net/100MB.zip
|
使用方法:
1
2
|
chmod +x speed-test.sh
./speed-test.sh
|
🎉 总结
通过本指南,您应该能够轻松地在 Debian 系统上配置和管理静态 IPv4 网络设置。Debian 提供了灵活而强大的网络管理工具,无论是传统的 interfaces 配置还是现代的 netplan,都能满足各种网络配置需求。
关键要点:
- 🛡️ 始终备份网络配置 before 进行更改
- 🔍 使用提供的诊断工具验证网络状态
- ⚡ 利用脚本实现快速网关切换
- 📝 了解 Debian 特有的网络服务管理方式
- 🌐 掌握 DNS 配置方法(包括 systemd-resolved)
如有任何问题或需要进一步协助,请参考 Debian 官方文档或社区论坛。Happy networking! 🚀