![FreeBSD:控制虚拟接口的操作和管理状态](https://linux22.com/image/66444/FreeBSD%EF%BC%9A%E6%8E%A7%E5%88%B6%E8%99%9A%E6%8B%9F%E6%8E%A5%E5%8F%A3%E7%9A%84%E6%93%8D%E4%BD%9C%E5%92%8C%E7%AE%A1%E7%90%86%E7%8A%B6%E6%80%81.png)
我正在寻找一种方法来自由控制虚拟接口的管理和操作状态,如 snmp get 请求所示:
$ snmptable -c public -v 2c myserver iftable
SNMP table: IF-MIB::ifTable
ifIndex ifDescr ifType ifMtu ifSpeed ifPhysAddress ifAdminStatus ifOperStatus ifLastChange ifInOctets ifInUcastPkts ifInNUcastPkts ifInDiscards ifInErrors ifInUnknownProtos ifOutOctets ifOutUcastPkts ifOutNUcastPkts ifOutDiscards ifOutErrors ifOutQLen ifSpecific
1 vr0 ethernetCsmacd 1500 100000000 0:0:24:c9:db:40 up up 0:0:00:00.00 94903723 968537 0 0 0 0 6459058 46963 0 0 0 0 SNMPv2-SMI::zeroDotZero
2 vr1 ethernetCsmacd 1500 100000000 0:0:24:c9:db:41 up up 0:0:00:00.00 9229335 94583 0 0 0 0 423683 4745 0 0 0 0 SNMPv2-SMI::zeroDotZero
3 vr2 ethernetCsmacd 1500 100000000 0:0:24:c9:db:42 down down 0:0:00:00.00 0 0 0 0 0 0 0 0 0 0 0 0 SNMPv2-SMI::zeroDotZero
4 vr3 ethernetCsmacd 1500 100000000 0:0:24:c9:db:43 down down 0:0:00:00.00 0 0 0 0 0 0 0 0 0 0 0 0 SNMPv2-SMI::zeroDotZero
5 ral0 ieee80211 2290 54000000 0:12:e:62:81:c up up 0:0:00:00.00 0 0 0 0 0 0 1451131 277025 0 0 98 0 SNMPv2-SMI::zeroDotZero
6 lo0 softwareLoopback 16384 0 up up 0:0:00:00.00 67553 138 0 0 0 0 67553 138 0 0 0 0 SNMPv2-SMI::zeroDotZero
7 wlan0 ethernetCsmacd 1500 48000000 0:12:e:62:81:c up up 0:0:00:00.00 10313667 164339 0 0 0 0 0 10900 0 0 0 0 SNMPv2-SMI::zeroDotZero
我希望能够通过脚本控制接口的两种状态。
对于物理接口管理员启动方法如果配置我面对向上已发出,而操作起来表示(第 1 层)网络链路处于活动状态。
当我创建另一个环回时,管理和操作状态始终相同。我需要向上管理和向下操作的可能性(但不是相反)。这似乎可以通过 gif 或 gre 接口实现,并且我可以将一些东西与这些接口粘合在一起,但我没有找到一种简单/简短的方法来做到这一点。
如果您想知道,原因是服务器是由外部公司 24/7 SNMP 监控的。如果我希望他们监控额外的 SNMP MIB,我们需要经历昂贵的开发、编写指令、培训和测试过程。而网络接口的监控是一项标准服务,我可以通过编写相应地设置虚拟接口状态的脚本来获得相同的结果(非标准服务的监控)。