![在 Debian 上使用静态 IP 和 wpa_supplicant 设置网络](https://linux22.com/image/52345/%E5%9C%A8%20Debian%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E9%9D%99%E6%80%81%20IP%20%E5%92%8C%20wpa_supplicant%20%E8%AE%BE%E7%BD%AE%E7%BD%91%E7%BB%9C.png)
在 Debian 上,我尝试将网络设置为使用具有静态 IP 地址的 ad-hoc 模式。我还希望 wpa_supplicant 运行,以便我可以使用它来扫描范围内的 WiFi 网络。
为了使具有静态 IP 地址的临时网络正常工作,我修改了该/etc/network/interfaces
文件,使其如下所示:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
wireless-channel 1
wireless-essid MyNetworkName
wireless-mode ad-hoc
但是使用此配置,如果我尝试wpa_supplicant
使用访问,wpa_cli
则会收到一条错误,表明 wpa_supplicant 未运行。我可以在该配置中添加一些内容,以允许 wpa_supplicant 启动但不能用于连接到网络吗?
我想我可以用来iwlist scan
查找范围内可用无线网络的列表...但我已经有了输出的解析设置wpa_cli scan_results
:)
答案1
wireless-tools
(即iwlist
, iwconfig
, iwpriv
...) 是史前的,应该用 的调用来代替iw
。wireless-
中的内容不是/etc/network/interfaces
由 处理的wpa_supplicant
,而是由那些wireless-tools
在 中运送脚本的旧版本处理的/etc/network/if-*.d/wireless-tools
。
与 wpa_supplicant 提供的脚本进行比较,/etc/network/if-*.d/wpasupplicant
其中只是指向/etc/wpa_supplicant/
.他们处理形式的选项wpa-*
要在没有活动配置的情况下启动 wpa_supplicant,只需指定一个空配置文件,例如 ... /dev/null
。请记住使用nl80211
驱动程序,因为其他所有内容(包括wext
)都已过时,但仍然是wpa_supplicant
Debian 附带的旧 1.1 版本中的默认设置。
auto wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 24
wpa-conf /dev/null
wpa-driver nl80211
答案2
我知道,这是一个相当老的线程,但我遇到了同样的问题,并且我找到了 Debian bullseye(在树莓派上)的解决方案。必须在 /etd/dhcpcd.conf 中进行固定 IP 地址所需的配置
interface wlan0
static ip_address=192.168.0.4/24
static ip6_address=xxx:xxx:xxx::x/64
static routers=192.168.0.1
static domain_name_servers=ip.add.rr abc:adbd::1
使用此配置,IP 地址被设置为静态地址...