debian

Debian ifconfig脚本自动化网络配置

小樊
35
2025-09-06 05:11:06
栏目: 智能运维

在Debian系统中,可以使用脚本来自动化网络配置。以下是一个简单的示例脚本,用于自动配置网络接口。这个脚本假设你使用的是静态IP地址,并且你的网络环境已经配置好了DHCP服务器。

#!/bin/bash

# 网络接口配置
INTERFACE="eth0"
IP_ADDRESS="192.168.1.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS_SERVERS=("8.8.8.8" "8.8.4.4")

# 停止网络接口
ifconfig $INTERFACE down

# 配置IP地址和子网掩码
ifconfig $INTERFACE $IP_ADDRESS netmask $NETMASK

# 配置默认网关
route add default gw $GATEWAY $INTERFACE

# 配置DNS服务器
echo "nameserver ${DNS_SERVERS[0]}" > /etc/resolv.conf
for DNS in "${DNS_SERVERS[@]:1}"; do
    echo "nameserver $DNS" >> /etc/resolv.conf
done

# 重启网络接口
ifconfig $INTERFACE up

# 输出配置信息
echo "Network interface $INTERFACE configured with IP $IP_ADDRESS"
echo "Gateway: $GATEWAY"
echo "DNS Servers: ${DNS_SERVERS[*]}"

使用步骤

  1. 创建脚本文件: 将上述脚本保存到一个文件中,例如 setup_network.sh

    nano setup_network.sh
    
  2. 编辑脚本: 根据你的网络环境修改脚本中的 INTERFACEIP_ADDRESSNETMASKGATEWAYDNS_SERVERS 变量。

  3. 赋予执行权限: 使脚本具有执行权限。

    chmod +x setup_network.sh
    
  4. 运行脚本: 执行脚本来配置网络。

    sudo ./setup_network.sh
    

注意事项

使用 netplan 进行持久化配置

如果你使用的是Debian 18.04或更高版本,推荐使用 netplan 进行网络配置。以下是一个示例 netplan 配置文件:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

将上述内容保存到 /etc/netplan/01-netcfg.yaml 文件中,然后应用配置:

sudo netplan apply

这样可以确保网络配置在系统重启后仍然有效。

0
看了该问题的人还看了