udev iw add 接口重命名问题

udev iw add 接口重命名问题

我需要将wifi接口置于附加监控状态。

  • 如果我不使用 udev 规则和由内核命名的 wifi 接口无线局域网0(默认):

$ iw 开发无线局域网0接口添加蒙0类型监视器

在这种情况下,我没有任何问题,一切正常。我可以看到蒙0iwconfig 输出中的接口。

mon0      IEEE 802.11  Mode:Monitor  Frequency:2.412 GHz  
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

wlan0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
  • 如果我使用 udev 规则和名为的 wifi 接口WBRD0:

70-wireless.rule 文件:

SUBSYSTEM=="net", ACTION=="add", ATTRS{address}=="xx:xx:xx:xx:xx:xx", NAME="wbrd0"

$ iw 开发WBRD0接口添加蒙0类型监视器

在这种情况下,iwconfig 输出如下所示:

rename4   IEEE 802.11  Mode:Monitor  Frequency:2.412 GHz  
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

wbrd0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

正如你所看到的,没有蒙0接口,而是将其重命名为重命名4。我认为这是因为 udev 规则,udev 试图将新的监视器接口命名为WBRD0代替蒙0。可能 udev 文档中缺少一些东西。虽然我知道它适用于默认的 udev 规则,但我找不到它所在的位置。

我有一个解决方法,我可以重命名重命名4接口:

$ ip 链接集重命名4姓名蒙0

但这确实很脏,应该有更好的方法。

所以我的问题是如何编写 udev 规则,该规则将从现有的创建一个监视器接口WBRD0

或者

如何在默认 udev 规则中找到将监视器接口重命名为的位置蒙0当我不使用 70-wireless.rule 时?

相关内容