connman 并使用 dhcp 来回更改 IP 地址

connman 并使用 dhcp 来回更改 IP 地址

在 Linux 中设置 IP 地址的规则已经改变,现在有了 connman 的东西。我使用 Beaglebone 黑色:

Linux beaglebone 4.19.94-ti-rt-r72 #1buster SMP PREEMPT RT Tue Mar 8 23:22:50 UTC 2022 armv7l GNU/Linux

我看到有一个文件,

cat /var/lib/connman/default.config 
[service_eth0]
Type = ethernet
IPv4 = 192.168.1.132/24
  1. 我是否可以通过更改此文件来更改我的 IP 地址?例如,如果我希望我的 IP 地址为 192.168.42.42,我是否只需在该 IPv4 行中更改它?
  2. 如果我想将其更改为由路由器分配(dhcp?),我该怎么办?
  3. 更改何时生效?我是否必须重新启动和/或停止并重新启动某些服务?

答案1

长话短说connmanctl services找到您要修改的卡,connmanctl config <service> --ipv4 manual <IP address> <netmask> <gateway>设置静态IP地址,connmanctl config <service> --ipv4 dhcp改为使用DHCP。

在 Linux 中设置 IP 地址的规则已经改变,现在有了 connman 的东西。我使用 Beaglebone 黑色:

幸运的是,事实并非如此:connman 已经存在了 13 年,并且在嵌入式世界中非常流行,与台式机/笔记本电脑系统相比,您经常希望有一个更精简的系统管理系统,尽管对于图形用户来说更难使用,大多数 Linux 发行版都采用了 NetworkManager(由于旧的静态 /etc/network/ifupdown 基础设施刚刚失效,因为支持“插入带有网络端口的扩展坞”或“启用 wifi ”之类的事情非常复杂)笔记本电脑侧面的开关”;Linux 早期根本没有看到这种用例;网卡在人们办公桌下的 PC 中集成了 ISA 或 PCI 卡,而不是笔记本电脑。所以,事情变得有点复杂,因为,现实世界有点混乱:)但这就是为什么会有这样的社区!)

所以,这并不新鲜——它只是与您习惯的桌面式 Linux 系统不同。对不起!不同的用例需要不同的工具:)

您可以connman自己更改配置文件,但我认为您不应该这样做;记住一个可以为您(正确地)执行此操作并且附带功能的命令可能会更容易help。这些天我记住的东西很少——我只是在阅读正确的帮助信息方面做得更好了。

在你的情况下,该命令被称为connmanctlctl我认为这是“控制器”的缩写)。它有子命令,其中之一被调用config并处理配置。 (其他子命令包括connman disable,例如禁用 wifi,如果您有的话,connman disable wifi例如。

connmanctl services将列出您拥有的以太网卡。您可能正在寻找类似的东西ethernet_MACADDRESSINHEX_cable;我们$SERVICE以后就这样称呼它吧。有了这些知识:

我是否可以通过更改此文件来更改我的 IP 地址?例如,如果我希望我的 IP 地址为 192.168.42.42,我是否只需在该 IPv4 行中更改它?

connmanctl config $SERVICE --ipv4 manual ${IP_address} ${netmask} ${gateway}

其中${netmask}${gateway}是设置界面时需要确定的另外两件事

如果我想将其更改为由路由器分配(dhcp?),我该怎么办?

connmanctl config $SERVICE --ipv4 dhcp

更改何时生效?我是否必须重新启动和/或停止并重新启动某些服务?

connmanctl connect $SERVICE

相关内容