设为首页收藏本站

恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8887|回复: 151

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

    [复制链接]
发表于 2017-9-14 19:12 | 显示全部楼层 |阅读模式
本帖最后由 且听风叹 于 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/
原文部分有误,例如网关查看





评分

参与人数 5恩山币 +10 收起 理由
mlbf + 1 我来恩山就是为了撩你!
potomac + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
wukaisky + 5 呐,做人呢,最重要的就是开心
阿拉果 + 1 讲得很详细,谢谢作者
心落尘埃 + 2 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-14 20:12 | 显示全部楼层
我在电脑上敲入ipconfig/all , 能看到有IPV6地址,是否说明电信给了我IPV6网络?

点评

你可以尝试cmd下ping一下ipv6.google.com  详情 回复 发表于 2017-9-14 22:05
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-14 20:18 | 显示全部楼层
查看本帖隐藏内容
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-14 20:27 | 显示全部楼层
查看本帖隐藏内容
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-14 20:29 | 显示全部楼层
暂时意义不大。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-14 20:37 | 显示全部楼层
IPV6 NAT IPV6 NAT
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2017-9-14 22:05 | 显示全部楼层
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.
发表于 2017-9-14 22:15 来自手机 | 显示全部楼层
学习一下。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-15 11:21 | 显示全部楼层
且听风叹 发表于 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.
 楼主| 发表于 2017-9-15 23:07 | 显示全部楼层
zhaosm 发表于 2017-9-15 11:21
Ping不通,但为什么会分配IPV6地址给我?

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

点评

不是,好像是fe80  详情 回复 发表于 2017-9-18 17:20
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-15 23:24 | 显示全部楼层
什么鬼,最后不给看
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-16 00:39 | 显示全部楼层
感谢楼主大佬分享
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-16 09:36 | 显示全部楼层
学习下                                            。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-16 09:51 | 显示全部楼层
不知道为何scut这样设置了还是上不了

点评

确定每一步都操作了吗?还是你本身没有ipv6  详情 回复 发表于 2017-9-16 16:57
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-16 09:56 来自手机 | 显示全部楼层
非常好,谢谢分享教程
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛 ( 苏ICP备05084872号-1 )  

GMT+8, 2018-1-20 11:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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