您现在的位置是:烟消火灭网 > 娱乐

linux ifconfig

烟消火灭网2026-10-17 07:45:55【娱乐】0人已围观

简介 ifconfig 这个命令,老网工闭着眼都能敲,但新入行的朋友可能只在教程里见过它,觉得是个过时玩意儿。真不是。它至今仍是排查网络问题时最趁手的那把螺丝刀,只是你得知道怎么拧。 先看最直接的用法,终

ifconfig 这个命令,老网工闭着眼都能敲,但新入行的朋友可能只在教程里见过它,觉得是个过时玩意儿。真不是。它至今仍是排查网络问题时最趁手的那把螺丝刀,只是你得知道怎么拧。

先看最直接的用法,终端敲一行 ifconfig,输出里那堆东西,重点就仨字段:inet 是你的 IPv4 地址,netmask 是子网掩码,ether 是 MAC 地址。很多人只盯着 inet 看,但 netmask 错了,地址白配。比如 192.168.1.5 配成 255.255.255.0 和 255.255.0.0,能通信的范围可就差远了。

有一次我在机房调试一台旧服务器,系统是 CentOS 6,网卡死活起不来。ip addr 显示 state DOWN,但没人动过配置。后来我用 ifconfig eth0 up 手动拉起来,再一看,居然好了。后来才发现是启动脚本里少了一条依赖,但 ifconfig 这种“手动干预”的能力,在抢救现场比自动配置可靠得多——它不跟你讲什么 NetworkManager 的脾气,命令下去,立刻生效。

另一个实用场景是临时改 IP。比如你要跨网段访问一个设备,又不想动配置文件,直接 ifconfig eth0 192.168.10.66 netmask 255.255.255.0 up,回车,完事。这操作在嵌入式开发板上尤其常见,那些板子没有 systemd-networkd,就靠 busybox 里的 ifconfig 活着。你别说,busybox 的 ifconfig 输出比 GNU 的还精简,看着更顺眼。

当然,ifconfig 有个毛病——它不显示默认网关。你得配合 route -n 看。但这也正常,人家只管接口层面,路由表是另一摊事。有人嫌它老,用 ip 命令替代,但 ip 命令输出太啰嗦,一屏装不下,脚本里解析反而麻烦。ifconfig 的格式固定,awk 一下就能拿到 IP,写监控脚本时省心。

还有个小细节,ifconfig 能看到接口的 MTU 值。默认 1500,但如果你在做 PPPoE 拨号,MTU 得降到 1492,否则大包发不出去。这问题用 ip link 也能改,但 ifconfig 的写法更直白:ifconfig ppp0 mtu 1492。我在调一个老式 ADSL 猫时就这么干的,改完立刻能上网页,不然抖音都刷不动。

最后说个冷知识:ifconfig 在 Linux 上显示的是接口名如 eth0,但在 macOS 上叫 en0,而且 macOS 的 ifconfig 还支持创建虚拟接口,比如 ifconfig en0 alias 10.0.0.2 netmask 0xffffffff,可以给一块物理网卡绑多个 IP。这招在测试负载均衡时特别管用,省得加网卡。

工具老不老不重要,关键是还管不管用。ifconfig 就像瑞士军刀里的主刀——平时不显山露水,真到要割绳子的时候,你找不着比它更顺手的。下次遇到网络问题,别急着上 tcpdump,先 ifconfig 看一眼,八成能省你半小时。

很赞哦!(615)