当前位置: 首页>>技术教程>>正文


如何配置无头服务器以自动连接到无线网络?

, ,

问题描述

我正在设置无头服务器,但在我想要放置它的地方没有以太网接入,所以我需要它在启动时自动连接到我的 WiFi 网络(它有一个无线网卡)。我可以连接到以太网连接来设置它,但我需要它从那时起自动连接到我的接入点。

我该如何配置它?

最佳回答

经过大量研究,我终于让它正常工作了。由于我有一张英特尔无线网卡,所以我不需要安装任何额外的驱动程序,但你可能必须安装,这取决于你拥有的网卡。

首先,您需要弄清楚无线网卡使用的是什么接口。我们使用 iwconfig 命令来实现这一点:

iwconfig  

在我的例子中,我的无线网卡是 wlan0 接口,所以我将使用它。现在我们需要扫描无线网络:

iwlist wlan0 s  

这应该会给出大量输出,显示您所在区域内各种无线网络的详细信息。通常按 ESSID 进行过滤更容易。grep 可以帮到我们:

iwlist wlan0 s | grep ESSID  

这将列出您所在区域的所有无线网络的名称。现在是时候连接到您的网络了。

不安全和 WEP 网络

如果您的网络不安全或受旧 WEP 保护(是时候升级您的安全或路由器了!),连接相对简单。如果您的网络不安全,您应该能够使用以下方法连接:

iwconfig wlan0 essid NAME_OF_NETWORK  

如果您的网络受到 WEP 保护,只需添加 key 参数,后跟您的密码,如下所示:

iwconfig wlan0 essid NAME_OF_NETWORK key PASSWORD  

你可能得跑

dhclient  

让你的路由器给你分配一个 IP 地址。

WPA/WPA2

WPA/WPA2 稍微复杂一些。您需要使用 wpa_supplicant 。首先在 /etc 中创建配置文件:

sudo wpa_passphrase NETWORK_NAME NETWORK_PASSWORD > /etc/network/wpa_supplicant.conf  

现在我们需要连接:

sudo wpa_supplicant -B -iINTERFACE_NAME -cPATH_TO_CONFIG -DDRIVER  

例如:

sudo wpa_supplicant -B -iwlan0 -c/etc/network/wpa_supplicant.conf -Dwext  

-B 在后台运行 wpa_supplicantwext 驱动程序在大多数情况下应该可以工作。要查看其他驱动程序的运行情况,请执行以下操作:

wpa_supplicant  

有关连接的更多信息,请参阅 How to connect and disconnect to a network manually in terminal?

启动时建立连接

现在我们需要编辑 /etc/network/interfaces 。用你喜欢的编辑器打开它( vimnano 等);你需要使用 sudo

删除除以下内容之外的所有内容:

auto lo
iface lo inet loopback

(环回设备)。现在添加:

auto wlan0  
iface wlan0 inet dhcp  

pre-up <COMMAND> 

其中 wlan0 是您的无线接口,<COMMAND> 是您用来连接网络的命令(见上文)。例如,如果您的网络不安全,您可以添加:

pre-up iwconfig wlan0 essid some_network_name  

如果您的网络使用 WPA/2 保护,您可以添加如下内容:

pre-up sudo wpa_supplicant -B -iwlan0 -c/etc/network/wpa_supplicant.conf -Dwext  

如果您使用 wpa_supplicant 您还应该添加:

post-down sudo killall -q wpa_supplicant  

保存文件,重新启动,拔下以太网并尝试运行:

sudo apt-get update

如果命令成功完成,恭喜!您已上线!如果命令未成功完成,请在下面添加评论。

示例和解释

如果您的网络不安全或使用 WEP 保护,您的 /etc/network/interfaces 现在应该看起来类似于此:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet dhcp  

pre-up iwconfig wlan0 essid some_network_name 
# note: if WEP secured you would also have a 'key' argument with your password

如果您的网络是 WPA/2 安全的,您的 /etc/network/interfaces 应该类似于此:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet dhcp  

pre-up sudo wpa_supplicant -B -iwlan0 -c/etc/network/wpa_supplicant.conf -Dwext  

post-down sudo killall -q wpa_supplicant  

现在解释一下。

  • auto wlan0:自动启动 wlan0 接口。\n

  • iface wlan0 inet dhcp:通过 DHCP 获取 IP 地址\n

  • pre-up:指定建立连接的命令。\n

  • post-down:指定在我们之后用来清理的命令(如有必要)。\n

资料来源:

  • 无线、无头 Linux 盒\n

  • 如何在终端中手动连接和断开网络?\n

  • 个人经历和大量改进。\n

次佳回答

我建议使用静态 IP 地址,这样您就可以轻松地通过 ssh 和 ftp 进入服务器。此外,您还可以大大简化文件:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet static
address 192.168.1.125  
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 192.168.1.1
wpa-ssid <your_network>
wpa-psk <your_key>

确保该地址超出路由器用于 DHCP 的范围,当然,在这里替换您的适当详细信息。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14639.html,未经允许,请勿转载。