网络连接建立后自动运行程序

此页由Linux Wiki用户Chenxing于2008年12月2日 (星期二) 12:43的最后更改。

出自Linux Wiki

网络连接建立后运行的脚本可以实现诸多实用功能,如动态域名绑定等。在教育网有时还需要自动连接教育网直通车。在有些上网需要验证的环境中,还可用于连网后的自动认证(如北京大学IP网关自动登录)。

不同的Linux发行版实现这一功能的机制基本相同(在if-up后再调用相关脚本),但配置的细节略有不同。故分别介绍。

Debian/Ubuntu

Debian系列发行版的配置较为简便。所有的if-up脚本放在/etc/network/if-up.d,只需要将写好的脚本放在/etc/network/if-up.d/,并添加可执行权限即可:

chmod 755 /etc/network/if-up.d/YOUR_SCRIPT
Note.gif
TODO:
/etc/network/if-down.d/中的脚本并不能在系统断开网络前执行,如何添加系统关闭网络接口前的脚本呢?

openSUSE

openSUSE中与网络有关的脚本应被存放在/etc/sysconfig/network/scripts/。而连网后执行的脚本则放在/etc/sysconfig/network/if-up.d/,它们是到/etc/sysconfig/network/scripts/符号链接。举个例子,如果你已经有一个脚本文件YOUR_SCRIPT,需要做如下操作:

cp YOUR_SCRIPT /etc/sysconfig/network/scripts/
 chmod 755 /etc/sysconfig/network/scripts/YOUR_SCRIPT
 ln -s /etc/sysconfig/network/scripts/YOUR_SCRIPT /etc/sysconfig/network/if-up.d/

Fedora

Fedora对这一功能支持的不是很好,只能在网络连接建立后运行一个脚本,即/sbin/ifup-local。这个文件默认不存在,需要手动创建。下面的例子用vi编辑/创建这个文件,并添加执行权限。

# vi /sbin/ifup-local
# chmod 755 /sbin/ifup-local
个人工具
简体繁体转换