海运的博客

k2p下潘多拉/openwrt配置ipv6地址

发布时间:October 27, 2018 // 分类:K2P // 1 Comment

我这宽带分配ipv6使用dhcpv6-pd方式,潘多拉默认配置ipv6就能正常使用,由于使用虚拟机和未使用自带的firewall走了一些坑,顺便将openwrt的ipv6分配了解了下。
wan6接口的dhcpv6客户端获取ipv6公网前缀:
2018-10-27_110916.png

路由获取IPV6前缀后向局域网内机器分发址使用RA路由通告和dhcpv6方式:
支持IPV6的主机会主动发路由器询问报文,然后路由器RA返回是否使用DHCPV6分配或用IP前缀、网关,机器根据MAC生成IPV6地址,最新的RA协议支持RDNSS可配置DNS,Windows 10最新系统才支持。

dhcpv6支持有状态和无状态,有状态类似于DHCPV4,无状态使用RA通告配置IP,DHCPV6配置DNS、NTP等扩展配置信息,据说android系统不支持dhcpv6。

有公网前缀的不要单独使用有状态的,不然pppoe重新报号前缀改变内网机器前缀不改。
有状态的+无状态的,使用dhcpv6有状态分配地址,同时如果有公网前缀也使用无状态分配,无前缀只使用DHCPV6有状态分配。

RA和DHCPV6模式有:服务器模式、中继模式、混合模式,前缀分配使用服务器模式,如果运营商不支持dhcpv6-pd可使用中继方式,中继模式要将wan6的dhcp客户端设置成master,lan的dhcp相当于slave。
混合模式会根据配置自动选择使用中继还是服务器模式。
If the interface was master, then hybrid means relay or disabled. If there was no slave relay in the other interfaces, then it will be configured to disabled.

If the interface was not master, then hybrid means relay or server. If there was no master, then the interface will be configured to server.

默认lan接口的dhcpv6服务器配置:
2018-10-27_111135.png
通告的DNS地址就是RDNSS,填写此项客户端可通过RA通告配置DNS地址,如果客户端支持RDNSS关闭DHCPV6服务也能正常使用了。

总结分配IP方式使用RA+DHCPV6无状态或RA+RDNSS不用DHCPV6就可以了。
配置iptables:

ip6tables -F
ip6tables -X
ip6tables -Z
ip6tables -P INPUT   DROP
ip6tables -P OUTPUT  ACCEPT
ip6tables -P FORWARD DROP

ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -i br-lan -j ACCEPT
#路由通告使用icmpv6协议,类型133-137
ip6tables -A INPUT -p icmpv6 -j ACCEPT
#这个一定要允许,不然获取不到公网ipv6前缀
ip6tables -A INPUT -m conntrack --ctstate NEW -m udp -p udp --sport 547 --dport 546 -s fe80::/64 -d fe80::/64 -j ACCEPT
#ip6tables -A INPUT -s fe80::/10 -d fe80::/10 -p udp -m udp --sport 547 --dport 546 -j ACCEPT
#ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT
ip6tables -A INPUT -i pppoe-wan -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i br-lan -o pppoe-wan  -j ACCEPT
ip6tables -A FORWARD -i br-lan -o br-lan  -j ACCEPT
ip6tables -A FORWARD -i pppoe-wan -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

ip6tables -t mangle -F
ip6tables -t mangle -X
ip6tables -t mangle -Z
ip6tables -t mangle -A POSTROUTING -o pppoe-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 

参考:
https://community.arubanetworks.com/t5/Controller-Based-WLANs/Explain-the-M-and-O-bit-in-IPv6-DHCP-server-configuration-What/ta-p/177442
https://github.com/gnu4cn/ccna60d/blob/master/d07-IPv6.md
https://www.v2ex.com/t/486379
http://www.right.com.cn/forum/thread-338106-1-1.html
https://qiita.com/kwi/items/c002cd3c466504c96391
https://i-meto.com/lede-ipv6/
https://openwrt.org/docs/techref/odhcpd

标签:none

有一条 关于" k2p下潘多拉/openwrt配置ipv6地址 "的评论

  1. mingyu wen mingyu wen

    写的让我豁然开朗,但请问这句什么意思:有状态的+无状态的,使用dhcpv6有状态分配地址,同时如果有公网前缀也使用无状态分配,无前缀只使用DHCPV6有状态分配。

发表评论

分类
最新文章
最近回复
  • 海运: LOG_LEVEL是配置文件变量,本文配置使用systemd启动在EnvironmentFil...
  • 1: 我源碼沒有任何修改,同樣編譯的在X86上可以正常運行。然後原封不動編譯aarch64就提示以上錯誤。
  • 海运: 你配置变量有问题?LOG_LEVEL? https://github.com/dani-gar...
  • 1: 能共享下发邮箱么,我这编译出来运行报错如下 /------------------------...
  • 海运: 正常运行
  • 1: thread 'main' panicked at 'Valid log level: Par...
  • 1: 請問你編譯的arm64可以正常運行麽,我按照您發的編譯出來報錯。
  • mr_yang: 求博主联系方式,有问题请教
  • 何立军: 海运,你好,很高兴浏览到你的网页,很有帮助,非常感谢,但是有网页加密,不知如何浏览。
  • mingyu wen: 写的让我豁然开朗,但请问这句什么意思:有状态的+无状态的,使用dhcpv6有状态分配地址,同时...