如何利用ifconfig命令禁用和重启网络接口
ifconfig 这个命令,何利如今在多数现代 Linux 发行版里已经被 ip 命令取代了。用i用和但老系统、令禁脚本、重启还有像我这样手指肌肉记忆改不过来的网络人,依然天天跟它打交道。接口禁用和重启网络接口,何利用 ifconfig 其实就两条命令的用i用和事,但坑往往藏在细节里。令禁 先看禁用。重启假设你要操作的网络是 eth0,直接敲 有个容易忽略的点:如果你是通过 SSH 远程操作服务器,并且只有这一个网络接口,执行 down 的瞬间,你的连接就断了。别慌,这不是命令执行失败,是网络确实没了。我当年在一台托管机房的老机器上干过这事,结果只能打电话让机房同事帮忙重启。所以,远程操作前务必确认有带外管理(比如 IPMI)或者物理访问权限。 重启接口,自然是对应的 实际操作中,我遇到过一种诡异情况:执行 up 之后,接口状态显示为 UP,但就是 ping 不通网关。查了半天,发现是路由表的问题。ifconfig 只管接口本身,它不会帮你添加默认网关。你 down 之前的路由条目,在 down 的时候就被内核删掉了。所以重启后,除了配 IP,还得手动加路由: 还有个细节,ifconfig 对无线网卡的操作稍微不同。比如 wlan0,直接 down 再 up,有时候无线网卡不会自动重新关联到 AP。你得先 最后说点个人体会。ifconfig 这套命令虽然老,但它的行为模式非常直观——down 就是彻底关,up 就是重新开,没有中间状态。相比之下,ip link set eth0 down/up 的行为跟它基本一致,但 ip 命令还提供了 state 查询、txqueuelen 调整等更细的控制。如果你在维护旧系统,ifconfig 够用;要是新部署的机器,我建议直接学 ip 命令,毕竟 net-tools 包在很多新发行版里已经不预装了。不过,就像有人喜欢用 vim 有人用 nano,工具没有绝对的好坏,顺手就行。ifconfig eth0 down。接口就这么简单,何利接口立刻停止收发数据包,用i用和IP 地址也会从系统里消失——注意,令禁是消失,不是保留。你再用 ifconfig 单独查看 eth0,只会得到一句 "Device not found" 之类的提示,连 MAC 地址都看不见了。这跟 Windows 下“禁用网卡”的概念有点像,但更彻底。ifconfig eth0 up。但这里有个问题——单纯 up 只会把接口激活,之前配置的 IP 地址不会回来。因为 down 的时候地址已经清了,up 只是把硬件驱动拉起来,协议栈还没绑定任何 IP。你需要重新配置地址。手动指定就是 ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up,一条命令把地址、掩码、激活全干了。如果你之前用的是 DHCP,那还得跑一遍 dhclient eth0 或者 dhcpcd eth0,看发行版而定。route add default gw 192.168.1.1。这一步忘了,网络就跟断了没两样。iwlist wlan0 scan 看看能搜到什么信号,再用 iwconfig wlan0 essid "你的WiFi名" 手动连。不过现在大多数桌面环境用 NetworkManager 管理无线,命令行下这么折腾纯属自虐,除非你在写无头服务器的脚本。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-