随笔十七、eth0单网卡绑定双ip的问题
在调试语音对讲过程中遇到过一个“奇怪”问题:泰山派作为一端,可以收到对方发来的语音,而对方不能收到泰山派发出的语音。
用wireshark抓包UDP发现,泰山派发送的地址是192.168.1.30,而给泰山派实际设置的静态地址是192.168.1.99。由于接收端有地址识别,只接收99,因此30的数据应该是被丢弃了,导致不能播放音频。
vi /etc/network/interfaces
auto lo
iface lo inet loopback#设置静态ip
auto eth0
iface eth0 inet static
address 192.168.1.99
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
root@RK356X:/# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000
link/ether 3a:d8:ca:83:9d:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.99/24 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.1.30/24 brd 192.168.1.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 2409:8a1e:34e3:c5d0:e611:99cb:aa75:d89a/64 scope global dynamic noprefixroute flags 100
valid_lft 259183sec preferred_lft 172783sec
inet6 fe80::bbea:148f:4e36:e288/64 scope link
valid_lft forever preferred_lft forever
root@RK356X:/#
自制的RK3566核心板因为还没有底板,无法连接有线网络,因此只看到etn0绑了一个99地址。
泰山派核心板经扩展版上的网口接路由器,估计是DHCP服务自动分配了30这个ip。
请教了全能的AI助手,给出如下建议:
明白了,开发板通过路由器获取了一个动态IP地址(通过DHCP),同时在
/etc/network/interfaces文件中配置了一个静态IP地址。这种情况会导致网络接口拥有两个IP地址,可能会引起网络冲突或管理上的不便。解决方案
为了确保网络接口只有一个IP地址,你可以选择以下两种方式之一:
- 仅使用DHCP分配的动态IP地址。
- 仅使用静态IP地址。
下面是具体的步骤来实现这两种方式:
方案一:仅使用DHCP分配的动态IP地址
如果你希望开发板只使用从路由器分配的动态IP地址,请修改
/etc/network/interfaces文件,移除静态IP地址的配置。
编辑
/etc/network/interfaces文件:使用你喜欢的文本编辑器(如
vi或nano)打开/etc/network/interfaces文件:sudo nano /etc/network/interfaces移除静态IP配置:
确保你的文件内容如下所示,仅保留 DHCP 配置:
auto eth0 iface eth0 inet dhcp重启网络服务:
保存并关闭文件后,重启网络服务以应用更改:
sudo systemctl restart networking # 或者 sudo ifdown eth0 && sudo ifup eth0验证网络配置:
使用以下命令检查网络接口是否只有一个IP地址:
ip addr show eth0方案二:仅使用静态IP地址
如果你希望开发板仅使用静态IP地址,请禁用DHCP客户端,并确保
/etc/network/interfaces文件中正确配置了静态IP地址。
编辑
/etc/network/interfaces文件:使用你喜欢的文本编辑器(如
vi或nano)打开/etc/network/interfaces文件:sudo nano /etc/network/interfaces配置静态IP地址:
修改文件内容为如下形式,指定静态IP地址、子网掩码和网关:
auto eth0 iface eth0 inet staticaddress 192.168.1.100 # 请根据实际情况设置netmask 255.255.255.0 # 请根据实际情况设置gateway 192.168.1.1 # 请根据实际情况设置禁用DHCP客户端:
如果你使用的是
dhclient,可以停止并禁用它:sudo systemctl stop dhclient sudo systemctl disable dhclient如果你使用的是
NetworkManager,可以通过以下命令禁用自动连接:nmcli connection modify "有线连接 1" ipv4.method manual nmcli connection down "有线连接 1" nmcli connection up "有线连接 1"重启网络服务:
保存并关闭文件后,重启网络服务以应用更改:
sudo systemctl restart networking # 或者 sudo ifdown eth0 && sudo ifup eth0验证网络配置:
使用以下命令检查网络接口是否只有一个IP地址:
ip addr show eth0验证与测试
无论你选择了哪种方案,在完成上述步骤后,都应该进行验证和测试:
Ping 测试:尝试从开发板 ping 路由器或其他设备,确保网络连接正常。
ping 192.168.1.1 # 替换为实际的路由器IP地址连通性测试:如果需要访问互联网,尝试 ping 外部服务器,例如:
ping 8.8.8.8 # Google 的公共DNS服务器网络接口状态检查:再次检查网络接口的状态,确保只有一个IP地址被分配。
ip addr show eth0通过以上步骤,你应该能够解决开发板上出现多个IP地址的问题,并确保网络连接稳定可靠。如果有任何问题或疑问,请随时告诉我!
相关文章:
随笔十七、eth0单网卡绑定双ip的问题
在调试语音对讲过程中遇到过一个“奇怪”问题:泰山派作为一端,可以收到对方发来的语音,而对方不能收到泰山派发出的语音。 用wireshark抓包UDP发现,泰山派发送的地址是192.168.1.30,而给泰山派实际设置的静态地址是19…...
逻辑复制parallel并发参数测试
逻辑复制parallel并发参数测试 一、测试结果、测试环境描述 1.1、测试结果 cpu表中有1000万条数据,大小为1652MB,当更新的数据量多于10万条的时候有明显变化,多余30万条的时候相差2倍。 更新的数据量较多时,逻辑复制使用并发参数相比于使用…...
Cursor 帮你写一个小程序
Cursor注册地址 首先下载客户端 点击链接下载 1 打开微信开发者工具创建一个小程序项目 选择TS-基础模版 官方 2 然后使用Cursor打开小程序创建的项目 3 在CHAT聊天框输入自己的需求 比如 小程序功能描述:吃什么助手 项目名称: 吃什么小程序 功能目标…...
WordPress免费证书插件
为了在您的网站上启用HTTPS,您可以使用本插件快速获取Let’s Encrypt免费证书。 主要功能: 支持快速申请Let’s Encrypt免费证书支持通配符证书申请,每个证书最多可以绑定100个域名支持自动续期证书支持重颁发证书,证书过期或失…...
Linux:多线程[2] 线程控制
了解: Linux底层提供创建轻量级进程/进程的接口clone,通过选择是否共享资源创建。 vfork和fork都调用的clone进行实现,vfork和父进程共享地址空间-轻量级进程。 库函数pthread_create调用的也是底层的clone。 POSIX线程库 与线程有关的函数构…...
C++——list的了解和使用
目录 引言 forward_list与list 标准库中的list 一、list的常用接口 1.list的迭代器 2.list的初始化 3.list的容量操作 4.list的访问操作 5.list的修改操作 6.list的其他操作 二、list与vector的对比 结束语 引言 本篇博客要介绍的是STL中的list。 求点赞收藏评论…...
Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)
在本系列的上篇中,小李哥为大家介绍了如何在亚马逊云科技上给社交数字营销场景创建AI代理的方案,用于社交动态的生成和对文章进行推广曝光。在本篇中小李哥将继续本系列的介绍,为大家介绍如何创建主代理,将多个子代理挂载到主代理…...
DBeaver连接MySQL数据库
打开DBeaver,点击“新建数据库连接”选项。 点击“测试连接”,首次连接mysql会提示下载对应的JDBC驱动,点击下载即可。 填写服务器地址(这里是本地测试)、mysql的用户名(root)和密码ÿ…...
Leetcode40: 组合总和 II
题目描述: 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 代码思路ÿ…...
win32汇编环境,对话框程序中使用进度条控件
;运行效果 ;win32汇编环境,对话框程序中使用进度条控件 ;进度条控件主要涉及的是长度单位,每步步长,推进的时间。 ;比如你的长度是1000,步长是100,每秒走1次,则10秒走完全程 ;比如你的长度是1000,步长是10,每秒走1次,则100秒走完全程,但每格格子的长度与上面一样 ;以下…...
AIGC时代下的Vue组件开发深度探索
文章目录 一、AIGC时代对Vue组件开发的深远影响二、Vue组件开发基础与最佳实践三、AIGC技术在Vue组件开发中的具体应用四、结论与展望 随着人工智能技术的飞速发展,AIGC(人工智能生成内容)时代已经悄然来临。在这个时代背景下,软件…...
在Kubernets Cluster中部署LVM类型的StorageClass - 上
适用场景 看到B站技术部门的文章,是关于如何在k8s集群部署Elastic Search和Click House等IO密集型数据库应用的。 因为要充分利用NvME SSD盘的IOPS,所有数据库应用都直接调用本地SSD盘做为stateful application的 Persistent Volumes。为了可用动态的分…...
一次StarRocks分析的经历
起因 有人反馈说SR,在系统资源还有空闲的时候,被操作系统杀掉了。没有日志,怀疑是bug,如果要解决这个bug。据说在网上查到要升级。请我准备一下升级。 质疑 StarRocks是一款分析型数据库,2021年正式开源,…...
Django网站搭建流程
使用Django搭建网站是一个系统的过程,涉及从环境搭建到部署上线的多个步骤。以下是详细的流程: 1. 环境搭建 (1)安装Python Django是基于Python的Web框架,因此需要先安装Python。建议安装Python 3.8及以上版本。 下载地…...
Vue-day2
7.Vue的生命周期 mounted函数:在页面加载完毕时,发送异步请求,加载数据,渲染页面 createApp({date(){},methods:{},mounted:function(){console.log(Vue挂载完毕,发送请求获取数据)} }).mount(#{app}) 8.ajax函数库…...
Day44:列表元素的修改
在 Python 中,列表是一种可变的数据结构,意味着我们可以对列表中的元素进行修改。修改列表元素的方式有很多种,包括通过索引修改、切片修改、使用 append() 和 extend() 添加新元素、以及删除元素等。今天,我们将学习如何在列表中…...
在 AMD GPU 上使用 vLLM 的 Triton 推理服务器
Triton Inference Server with vLLM on AMD GPUs — ROCm Blogs 2025年1月8日,作者:Fabricio Flores,Tiffany Mintz,Eliot Li,Yao Liu,Ted Themistokleous,Brian Pickrell,Vish Vadl…...
day7手机拍照装备
对焦对不上:1、光太暗;2、离太近;3、颜色太单一没有区分点 滤镜可以后期P 渐变灰滤镜:均衡色彩,暗的地方亮一些,亮的地方暗一些 中灰滤镜:减少光差 手机支架:最基本70cm即可 手…...
HarmonyOS:创建应用静态快捷方式
一、前言 静态快捷方式是一种在系统中创建的可以快速访问应用程序或特定功能的链接。它通常可以在长按应用图标,以图标和相应的文字出现在应用图标的上方,用户可以迅速启动对应应用程序的组件。使用快捷方式,可以提高效率,节省了查…...
[SUCTF 2018]MultiSQL1
进去题目页面如下 发现可能注入点只有登录和注册,那么我们先注册一个用户,发现跳转到了/user/user.php, 查看用户信息,发现有传参/user/user.php?id1 用?id1 and 11,和?id1 and 12,判断为数字型注入 原本以为是简单的数字型注入,看到大…...
OpenRocket实战手册:从零到精通的火箭设计与仿真完全攻略
OpenRocket实战手册:从零到精通的火箭设计与仿真完全攻略 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 你是否曾经梦想过设计自己的火箭&…...
连云港市区本地人推荐的特色家常铁锅炖餐厅
在连云港市区,有一家备受本地人推崇的特色家常铁锅炖餐厅——灶福乐东北铁锅炖。它凭借独特的魅力,成为了本地家庭、企业团建以及游客打卡的热门之选。下面,让我们深入了解这家餐厅的过人之处。一、品牌故事:坚守正宗,…...
BGE Reranker-v2-m3效果展示:原始分数与归一化分数双维度结果对比分析真实案例
BGE Reranker-v2-m3效果展示:原始分数与归一化分数双维度结果对比分析真实案例 1. 系统核心能力概览 BGE Reranker-v2-m3是一个基于先进AI技术的本地文本相关性重排序工具,专门用于评估查询语句与候选文本之间的匹配程度。这个工具的核心价值在于能够智…...
3个高效技巧让ThreeFingersDragOnWindows实现Windows触控板革命
3个高效技巧让ThreeFingersDragOnWindows实现Windows触控板革命 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingersDragOnWi…...
SAP SD不完整日志配置实战:从字段识别到测试全流程(含避坑指南)
SAP SD不完整日志配置实战:从字段识别到测试全流程(含避坑指南) 在SAP SD模块的实施与运维过程中,确保销售凭证数据的完整性是保障业务流程顺畅运行的基础。不完整日志功能作为数据质量的"守门人",能够有效预…...
别只玩文生图了!手把手教你用Stable Diffusion 1.4的VAE模型,无损压缩和重构你的本地图片
解锁Stable Diffusion VAE的隐藏技能:从AI绘画到专业图像处理实战 你是否曾为海量图片的存储空间发愁?或是苦恼于传统图像处理工具的繁琐流程?今天,我们将颠覆你对Stable Diffusion的认知——它的VAE模型远不止是AI绘画的配角&…...
从C语言转战工业PLC?CodeSys ST语言中的指针和引用,和你想的不太一样
从C语言到工业PLC:CodeSys ST语言中指针与引用的颠覆性设计 1. 当高级语言开发者遭遇工业控制内存模型 第一次在CodeSys ST语言中看到POINTER TO和REFERENCE TO语法时,许多从C/C转战工业自动化的开发者会下意识地松一口气——"终于遇到熟悉的概念了…...
OpenClaw配置备份:Qwen3.5-4B-Claude环境迁移指南
OpenClaw配置备份:Qwen3.5-4B-Claude环境迁移指南 1. 为什么需要环境迁移 上周我的主力开发机突然主板故障,不得不临时切换到备用笔记本工作。当我准备继续用OpenClaw处理自动化任务时,突然意识到一个严重问题——所有精心调试的模型参数、…...
《QGIS快速入门与应用基础》245:单个元素选择与拖拽
作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...
从Demo到生产级:免费开源Agentic RAG实战课程,手把手教你构建智能系统!
Production Agentic RAG Course是一个免费开源课程,旨在帮助开发者从零构建生产级Agentic RAG系统。课程分为5个模块,共17节课,涵盖架构设计、工具集成、性能优化和生产部署等关键内容。Agentic RAG通过引入Agent能力,实现主动规划…...
