如何在启动时启动无线网络?

如何在启动时启动无线网络?

我正在运行 Ubuntu Server 12.04。我有一张无线 USB 卡。当我开始启动过程时,我看到:

Waiting for network configuration

事实证明,网络始终无法连接。但是,一旦我进入命令行,如果我输入:ifup wlan0,那么我就可以访问网络。我的 /etc/network/interfaces 如下所示:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto wlan0
iface wlan0 inet dhcp
wpa-ssid xxxxxxx
wpa-psk xxxxxxxx

查看我的 network-interface-wlan0.log 显示:

Failed to connect to wpa_supplicant - wpa_ctrl_open: Read-only file system
Failed to bring up wlan0.
Failed to connect to wpa_supplicant - wpa_ctrl_open: Read-only file system
ifdown: interface wlan0 not configured

我查看过 askubuntu.com 上其他类似的问题,但它们似乎并不适用。

如何让我的系统在启动时实现无线联网?

附加信息:

我做了一些调查。基本上,一旦我登录,我需要执行以下操作:

ifdown wlan0

因为我认为 ip 认为它处于启动状态,但在 /var/run/network 中,唯一处于“启动”状态的是 ifup.lo。然后我执行

‘ifup -a’

然后一切正常。

答案1

无法连接到 wpa_supplicant-wpa_ctrl_open:只读文件系统

根据您的日志,您需要使用 wpa_supplicant。

因此添加一些类似这样的内容:

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf

/etc/wpa_supplicant.conf 的内容:

network={
        ssid="ADD-YOUR-SSID-HERE"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP
        psk="ADD-YOUR-WPA-PASSWORD-HERE"
}

答案2

您可以添加ifup wlan0到您的/etc/rc.local文件中。添加命令ifup wlan0 。同样在前面exit 0添加命令,例如:ifdown wlan0ifup wlan0

...
ifdown wlan0
ifup wlan0

exit 0

由于某种原因,Ubuntu 启动时认为 wlan0 已启动。因此您必须将其关闭,然后重新启动。

答案3

正在连接至WPA-PSK 和 WPA2-PSK(分别又称为“WPA Personal”和“WPA2 Personal”)

  • 跑步:

    $ wpa_passphrase myssid my_very_secret_passphrase
    

从上面的输出中复制“psk=”的值。

  • 在文本编辑器中打开 /etc/network/interfaces:

    $ sudo sensible-editor /etc/network/interfaces
    
  • 为您的无线接口定义适当的节以及 SSID 和 PSK HASH。例如:

    auto wlan0
    face wlan0 inet dhcp
       wpa-ssid <myssid>
       wpa-psk <ccb290fd4fe6b22935cbae3144..>
    
  • 最后运行:

    $ sudo ifup wlan0
    

笔记: 一些答案似乎建议配置单独的wpa_supplicant.conf。但它仅适用于WPA-EAP,EAP-TLS网络。

如何让我的系统在启动时实现无线联网?

auto节确实会在系统启动时调出该界面。

答案4

原因是文件系统在启动时是只读的。此时只有静态设置有效,因为 udev 在文件系统准备就绪之前发出网络热插拔信号。

解决方法是更改/etc/init/network-interface.conf​​文件中的这一行:

“ifup --allow auto ...” 至
“ifup--allow=hotplug...”。

您必须将热插拔 PCMCI 和 USB 网络适配器标记为“热插拔”/etc/network/interfaces才能使它们继续工作,并且您应该在启动后而不是之前插入它们。

相关内容