一、基础选项
**-a / --all**
功能:显示所有网络接口信息(包括未启用的接口)。
示例:
bash
ifconfig -a # 显示所有接口信息
**-v / --verbose**
功能:显示详细错误信息,便于调试。
示例:
bash
ifconfig eth0 up -v # 启用接口并输出详细日志
**-s / --short**
功能:以简洁格式显示网络接口统计信息(类似 netstat -i)。
示例:
bash
ifconfig -s # 显示接口状态统计
二、网络接口控制
up / down
功能:启用或禁用指定网络接口。
示例:
bash
sudo ifconfig eth0 up # 启用接口
sudo ifconfig eth0 down # 禁用接口
**-promisc / --promiscuous**
功能:启用或禁用混杂模式(接收所有经过的数据包)。
示例:
bash
sudo ifconfig eth0 promisc # 启用混杂模式
三、IP地址与子网配置
IP地址
功能:为接口设置IPv4地址。
示例:
bash
sudo ifconfig eth0 192.168.1.100 # 设置IP地址
netmask 子网掩码
功能:配置子网掩码。
示例:
bash
sudo ifconfig eth0 netmask 255.255.255.0 # 设置子网掩码
broadcast 广播地址
功能:设置广播地址。
示例:
bash
sudo ifconfig eth0 broadcast 192.168.1.255 # 设置广播地址
四、硬件地址与MTU设置
hw 硬件类型 MAC地址
功能:修改接口的MAC地址(需超级用户权限)。
示例:
bash
sudo ifconfig eth0 hw ether 00:1A:2B:3C:4D:5E # 修改MAC地址
mtu MTU值
功能:设置最大传输单元(如 1500 为默认值)。
示例:
bash
sudo ifconfig eth0 mtu 9000 # 设置MTU为9000(Jumbo帧)
五、IPv6与隧道配置
add IPv6地址/prefixlen
功能:为接口添加IPv6地址。
示例:
bash
sudo ifconfig eth0 add 2001:db8::1/64 # 添加IPv6地址
del IPv6地址/prefixlen
功能:删除IPv6地址。
示例:
bash
sudo ifconfig eth0 del 2001:db8::1/64 # 删除IPv6地址
tunnel 隧道地址
功能:创建IPv4与IPv6隧道。
示例:
bash
sudo ifconfig eth0 tunnel ::1 # 创建IPv4-over-IPv6隧道
六、其他高级选项
media 媒介类型
功能:设置网络接口的媒介类型(如 ethernet、wireless)。
示例:
bash
sudo ifconfig eth0 media ethernet # 设置媒介类型
irq IRQ地址
功能:指定中断请求(IRQ)地址。
示例:
bash
sudo ifconfig eth0 irq 5 # 设置IRQ地址
mem_start 内存地址
功能:设置接口在主内存中的起始地址。
示例:
bash
sudo ifconfig eth0 mem_start 0x10000000 # 设置内存地址
七、注意事项
权限问题
需使用 sudo 执行配置操作(如修改IP、MAC地址)。
现代替代工具
ifconfig 在新版本Linux中逐渐被 ip 命令取代,推荐使用 ip addr 等命令。
IPv6支持
早期 ifconfig 版本不支持IPv6,需通过 ip 命令管理。
引用说明
基础选项与示例:
硬件与MTU设置:
IPv6与隧道配置:
权限与替代工具:如需查看完整手册,可通过 man ifconfig 或 ifconfig --help 获取详细信息。