openwrt在校园网环境下开启nat6 (ipv6 nat)

如果将路由器接入校园网,我们只能获得一个128位掩码的ipv6地址。这个地址仅供路由器本身使用,而路由器后的设备无法获取到ipv6地址,因此我们可以利用网络地址转换(NAT)为这些设备分配本地ipv6地址。
下面是openwrt开启nat6的配置方法。由于openwrt的固件种类繁多,每一种固件的图形界面各不相同,所以为了通用性本文不使用图形界面配置,而是直接修改配置文件。下面的步骤主要由添加操作和删除操作组成。

注意:
1. 请在添加一行配置之前检查它是否已经存在,如果已经存在就忽略;在删除一行配置之前检查它是否存在,如果不存在就忽略。
2. 注意配置项之间的对齐和缩进(TAB缩进)
3. 在开始之前确保openwrt中安装了ip6tables

配置步骤:

1. 编辑 /etc/config/network 文件
(1) 在 config interface 'wan6' 下添加 option reqaddress 'force'
(2) 在 config interface 'lan' 下添加 option ip6assign '64'
(3) 添加 config globals 'globals' 并在下面添加 option ula_prefix 'fdcf:b746:88a0:0::/64'

2. 编辑 /etc/config/dhcp 文件
(1) 删除 config dnsmasq 下的 option filter_aaaa '1'
(2) 在 config dhcp 'lan' 下添加以下配置:

option ra 'server'
option dhcpv6 'server'
option ra_management '1'
option ra_default '1'
list dns '2001:4860:4860::8888'
list dns '2001:4860:4860::8844'

3. 编辑 /etc/config/firewall 文件
(1) 在名为 'wan'config zone 下添加以下配置:

option output 'ACCEPT'
option input 'ACCEPT'
option forward 'ACCEPT'
option masq '1'
option mtu_fix '1'

(2) 检查文件中是否有如下配置,如果没有就把下面的配置添加到文件末尾,并在 /etc 目录下新建一个文件 firewall.user

config include
	option path '/etc/firewall.user'

4. 编辑 /etc/firewall.user 文件
在文件末尾添加 ip6tables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

这句命令中的 eth1 是wan网口对应的网卡名称,可以通过ifconfig命令查看。

5. 编辑 /etc/rc.local 文件
(1) 命令行执行命令 ip -6 route | grep default 查看网关以及网卡

例:执行代码后返回 
default from 2001:da8:1234:5678::910 via fe80::5616:51ff:fe56:8fb9 dev eth1 proto static metric 512 pref medium
那么网关就是 fe80::5616:51ff:fe56:8fb9
网卡就是 eth1

(2) 构造命令 route -A inet6 add default gw [网关] dev [网卡]

例:route -A inet6 add default gw fe80::5616:51ff:fe56:8fb9 dev eth1

(3) 将构造的命令添加到 /etc/rc.local 文件末尾 exit 0 这一行上方

6. 重新启动系统

测试结果:

通过ipv6测试

配置解释:

有空再写

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

diqiudq

人过留名,雁过留声。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值