ipv6 neigh proxy代理功能

linux内核本身支持ipv6 neigh proxy代理功能
目前用到的场景为:
    作为路由器设备,WAN侧IPv6 PD没有正常分配的情况下,路由器给LAN侧设备提供的IPv6地址段默认是wan侧的子网段(或相同网段),此时WAN侧认为相同网段的情况下对LAN侧的IPv6地址链路可达,而发起ICMPv6 ns/na报文用于链路地址解释(PPPoE模式是点对点协议,不需要),但正常情况下我们的wan口是不会对此ns报文做响应的
    ipv6 neigh proxy可用于对非接口的ipv6地址 ns报文做解答(目的mac就是wan接口本身)
实现原理:
    内核使用neigh_table表管理邻居发现,ipv4对应arp_tbl,ipv6对应nd_tbl
    其中有2个重要的链表:
        nht->hash_buckets是正常的ipv6缓存邻居链表
        phash_buckets是代理的ipv6邻居链表,这2个链表的结构体不一样,对应的各自有一套操作函数
    内核曾查询邻居默认是使用nht->hash_buckets,增加查询phash_buckets链表的条件是proxy_ndp被设置为1
    应用层添加邻居节点判断为代理邻居节点的条件是flags标记设置了NTF_PROXY
实现方式:
    /proc/sys/net/ipv6/conf/all/proxy_ndp || /proc/sys/net/ipv6/conf/XXX/proxy_ndp 控制是否启用代理
    ip -6 neigh add proxy 2000::3000 dev eth0添加对应的ipv6代理地址到各自需要代理的接口(mac地址直接取的接口的mac)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值