当前位置: 首页 > news >正文

[Linux] Network: IPv6 link-local 地址是否可用不自动生成

原来有一段时间在做扩充产品的VLAN个数,然后就遇到过一个问题:说这个Linux的默认配置里,会为每一个网络接口添加一个link-local的地址,就是FE80::开头的地址,在RFC-4291里有如下的定义:

Link-Local unicast 1111111010 FE80::/10 2.5.6

而这个配置是网络接口级别的一个配置,可用使用ip命令来做修改,如:ip link set dev X addrgenmode none。如果设置为none,就是不要自动产生link-local地址。其他模式:

支持的模式:eui64 |none |stable_secret |random

eui64: use a Modified EUI-64 format interface identifier
none: disable automatic address generation
stable_secret: generate the interface identifier based on preset /proc/sys/net/ipv6/conf/{default,DEV}/stable_secret
random: like stable_secret, but auto-generate a new random secret if none is set

另一个产生问题的必要条件是,Linux系统会默认为每一条link-local地址,创建一个路由记录到这个地址。如下:

fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth1.61 proto kernel metric 256 pref medium

这时候如果要在虚拟机上添加4096个VLAN接口的话,就会有4096个link-local地址,也会生成4096个相关的路有记录,然后就会导致Linux内核里的一系列的问题,尤其是在netlink的处理上,是一个不小的负担。

为了解决这个问题,还想着不行就把这个local-link的IP地址删掉,不让它自动生成,就不会存在这个路由记录。就不会有着netlink的负担。当时感觉感动太大,没敢这么改,如果当时这么改,肯定会遇到很多问题。

最近看IPv6的ND的时候发现,这个link-local的地址还有其他作用,也就是如果删掉会有副作用。比如ND协议,源地址选择协议等等,里面都有提到这个地址的用途。现在想想还有些后怕,幸亏没有删掉这个地址。

最后是通过一个netlink的优化选项解决的路由太多的问题。设置netlink的socket选项:
https://mzhan017.blog.csdn.net/article/details/120567610
if (setsockopt(nl_socket, SOL_NETLINK, NETLINK_DUMP_STRICT_CHK, &optval, sizeof(optval)) < 0) {

http://www.lryc.cn/news/239331.html

相关文章:

  • 万字解析:十大排序(直接插入排序+希尔排序+选择排序+堆排序+冒泡排序+快速排序+归并排序+计数排序+基数排序+桶排序)
  • 基于原子轨道搜索算法优化概率神经网络PNN的分类预测 - 附代码
  • “我,24岁,年薪20万”:选对了行业究竟多重要?
  • 【shell脚本】全自动完成pxe无人值守批量装机脚本,匹配centos系列
  • 利用Python进行数据分析【送书第六期:文末送书】
  • 【直播课】11月26日学习PostgreSQL-PGCE认证的朋友们准备好,直播课来了
  • ModernCSS.dev - 来自微软前端工程师的 CSS 高级教程,讲解如何用新的 CSS 语法来解决旧的问题
  • dvwa-command injection 代码审计(超详细逐行审计)
  • hadoop 配置历史服务器 开启历史服务器查看 hadoop (十)
  • Java注解(Annotation)的基本知识
  • ssh远程连接不了虚拟机ubuntu
  • 文心一言 VS 讯飞星火 VS chatgpt (140)-- 算法导论11.4 5题
  • 代码随想录Day51 完结篇 LeetCode T84 柱状图的最大矩形
  • 对接苹果支付退款退单接口
  • 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
  • Web前端—移动Web第四天(vw适配方案、vw和vh的基本使用、综合案例-酷我音乐)
  • 报错注入 [极客大挑战 2019]HardSQL1
  • 【MATLAB源码-第83期】基于matlab的MIMO中V-BALST结构ZF和MMSE检测算法性能误码率对比。
  • Android13 新增 Stable AIDL接口
  • Postman API Enterprise 10.18.1 Crack
  • 电脑内存升级
  • ExcelBDD PHP Guideline
  • C++静态链接库的生成以及使用
  • 【2024系统架构设计】 系统架构设计师第二版-未来信息综合技术
  • JavaFX修改软件图标
  • Linux ps -ef|grep去除 grep --color=auto信息
  • jQuery的学习(一篇文章齐全)
  • 注塑行业各类业务流程图(系统化)
  • Android Studio 安装及使用
  • 计算机网络的OSI七层模型