因为我做app开发,本机会作为api服务器使用,如果ip发生变化了就要修改一次配置文件,非常的麻烦。
而我是通过命令行连接wifi的,执行命令如下:
wpa_supplicant-c lsnet.conf-i wlan0&那么这种方式是否可以设置固定ip呢?
排除可能存在的冲突
# 停止并禁用可能冲突的服务 sudo systemctl disable--now dhcpcd sudo systemctl disable--now NetworkManager设置固定ip
这是最优雅的方案:让 wpa_supplicant 负责“连上 Wi-Fi”,让 systemd-networkd 负责“给这个连接分配 192.168.31.188”。
创建配置文件:
sudo nvim/etc/systemd/network/25-wireless.network写入静态 IP 配置:
[Match]Name=wlan0[Network]Address=192.168.31.188/24Gateway=192.168.31.1DNS=192.168.31.1DNS=114.114.114.114这时的ip网段请根据自己的路由器的网段设置正确。
启动服务:
sudo systemctl enable--now systemd-networkd这样,当你运行 wpa_supplicant 命令连接成功的一瞬间,系统会自动检测到链路已 Up,并把 .network 文件里的静态 IP 压进去。