如何使用 connman 为 wifi 网络设置静态 IP 地址

How to set static IP address using connman for wifi network

我正在尝试使用 connmanctl 为 wifi 网络设置静态 IP(手动,无 dhcp)地址。我是 运行 埃 linux.

我得到以下信息:

connmanctl
connmanctl> 配置 wifi_"HASH"_managed_psk --ipv4 手册 192.168.10.2 255.255.255.0 192.168.10.1 错误 wifi_"HASH"_managed_psk:不支持

有人知道怎么做吗?

尝试connmanctl enable wifi然后你应该可以配置它

安装 connman 后,它会在 /var/lib/connman 中创建配置目录,其中会创建 wifi、以太网等设备的配置文件。在那些文件中有如下条目:

[service_wifi_<HASH>_managed_psk]
Type = wifi
Name = <SSID>
Passphrase = <PASSPHRASE>   
IPv4.method=dhcp

打开该文件并查看您在命令中使用的给定名称是正确的

connmanctl config wifi_"HASH"_managed_psk --ipv4 manual 192.168.10.2 255.255.255.0 192.168.10.1

如果不是 wifi_"HASH"_managed_psk,则使用那个。或者你可以使用命令 connmanctl services

查看

我通过在目录中手动创建名为 "settings" 的文件来设法获得静态 IP 地址:

  /var/lib/connman/wifi_<HASH>_managed_psk/

内容如下:

[wifi_<HASH>_managed_psk] 
Name=<SSID>                       ←Name of the network 
SSID=544f52414445585f4252         ←Name of the network in hexadecimal format    
Favorite=true
IPv4.method=manual                ←Method to be used (in this case manual IP)
IPv4.netmask_prefixlen=24
IPv4.local_address=192.168.0.133  ←Desired IP address
IPv4.gateway=192.168.0.1
Passphrase=<PASS>                 ←Wifi network password
AutoConnect=true

然后激活并连接到wifi

connmanctl enable wifi
connmanctl connect wifi_<HASH>_managed_psk

与其编辑 /var/lib/connman/wifi_<HASH>_managed_psk/ 下的设置,不如编辑配置文件 /var/lib/connman/service-name.config 代替。

例如

debian@beaglebone:/var/lib/connman$ sudo cat wifi.config
[service_home]
Type = wifi
Name = yyyyyyyyy
Security = wpa
Passphrase = xxxxxxxxxx
IPv4=192.168.1.4/255.255.255.0/192.168.1.254
IPv6=off
Nameservers=8.8.8.8,8.8.4.4

详情请参考手册页connman-service.config