问题描述
我正在设置无头服务器,但在我想要放置它的地方没有以太网接入,所以我需要它在启动时自动连接到我的 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_supplicant
。wext
驱动程序在大多数情况下应该可以工作。要查看其他驱动程序的运行情况,请执行以下操作:
wpa_supplicant
有关连接的更多信息,请参阅 How to connect and disconnect to a network manually in terminal?
启动时建立连接
现在我们需要编辑 /etc/network/interfaces
。用你喜欢的编辑器打开它( vim
、 nano
等);你需要使用 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 的范围,当然,在这里替换您的适当详细信息。