一,ifup/down
基于 ifupdown 和 /etc/network/interfaces 的网络管理是 Debian 及其衍生系统(如 Ubuntu 早期版本)中一种传统的网络配置方式。它通过配置文件 /etc/network/interfaces 定义网络接口的参数,并使用 ifup 和 ifdown 命令来启用或禁用网络接口。这种方式简单、可靠,适合静态网络环境或需要手动控制网络配置的场景。ifupdown 不直接与内核通信,底层工具包括:ip (iproute2 工具集),ifconfig (net-tools 工具集)dhclient 或 dhcpcd (DHCP 客户端)而是通过调用用户空间工具(如 ip、dhclient,udhcpc)间接与内核的网络子系统交互
1. /etc/network/interfaces 文件
/etc/network/interfaces 是 ifupdown 的核心配置文件,用于定义网络接口的行为。文件的语法简单,每行定义一个参数,接口配置以 iface 开头。以下是文件结构和常见配置项的说明,
auto <interface> # 开机自动启用该接口,其实就是调用ifup <interface>命令 allow-hotplug <interface> # 检测到设备插入如USB时自动启用 iface <interface> <family> <method> # 定义接口、地址族和配置方法 <option> <value> # (前面4个空格)接口的具体参数
<interface>:接口名称(如 eth0、wlan0)
<family>:地址族,通常为 inet(IPv4)或 inet6(IPv6)
<method>:配置方法,如 static(静态IP)、dhcp(动态IP)、manual(手动配置)
示例
\//////////////静态IP//////////////// auto eth0 iface eth0 inet static address 192.168.1.100 # 静态 IP 地址 netmask 255.255.255.0 # 子网掩码 gateway 192.168.1.1 # 默认网关 dns-nameservers 8.8.8.8 8.8.4.4 # DNS 服务器 \//////////////动态IP//////////////// auto eth0 iface eth0 inet dhcp
auto eth0 iface eth0 inet static address 192.168.1.100 # 静态 IP 地址 netmask 255.255.255.0 # 子网掩码 gateway 192.168.1.1 # 默认网关 dns-nameservers 8.8.8.8 8.8.4.4 # DNS 服务器
二,net-tools工具包与iproute2工具包
以下是一张表格,列出了 net-tools 包中常用的工具、其功能,以及是否被更现代的工具取代,包括替代工具的名称:
net-tools工具名称 | 主要功能 | 是否被取代 | 替代工具(来自 iproute2 或其他) |
---|---|---|---|
arp | 管理或显示 ARP 缓存(IP 到 MAC 地址映射) | 是 | ip neigh |
ifconfig | 配置或显示网络接口信息(如 IP 地址、子网掩码) | 是 | ip addr, ip link |
netstat | 显示网络状态(连接、路由表、接口统计、监听端口等) | 是 | ss, ip route(路由表), ip -s link(接口统计) |
route | 管理或显示内核 IP 路由表 | 是 | ip route |
hostname | 显示或设置系统主机名 | 是 | hostnamectl(来自 systemd) |
dnsdomainname | 显示当前主机的 DNS 域名 | 部分 | hostname -d, dnsdomainname(仍使用) |
ipmaddr | 管理多播地址 | 是 | ip maddr |
iptunnel | 配置和管理网络隧道(如 GRE 隧道) | 是 | ip tunnel |
nameif | 根据 MAC 地址为网络接口分配名称 | 是 | udev, systemd-networkd |