野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13346|回复: 10

[经验\资料] debian镜像设置不了静态ip地址,背后的原因却令人暖心!!

[复制链接]
发表于 2021-8-3 06:44:19 | 显示全部楼层 |阅读模式

] 本帖最后由 SysRq 于 2021-8-3 07:47 编辑 [/i]

[md]俺拿到这块linux开发板遇到的第一个难题就是:如何给网卡设置一个固定的ip地址? 按以前树莓派上的经验去修改 /etc/network/interface文件不起作用,在论坛里翻了几个帖子发现不少坛友有同样的疑惑.野火教程里是用 systemd-networkd的方法,有效果但俺不完全满意,原因如下:

  • networking为什么不起作用的疑惑没有得到解答
  • 引入了另一个看起来不相干的东西systemd-networkd,疑惑加倍.
  • 在俺的环境里,即使通过systemd-network指定了eth1的静态ip,仍然有鬼东西执着地给俺的eth1再配置一个自动的ip地址,浑身难受.

开发板吃灰了一月有余,最近又翻出来通电玩耍.再次面对老问题,俺使出浑身武功再次挑战,以为峰回路转柳暗花明,实际原地踏步黔驴技穷.记得俺第一次用 poweroff关机后,再开机点不亮开发板,长按电源键也不灵.上网搜"poweroff不开机怎么办".结果去到了友商论坛里.看他们讨论有重插拔核心板或短接某某脚,俺这才从底板原理图上发现有个sw是ON/OFF,原来野火教程里说的 ONOFF按键,不是电源按钮呀!!大意了.

吸取上次的教训,这回先认真研究野火的教程, 发现野火曾经使用过在 /opt/script/boot/psplash.sh里配置静态ip地址的办法,可惜此方法在Debian Image 2021-06-08时代已过时.再次以"imx6 静态ip"为关键字搜索,对搜索结果按友商论坛域名进行过滤, 浏览数贴后在他们的讨论中提到了设置静态ip地址失灵可能是 connman在作怪.

> 是这个文件/etc/init.d/connman在作怪,每次interface加载后,还会去读connman文件,把connman删掉或重命名就可以了

按俺的理解,connman也是一种网络管理程序,能管理有线\wifi\蓝牙等连接,像桌面系统里的 NetManager似的.它会覆盖掉 interfaces文件里配置静态ip地址.找到是它在作怪,解决问题就有了头绪,俺找到了两种可以用来设置静态ip地址的方法:

一, 使用debian系祖传的networking方式:
  1. /etc/network/interfaces文件给网卡配置静态ip地址
  2. sudo systemctl disable connman ;取消connman开机启动
  3. sudo systemctl enable networking ;允许networking服务开机运行
  4. 修改/etc/resolv.conf, 配置一个有效的nameserver.
  5. reboot
二, 将就材料,使用connman来设置静态ip地址

按道理来说 connman也该有给用户配置静态ip地址的地方,可俺实验发现 connman这阴间东西即使配置好了静态ip地址,下次开机它照样生成一份新的配置文件.此情此景用自媒体小编的口吻来写一篇文章,标题大概会是connman的配置文件每次瞎鸡儿变,背后的原因竟然很暖心!.暖心是不可能暖心的,俺只觉得糟心.但背后的原因还真被俺发现了,connman生成的配置文件名字里包含网卡的mac地址,而我们开发板网卡的mac地址每次开机会改变.所以,先给网卡一个固定的mac地址,connman也就有了固定的配置文件,再配置静态的ip地址那就有戏咯:

  1. 使用usb转串口转接开发板到电脑
  2. 启动过程中快速连续按键盘什么键(我按了Enter),进入到uboot环境.
  3. setenv ethaddr aa:bb:cc:dd:ee:ff ;给eth1设置固定的mac地址,我用了aa:bb:cc:dd:ee:ff
  4. saveenv ;保存
  5. 按RESET按键让CPU复位,启动 登录进debian系统
  6. su ; 将当前身份切换到root,root的默认密码是root
  7. 用root身份运行connmanctl配置静态ip
root@npi:~# connmanctl
connmanctl> config ethernet_aabbccddeeff_cable --ipv4 manual 192.168.10.2 255.255.255.0 192.168.10.1                                                            
;ethernet_aabbccddeeff_cable ip地址 子网掩码 网关地址

connmanctl> config ethernet_aabbccddeeff_cable --nameservers 8.8.8.8      
; 设置dns服务器,可以写多个ip地址,用英文逗号分隔.可以用一些国内公用dns服务器地址,这个8.8.8.8是谷歌的.

connmanctl> exit

connmanctl会把配置信息保存在/var/lib/connman/ethernet_mac_cable/settings 文件中,使用root身份可以查看.

2021-08-02_21-45.png

查看eth1接口的mac地址和静态ip地址设置

2021-06-27_13-06.png

测试开发板经过配置已经正常联网

2021-08-02_21-46.png

参考页面:

两种设置静态ip地址的方式分享完毕,谢谢您耐心观看.


小编体垃圾话开始 debian镜像设置不了静态ip地址背后的原因却令人暖心是怎么回事呢? 下面就让小编带大家一起了解吧。debian镜像设置不了静态ip地址背后的原因却令人暖心,其实就是debian镜像设置不了静态ip地址背后的原因却令人暖心了。大家可能会感到很惊讶,...但事实就是这样,小编也感到非常惊讶。那么这就是关于debian镜像设置不了静态ip地址背后的原因却令人暖心的事情了,大家有什么想法呢?欢迎在评论区告诉小编一起讨论哦

回复

使用道具 举报

发表于 2021-8-4 13:59:30 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2022-4-6 16:21:01 | 显示全部楼层
最后有uc内味了
回复 支持 反对

使用道具 举报

发表于 2022-5-30 17:24:22 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2023-1-2 16:18:24 | 显示全部楼层
本帖最后由 lkx 于 2023-1-2 16:20 编辑

请教一下,我使用第二种方法设置好了静态ip(测试ip已经不变),但是不能上网了,这咋回事呀@
回复 支持 反对

使用道具 举报

发表于 2023-1-2 17:41:58 | 显示全部楼层
lkx 发表于 2023-1-2 16:18
请教一下,我使用第二种方法设置好了静态ip(测试ip已经不变),但是不能上网了,这咋回事呀@
...

@おおおじ。
回复 支持 反对

使用道具 举报

发表于 2023-1-2 23:19:34 | 显示全部楼层
lkx 发表于 2023-1-2 16:18
请教一下,我使用第二种方法设置好了静态ip(测试ip已经不变),但是不能上网了,这咋回事呀@
...

ping百度提示什么,,是解析不了域名还是过远还是没有信息,,
回复 支持 反对

使用道具 举报

发表于 2023-1-2 23:22:02 | 显示全部楼层
おおおじ。 发表于 2023-1-2 23:19
ping百度提示什么,,是解析不了域名还是过远还是没有信息,,

野火文档也有教怎么固定ip
https://doc.embedfire.com/linux/ ... l#systemd-networkip
回复 支持 反对

使用道具 举报

发表于 2023-1-3 18:09:09 | 显示全部楼层
おおおじ。 发表于 2023-1-2 23:22
野火文档也有教怎么固定ip
https://doc.embedfire.com/linux/imx6/linux_base/zh/latest/linux_basis/ssh ...

野火的这个不顶用,之前的静态ip是dns解析不行, ping ipv4可以,ping 域名就不行。不搞了,我往下继续学了
回复 支持 反对

使用道具 举报

发表于 2023-1-3 21:26:22 | 显示全部楼层
lkx 发表于 2023-1-3 18:09
野火的这个不顶用,之前的静态ip是dns解析不行, ping ipv4可以,ping 域名就不行。不搞了,我往下继续学 ...

ping域名不行的话,在/etc/resolv.conf加下nameserver 8.8.8.8     就可以了
回复 支持 反对

使用道具 举报

发表于 2023-1-4 11:10:04 | 显示全部楼层
おおおじ。 发表于 2023-1-3 21:26
ping域名不行的话,在/etc/resolv.conf加下nameserver 8.8.8.8     就可以了

嗯嗯,好的,谢谢好哥哥指导
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 15:51 , Processed in 0.043364 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表