Featured image of post Debian 静态 IPv4 配置指南 📡

Debian 静态 IPv4 配置指南 📡

Debian 静态 IPv4 配置指南 📡 📑 导航目录 🌠 简介与特点 ⚡ 默

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. 备份配置:修改前备份原始文件

    1
    2
    
    sudo cp /etc/network/interfaces /etc/network/interfaces.backup
    sudo cp /etc/resolv.conf /etc/resolv.conf.backup
    
  2. 接口名称:确保使用正确的网络接口名称

    1
    2
    3
    
    # 查看所有网络接口
    ip link show
    ls /sys/class/net
    
  3. 网络重启:配置更改后需要重启网络服务才能生效

    1
    
    sudo systemctl restart networking
    
  4. 权限要求:所有配置修改都需要 root 权限

    1
    
    sudo -i  # 切换到 root 用户
    
  5. 网络规划:确保 IP 地址、子网掩码和网关在同一网络段

    1
    2
    
    # 检查 IP 和网关是否在同一子网
    ipcalc -n 192.168.1.100/24  # 计算网络地址
    
  6. 防火墙配置:确保防火墙不会阻止网络连接

    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

使用救援模式

如果网络配置错误导致无法连接,可以通过以下方式修复:

  1. 使用 Live CD/USB 启动系统
  2. 挂载原系统根分区
  3. 修复网络配置文件
  4. 重启到原系统

💡 实用脚本与技巧

网关切换脚本

 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! 🚀