如何在 Debian 启动时自动运行 wpa_supplicant

如何在 Debian 启动时自动运行 wpa_supplicant

我想wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf在 Debian 启动时运行(运行级别 2-5)。我从一个相关问题中找到了一些模糊的说明,其中说要放入一个脚本/etc/init.d/,然后从适当的/etc/rcRUNLEVEL.d/目录中符号链接到它。但是,我注意到已经有一些名为“wpasupplicant”的文件可能在启动时运行:

/etc/network/if-down.d/wpasupplicant

/etc/network/if-post-down.d/wpasupplicant

/etc/network/if-pre-up.d/wpasupplicant

/etc/network/if-up.d/wpasupplicant

它们都是指向同一脚本的符号链接/etc/wpa_supplicant/ifupdown.sh。它在开头有一个注释,说明它“[...] 允许 ifup(8) 和 ifdown(8) 管理以守护进程模式运行的 wpa_supplicant(8) 和 wpa_cli(8) 进程。”但是,它最接近调用wpa_supplicant自身的是(在 functions.sh 中):

WPA_SUP_BIN="/sbin/wpa_supplicant"
[snip]
start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
    --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
    -- $WPA_SUP_OPTIONS $WPA_SUP_CONF
[snip]
start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
    --exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE

这是否意味着为其制作 init.d 脚本是安全的wpa_supplicant,如果是的话它会是什么样子?

基本信息:

  • Debian Squeeze(5.0)
  • 官方 wpasupplicant 软件包 (v0.6.10-2.1)

我的系统的全部内容functions.shifupdown.sh这里(当然,取决于我的系统的正常运行时间 - 这是一台五年前的笔记本电脑,非常喜欢过热):

函数.sh

卸载程序

答案1

如果您的目标是在启动时配置无线接口(而不是wpa_supplicant出于其他原因将命令放在脚本中),则可以使用/etc/network/interfaces并生成普通配置文件wpa_passphrase来实现此结果。

/etc/network/interfaces(假设wlan0是您的无线接口并且配置来自wpa_passphrase/root/your-wpa.conf

allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /root/your-wpa.conf

在我的系统中,“wpa-conf”行的开头有一个制表符(不是空格)。在输入此响应时,无法输入用于网络的制表符。不确定这是否重要。

我不需要编辑或对 WPA conf 文件做任何事情。这是我从命令中得到的

wpa_passphrase myssid mysecret >wpa.conf

如何使用 WiFi 接口在 Debian.org 和/usr/share/doc/wpasupplicant/README.wpa_supplicant.conf.gz本地。

我在 Jessie 上测试了这一点,并且不再有任何 Squeeze 系统剩余 - 但我想自从提出这个问题以来的 4 年内你已经升级了。

答案2

编辑 wpa_supplicant.conf 文件并将其添加到 /etc/network/interfaces

http://wiki.debian.org/WPA#Why.3F

相关内容