使用静态 IP 连接隐藏无线网络的脚本?

使用静态 IP 连接隐藏无线网络的脚本?

想要一个脚本,运行时它应该连​​接到一个隐藏的无线网络,详细信息如下:

SSID 为“无线” 网络未在上面广播其 SSID(隐藏) WPA2-PSK、AES,密码为“密码” 静态 IP:192.168.1.1 默认网关:192.168.1.254 DNS:192.168.1.254

不知道该怎么做。但我知道无线接口称为 wlan0,我使用的是 Ubuntu 10.10。我不想使用内置网络管理器,因为它在启动时从不自动连接。WICD 也不起作用。

欢迎任何想法。

答案1

请参阅 Arch wiki 上有关使用 WPA 请求者的页面: https://wiki.archlinux.org/index.php/WPA_supplicant#Classic_method:_wpa_supplicant.conf

在 wpa_supplicant.conf 中设置密码后,您应该能够使用以下 2 个命令进行连接。只需将这些命令保存在脚本中即可。其他设置已保存。

ifconfig wlan0 up
iwconfig wlan0 essid <hiddenname>

在 /etc/network/interfaces 中编辑您的 IP 地址和网关

答案2

如果网络管理器和 wicd 失败,那么很可能是你的驱动程序(如 rt2860sta)有问题,它拒绝直接连接隐藏的 essid(但至少在这种情况下 rt2800pci 对我来说是可以的)。

您可以尝试使用 /etc/network/interfaces 和 /etc/wpa_supplicant/wpa_supplicant.conf 来执行此操作,例如(模数损坏的驱动程序,因此它仍然不起作用):

/etc/network/interfaces
~~~~~~~~~~~~~~~~~~~~~~~

auto wlan0
iface wlan0 inet static
 address 192.168.1.1
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.254
 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0

eapol_version=1
ap_scan=1
fast_reauth=1

network={
        ssid="Wireless"
        key_mgmt=WPA-PSK
        scan_ssid=1
        psk="password"
}

并在 /etc/resolv.conf 中设置 DNS

接口的手册页、wpa_supplicant.conf 和 resolv.conf 可能会有帮助。

答案3

已经设法解决了我原来的网络管理器无法连接的问题,所以现在不需要脚本了(但还是感谢大家的帮助)。

问题是,我在无线设置中勾选了将此无线网络应用于所有用户的复选框。这使得它需要 root 访问权限。当我打开笔记本电脑时,它无法连接到无线网络。它甚至没有提示输入密码。我所做的就是取消勾选该复选框并手动将此无线网络应用于每个用户。它现在在启动时立即连接。

答案4

在文件中添加wpa-scan_ssid 1以下行。iface wlan0 inet dhcp/etc/network/interfaces

相关内容