![当使用 ifconfig“启动”网络接口时会发生什么?](https://linux22.com/image/74221/%E5%BD%93%E4%BD%BF%E7%94%A8%20ifconfig%E2%80%9C%E5%90%AF%E5%8A%A8%E2%80%9D%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E6%97%B6%E4%BC%9A%E5%8F%91%E7%94%9F%E4%BB%80%E4%B9%88%EF%BC%9F.png)
当我使用以下命令集“关闭”和“启动”网络接口时,实际上会发生什么?
$ ifconfig wlan0 down
$ ifconfig wlan0 up
无线网卡是否已关闭然后再打开?无线网络驱动程序是否停止并启动?
答案1
这些命令通常会归结为单个ioctl()
系统调用,该系统调用将清除(第一个命令)或设置(第二个命令)网络驱动程序中的 IF_UP 标志。
之后发生什么就取决于司机了。它可能会也可能不会重新启动网络接口卡。它可能不会“停止”(卸载?)和“启动”(加载?)本身(但系统中的其他东西可能会响应驱动程序的操作,例如热插拔代码)。
驱动程序可能会删除最初启动接口时放入的接口路由,并且可能会根据内核创建某种事件(例如热插拔或 udev 等)。
在 Debian 上,使用ifdown wlan0
和可能更好ifup wlan0
。