linux内核中网络接口的命令
linux内核中网络接口的命令详细介绍
在 Linux 系统中,管理和操作网络接口的命令主要集中在用户空间工具中,这些工具通过与内核交互来配置和监控网络接口。以下是常用的网络接口相关命令及其功能说明:
一、基础网络接口配置命令
1.
ip(推荐现代用法,替代
ifconfig)
- 所属工具包:
iproute2(需安装) - 功能:用于配置、显示网络接口信息,支持更灵活的网络栈控制。
- 常用选项:
- 显示接口状态:bash
showaddr show
- 启用 / 禁用接口:bash
dev eth0 updev eth0 down
- 配置 IP 地址:bash
addr .1.10/24 dev eth0addr del .1.10/24 dev eth0
- 配置默认路由:bash
route default via .1.1 dev eth0
- 显示接口状态:bash
2.
ifconfig(旧版工具,逐渐被
ip 替代)
- 所属工具包:
net-tools(部分系统默认安装,新系统可能需手动安装) - 功能:用于查看和临时配置网络接口的 IP 地址、子网掩码、MAC 地址等。
- 常用选项:bash
eth0eth0 up
eth0 down
eth0 .1.10 netmask .255.0
二、网络接口状态与统计信息
1.
netstat(旧版,推荐用
ss 或
ip)
- 功能:显示网络连接、路由表、接口统计等信息。
- 常用选项:bash
2.
ss(高效替代
netstat,基于
iproute2)
- 功能:更高效地查看套接字(socket)和网络连接状态。
- 常用选项:bash
ssss
3.
ethtool
- 功能:查看和配置网络接口的硬件参数(如速率、双工模式、MAC 地址、唤醒功能等)。
- 常用选项:bash
eth0eth0 speed duplex full autoneg off
eth0
三、网络接口驱动与内核相关
1. 查看网络接口驱动
lshw -C network:显示网络硬件及驱动信息。lsmod | grep net:列出加载的网络相关内核模块。modinfo <驱动名>:查看特定驱动的详细信息(如modinfo e1000)。
2. 加载 / 卸载内核模块
modprobe(推荐):bashmodprobe eth0modprobe e1000
insmod/rmmod(手动加载 / 卸载,不处理依赖):bashinsmod /path/to/driver.kormmod driver_name
四、虚拟网络接口(内核支持的虚拟设备)
1. 常见虚拟接口
lo(回环接口):本地环回测试,默认存在。tun/tap(隧道 / 虚拟以太网接口):用于 VPN、容器网络(如 Docker)。veth(虚拟以太网对):用于容器间通信(如 Kubernetes 网络)。bridge(网桥):用于二层网络桥接,常见于虚拟机或容器网络。
2. 创建虚拟接口(示例)
- 创建 veth 对:bash
veth0 veth peer name veth1 - 创建网桥:bash
br0 bridgedev eth0 master br0
9123ip link add br0 type bridge ip link dev eth0 master br0
五、总结
- 配置接口:优先使用
ip命令(功能全面,支持现代网络特性)。 - 查看状态:
ip link/show、ss -i、ethtool更高效,旧场景可用ifconfig/netstat。 - 驱动管理:通过
modprobe/lsmod处理网络驱动模块。 - 虚拟网络:结合内核支持的虚拟接口(如
veth、bridge)实现复杂网络拓扑。
如需持久化配置(如开机生效),需修改系统网络配置文件(如 /etc/network/interfaces 或 systemd 的 *.netdev/*.network 文件),而非直接使用命令行临时配置。