找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 73732|回复: 157

Lede、PandoraBox IPv6 NAT66的实战操作【亲测】

 火.. [复制链接]
本帖最后由 且听风叹 于 2017-10-11 21:35 编辑

2017-10-11更新:
如果ipv6访问不正常 则可能是dns污染 手动修改wan6的dns方法是:
修改wan6-高级设置下的这里 取消勾选对端通告的DNS服务器 自己自定义为谷歌的v6dns
注意别填错了 取消勾选他会变到下一行

-----------------------------------------------------------------------------------------------
使用对端通告的 DNS 服务器 留空则忽略所通告的 DNS 服务器地址
使用自定义的 DNS 服务器
2001:4860:4860::8888
2001:4860:4860::8844

----------------------------------------------------------------------------------------------------
会玩的童鞋可以更进一步可以修改dnsmasq的配置文件 指定域名指定解析

——————————————————————————————————————————————————————————————
更新:实测K2P 9.17的潘多拉完美适用本教程,且无需更新任何,直接步骤三配置即可
已经测试固件:
HG255D-LEDE(官网最新)
K1-LEDE(官网最新)K2-PandoraBox 9.27
K2P-PandoraBox 17.09 2017-09-16-git-a9e035b


前言.
近年来IPV6覆盖逐渐增大,部分地区电信可以直接获取到全球v6地址,再加上本身覆盖就很广泛的校园网基础,ipv6用户其实不在少数。本身v6的初衷是解决v4地址不够而推出的,然而因为各种原因,并不是所有设备都需要或者能接入公网,这样就还是要回归到nat上。
今天就来实战操作一下IPV6-NAT。本文学习提炼自网络,文末附地址。
先了解下 摘自百度
1. 什么是NAT?
NAT即Network Address Translation,它可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。
2.在NAT实验中需要理解的术语:
1) 内部局部地址(Inside Local):在内部网络中分配给主机的私有IP地址。
2) 内部全局地址(Inside Global):一个合法的IP地址,它对外代表一个或多个内部局部IP地址。
3) 外部全局地址(Outside Global):由其所有者给外部网络上的主机分配的IP地址。
4) 外部局部地址(Outside Local):外部主机在内部网络中表现出来的IP地址。
3.NAT的优点和缺点:
NAT的优点:
(1) 对于那些家庭用户或者小型的商业机构来说,使用NAT可以更便宜,更有效率地接入Internet。
(2) 使用NAT可以缓解目前全球IP地址不足的问题。
(3) 在很多情况下,NAT能够满足安全性的需要。
(4) 使用NAT可以方便网络的管理,并大大提高了网络的适应性。
NAT的缺点:
(1) NAT会增加延迟,因为要转换每个数据包包头的IP地址,自然要增加延迟.
(2) NAT会使某些要使用内嵌地址的应用不能正常工作.

4.NAT的工作原理:
当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选用的内部全局地址(全球唯一的IP地址)来替换内部局部地址,并转发数据包。
当外部网络对内部主机进行应答时,数据包被送到NAT路由器上,路由器接收到目的地址为内部全局地址的数据包后,它将用内部全局地址通过NAT映射表查找出内部局部地址,然后将数据包的目的地址替换成内部局部地址,并将数据包转发到内部主机。


开始.
首先我们的网络支持ipv6,(这是废话)LZ这里IPV6的原生Native;其次需要一台支持lede的设备;然后设备可以以动态获取ipv6(wan6有v6地址 可以ping通ipv6.google.com)。
这是前提。


1.准备工作
注意以下不是必要操作,如有luci界面自行略过。


固件是在lede官网下载的官方lede固件
LZ的设备是HG255D比较老,因此官网lede固件没有luci界面,需要自己安装,LZ先将路由器单独接入可以直接联网的网络,电脑使用网线接入HG255D,lede默认的dropbear开启了ssh端口22,我们使用xshell等终端连接到路由器
帐号密码root/admin
然后终端内输入命令


opkg update
opkg install luci
opkg install luci-i18n-base-zh-cn
opkg install luci-i18n-firewall-zh-cn

opkg install nano

这样luci界面就安装好了并且有了中文。

2.安装IPK包
将设备接入有提供IPv6的接口,
在luci界面里-接口-一栏设置好IPv4联网(pppoe或者其他),联网成功后,
然后使用ping ipv6.google.com查看是否可以ping通
可以通过则继续以下操作,此处默认是可以


安装本次nat的必要包
opkg install ip6tables
opkg install kmod-ipt-nat6

这两个包对内核要求还是蛮高的所以选择lede 其他的固件lz没有尝试

3.开始配置
使用终端nano、vi等命令修改也可以使用winscp工具打开
修改/etc/config/network文件,添加以下字段,若已存在字段仅地址不同,可以不用修改。或者改成你喜欢的前缀。

config globals 'globals'
           option ula_prefix 'eeee:eeee:eeee::/48'


→等效于
在luci的web界面修改
接口-全局网络选项-IPv6 ULA 前缀,前缀可以不和lz一样可以自定义


4.配置DHCPv6
终端内使用nano、vi、winscp
修改/etc/config/dhcp文件,将config dhcp 'lan'那一栏修改为以下内容:

config dhcp 'lan'
           option interface 'lan'
           option start '100'
           option limit '150'
           option leasetime '12h'
           option dhcpv6 'server'
           option ra 'server'
           option ra_management '1'
           option ra_default '1'

等效于
luci界面里打开
接口-lan-下方 DHCP服务器-ipv6设置
DHCPv6 服务   (DHCPv6-Service)                                   服务器模式
路由通告服务 (Router Advertisement-Service)               服务器模式
NDP 代理    (NDP-Proxy)                                                禁用
DHCPv6 模式   (DHCPv6-Mode)                                     无状态的 + 有状态的
总是通告默认路由(Always announce default Router)      勾选


5.添加防火墙脚本
修改/etc/firewall.user在文末添加
假设WAN对应的接口为eth0.2,不是eth0.2的,自行修改成你的wan口设备名,添加以下内容:

ip6tables -t nat -A POSTROUTING -o eth0.2 -j MASQUERADE

等效于在luci界面
网络-防火墙-自定义规则 添加这一行 保存应用


6.配置网关(重要!)
在终端内使用
ip -6 route | grep default   

查看当前IPv6默认路由
结果显示如下
default from (your ipv6) via (gateway) dev eth0.2  proto static  metric 512

其中(gateway)括号里的 就是你网络状态下的网关
例如楼主这里显示
default from 2001:abcd:abcd::d:abcd via fe80::224e:71ff:bbbb:cccc dev eth0.2  proto static  metric 512

那么其中的
fe80::224e:71ff:bbbb:cccc
就是当前网络的默认网关,这一步至关重要
我们需要将其添加到默认路由
终端里输入命令
route -A inet6 add default gw fe80::224e:71ff:bbbb:cccc dev eth0.2

至此配置方面就好了
接下来重启下服务使设置生效

/etc/init.d/firewall restart
/etc/init.d/network restart


注意:
如果是使用其他低内核的固件做如上的操作,
firewall那条命令的输出显示
可能会提示什么ip6tables错误的 说明最开始安装的ip6tables不支持此固件的低内核 请换高版本内核使用此教程。network 重启会有短暂的断网 耐心等待网卡的DHCP。

两条命令结束后 电脑仍然无法打开ipv6的话 请重启电脑的网卡 具体操作网络和共享中心-更改适配器设置,右击禁用网卡,再启用网卡。

此时电脑就应该可以正常访问v6了。

7.添加开机自动加入IPv6路由
由于route -A inet6 add default gw 命令重启会失效所以我们需要建立一个脚本让路由器开机自动添加
具体操作
在/etc/hotplug.d/iface/目录下新建名字为 90-ipv6 的文件
修改内容为


#!/bin/sh
[ "$ACTION" = ifup ] || exit 0

route -A inet6 add default gw fe80::224e:71ff:bbbb:cccc dev eth0.2


注意:记得修改成自己的网关
然后给予可执行权限:
chmod +x 90-ipv6
至此开机启动也完成了。


最后
通过http://test-ipv6.com/或者http://ipv6-test.com/测试IPv6是否正常

如果ipv6访问不正常 则可能是dns污染 手动修改wan6的dns方法是:
修改wan6-高级设置下的这里 取消勾选对端通告的DNS服务器 自己自定义为谷歌的v6dns
注意别填错了 取消勾选他会变到下一行

-----------------------------------------------------------------------------------------------
使用对端通告的 DNS 服务器 留空则忽略所通告的 DNS 服务器地址
使用自定义的 DNS 服务器
2001:4860:4860::8888
2001:4860:4860::8844

----------------------------------------------------------------------------------------------------
会玩的童鞋可以更进一步可以修改dnsmasq的配置文件 指定域名指定解析




本文整理自
http://tang.su/2017/03/openwrt-ipv6-nat/
原文部分有误,例如网关查看





评分

参与人数 9恩山币 +16 收起 理由
jepe*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
Ste*** + 1 强大的恩山!(以下重复1万次)
吴*** + 1 楼主,你的教程里获取网关的那部分不对吧?
lovezh*** + 3 一直我都上不去IPV6,看了这个文章才发现没有设置防火墙。。。
ml*** + 1 我来恩山就是为了撩你!
pot*** + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
wuka*** + 5 呐,做人呢,最重要的就是开心
阿*** + 1 讲得很详细,谢谢作者
心落*** + 2 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
我在电脑上敲入ipconfig/all , 能看到有IPV6地址,是否说明电信给了我IPV6网络?

点评

你可以尝试cmd下ping一下ipv6.google.com  详情 回复 发表于 2017-9-14 22:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

查看本帖隐藏内容
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

查看本帖隐藏内容
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

暂时意义不大。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

IPV6 NAT IPV6 NAT
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
zhaosm 发表于 2017-9-14 20:12
我在电脑上敲入ipconfig/all , 能看到有IPV6地址,是否说明电信给了我IPV6网络?

你可以尝试cmd下ping一下ipv6.google.com

点评

6in4可以这样设置吗?  详情 回复 发表于 2018-1-2 08:24
Ping不通,但为什么会分配IPV6地址给我?  详情 回复 发表于 2017-9-15 11:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
学习一下。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

且听风叹 发表于 2017-9-14 22:05
你可以尝试cmd下ping一下ipv6.google.com

Ping不通,但为什么会分配IPV6地址给我?

点评

你v6地址是怎样的 一般2001或者2400开头才是公网  详情 回复 发表于 2017-9-15 23:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
zhaosm 发表于 2017-9-15 11:21
Ping不通,但为什么会分配IPV6地址给我?

你v6地址是怎样的 一般2001或者2400开头才是公网

点评

不是,好像是fe80  详情 回复 发表于 2017-9-18 17:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

什么鬼,最后不给看
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢楼主大佬分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

学习下                                            。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不知道为何scut这样设置了还是上不了

点评

确定每一步都操作了吗?还是你本身没有ipv6  详情 回复 发表于 2017-9-16 16:57
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
非常好,谢谢分享教程
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 04:35

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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