Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 添加新的veth接口时运行脚本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Docker为它创建的每个容器创建一个连接到桥(docker0)的veth接口. http://docs.docker.io/use/networking/ 我想限制这些新veth接口的带宽.我找到了一种方法来做奇迹.但是我想自动化这个. 有没有办法在每次附加新的veth接口时都有一个运行脚本的钩子? 我已经虑在/etc/network/if-up.d/中添加脚本,但是只在引导期间添加了一个ve
Docker为它创建的每个容器创建一个连接到桥(docker0)的veth接口.

http://docs.docker.io/use/networking/

我想限制这些新veth接口的带宽.我找到了一种方法来做奇迹.但是我想自动化这个.

有没有办法在每次附加新的veth接口时都有一个运行脚本的钩子?

我已经虑在/etc/network/if-up.d/中添加脚本,但是只在引导期间添加一个veth时它们才会运行.

以下是我试图收到通知的一些系统日志.我知道我可以拖尾这些日志,但这种方法看起来有点hacky,必须有办法通过操作系统获得有关此事件的通知.

@H_956_31@may 2 23:28:41 ip-10-171-7-2 kernel: [22170163.565812] netlink: 1 bytes leftover after parsing attributes. May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.720571] IPv6: ADDRCONF(NETDEV_Up): veth5964: link is not ready May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.720587] device veth5964 entered promiscuous mode May 2 23:28:42 ip-10-171-7-2 avahi-daemon[1006]: Withdrawing workstation service for vethdc8c. May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.743283] IPv6: ADDRCONF(NETDEV_CHANGE): veth5964: link becomes ready May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.743344] docker0: port 27(veth5964) entered forWARDing state May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.743358] docker0: port 27(veth5964) entered forWARDing state May 2 23:28:48 ip-10-171-7-2 kernel: [22170170.518670] docker0: port 26(vethb06a) entered forWARDing state May 2 23:28:57 ip-10-171-7-2 kernel: [22170178.774676] docker0: port 27(veth5964) entered forWARDing state

解决方法

@H_262_36@ 每次添加新界面时,您都应该编写一个自定义udev规则来运行您的脚本.这就是Debian处理界面“hotplug”所做的事情.

/etc/udev/rules.d/90-my-networking.rules:

SUBSYstem=="net",RUN+="/usr/local/bin/my-networking-agent.sh"

/usr/local/bin/my-networking-agent.sh:

#!/bin/sh
logger "hey I just got interface ${INTERFACE} with action ${ACTION}"

编辑

以下是测试方法

# modprobe dummy0
# ifconfig dummy0 up
# tail -n1 /var/log/syslog
May  3 01:48:06 ernst logger: hey I just got interface dummy0 with action add

大佬总结

以上是大佬教程为你收集整理的linux – 添加新的veth接口时运行脚本全部内容,希望文章能够帮你解决linux – 添加新的veth接口时运行脚本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。