OpenWrt镜像编译和ipv6支持
离成功实现路由器刷OpenWrt、接入校园网差不多一年了。路由工作比较稳定,还是很满意的。
这次回来有个新发现:学校有原生ipv6支持,在win7和ubuntu下什么都不用设置,自动获取global unicast的ipv6地址。但是路由器内部局域网的客户机则没法享受这个待遇。趁春节放假,好好研究了一下怎样让客户机也拿到ipv6地址。
大概折腾了3天,前两天走了弯路、岔路。
网上的教程已经很多了,一搜一大把,比如这个、和这个,但是做起来比较复杂,静态ip可能好点,动态分配就有很多麻烦事。
而且要装ndppd、radvd、dhcpv6-server等新组件,结果发现路由器的空间不够用,只好自己跑去编译固件,去掉不用的组件以节省空间。现学的搭环境、编译下载花了1天的时间,在此问候一下G·F·W及其全家,编译失败多次以后我不得不把verbose打开,一个个找被墙掉的依赖包手动下载。
等合适的固件编译好之后发现这种方式不可行……我擦。不仅设置比较复杂,关键是原来能拿到ipv6地址、能ping通ipv6网站的路由wan口,现在连地址都拿不到了。
折腾2天时间之后发现了这个帖子,结果真的如帖子所说,不到5分钟搞定,而且所有设备都能动态的拿到ipv6地址,我拿手机试过,能ping通、访问ipv6.google.com,www.kame.net的小乌龟也是动的。
其关键就在6relayd这个组件,看看它的简介:
6relayd is a daemon for serving and relaying IPv6 management protocols to configure clients and downstream routers. 6relayd provides server services for RA, stateless and stateful DHCPv6, DHCPv6-PD and can be used to relay RA, DHCPv6 and NDP between routed (non-bridged) interfaces incase no delegated prefixes are provided by the upstream router.
简单的说就是这个组件多种功能集于一身,适用多种网络环境,而且配置超级简单,福音呐。 不过前两天也没白费,对ipv6的理解又多了一点点,对OpenWrt的make menuconfig设置、编译也比较熟练了,也弄懂了一部分组件的功能和依赖关系,比如kmod-ipv6是OpenWrt的ipv6支持核心包,dhcpv6的server和client有多个实现,menuconfig一些依赖关系的自动配置不完全,还需手动干预,受到一个帖子的启发,等等。 最后把此时路由器OpenWrt的组件列表备份一个,以后再编固件的时候参照下:
Installed packages
Package name Version
6relayd 2013-07-26-2ed520c500b0fbb484cfad5687eb39a0da43dcf7
base-files 117-r36088
busybox 1.19.4-6
dnsmasq 2.62-2
dropbear 2011.54-2
firewall 2-55.1
hotplug2 1.0-beta-4
iptables 1.4.10-4
iw 3.6-1
jshn 2013-01-29-0bc317aa4d9af44806c28ca286d79a8b5a92b2b8
kernel 3.3.8-1-d6597ebf6203328d3519ea3c3371a493
kmod-ath 3.3.8+2012-09-07-3
kmod-ath9k 3.3.8+2012-09-07-3
kmod-ath9k-common 3.3.8+2012-09-07-3
kmod-cfg80211 3.3.8+2012-09-07-3
kmod-crypto-aes 3.3.8-1
kmod-crypto-arc4 3.3.8-1
kmod-crypto-core 3.3.8-1
kmod-gpio-button-hotplug 3.3.8-1
kmod-ipt-conntrack 3.3.8-1
kmod-ipt-core 3.3.8-1
kmod-ipt-nat 3.3.8-1
kmod-ipt-nathelper 3.3.8-1
kmod-ipv6 3.3.8-1
kmod-leds-gpio 3.3.8-1
kmod-ledtrig-default-on 3.3.8-1
kmod-ledtrig-netdev 3.3.8-1
kmod-ledtrig-timer 3.3.8-1
kmod-ledtrig-usbdev 3.3.8-1
kmod-lib-crc-ccitt 3.3.8-1
kmod-mac80211 3.3.8+2012-09-07-3
kmod-nls-base 3.3.8-1
kmod-ppp 3.3.8-1
kmod-pppoe 3.3.8-1
kmod-pppox 3.3.8-1
kmod-usb-core 3.3.8-1
kmod-usb-ohci 3.3.8-1
kmod-usb2 3.3.8-1
kmod-wdt-ath79 3.3.8-1
libblobmsg-json 2013-01-29-0bc317aa4d9af44806c28ca286d79a8b5a92b2b8
libc 0.9.33.2-1
libgcc 4.6-linaro-1
libip4tc 1.4.10-4
libiwinfo 36
libiwinfo-lua 36
libjson 0.9-2
liblua 5.1.4-8
libnl-tiny 0.1-3
libubox 2013-01-29-0bc317aa4d9af44806c28ca286d79a8b5a92b2b8
libubus 2013-01-13-bf566871bd6a633e4504c60c6fc55b2a97305a50
libubus-lua 2013-01-13-bf566871bd6a633e4504c60c6fc55b2a97305a50
libuci 2013-01-04.1-1
libuci-lua 2013-01-04.1-1
libxtables 1.4.10-4
lua 5.1.4-8
luci 0.11.1-1
luci-app-firewall 0.11.1-1
luci-i18n-english 0.11.1-1
luci-lib-core 0.11.1-1
luci-lib-ipkg 0.11.1-1
luci-lib-nixio 0.11.1-1
luci-lib-sys 0.11.1-1
luci-lib-web 0.11.1-1
luci-mod-admin-core 0.11.1-1
luci-mod-admin-full 0.11.1-1
luci-proto-core 0.11.1-1
luci-proto-ppp 0.11.1-1
luci-sgi-cgi 0.11.1-1
luci-theme-base 0.11.1-1
luci-theme-openwrt 0.11.1-1
mtd 18.1
netifd 2013-01-29.2-4bb99d4eb462776336928392010b372236ac3c93
opkg 618-3
ppp 2.4.5-8
ppp-mod-pppoe 2.4.5-8
swconfig 10
uboot-envtools 2012.04.01-1
ubus 2013-01-13-bf566871bd6a633e4504c60c6fc55b2a97305a50
ubusd 2013-01-13-bf566871bd6a633e4504c60c6fc55b2a97305a50
uci 2013-01-04.1-1
uhttpd 2012-10-30-e57bf6d8bfa465a50eea2c30269acdfe751a46fd
wpad 20130302-1
OpenWrt镜像编译和ipv6支持的更多相关文章
- openwrt安装编译
官网安装编译推荐: https://wiki.openwrt.org/doc/howto/buildroot.exigence https://wiki.openwrt.org/doc/howto/b ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- QtCreator动态编译jsoncpp完美支持x86和arm平台
如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...
- CEF3编译添加mp4支持(对应CefSharp63.0.3),chromium63(3239),附release下载
编译环境需求(3239版本) win7或更高,64位 vs2017 15.3.2+ 默认位置安装 不需要安装附带的win10sdk,sdk单独装 Windows 10.0.15063.468 SDK ...
- Win2019 IPV6 支持存在问题
1. 昨天晚上尝试 使用IPV6进行Oracle与SQLserver 的链接测试.从晚上六点到晚上八点测试环境一直不通. 后来换了服务器之后发现立即就可以了. 经过简单确认 怀疑Win server ...
- openwrt(二) 配置openwrt及编译
导航 1. 配置openwrt 2. 编译openwrt 3. 错误记录 1. 配置openwrt 在openwrt的根目录下,执行make menuconfig. 这个界面我也只是了解了这两个选项而 ...
- openwrt固件编译过程
主Makefile分析 注:1)make -n可打印makefile执行的命令,而不执行. 2)可以在规则的命令中增加echo跟踪执行进度. 顶层目录的Makefile是openert的总Makefi ...
- 初玩OpenWRT之编译TP-Link WR841N V8固件
0x00 安装依赖 安装git以下载OpenWrt源码.安装编译工具以进行交叉编译: sudo apt-get update sudo apt-get install build-essential ...
随机推荐
- TreeSet和Comparator 对TreeSet排序
使用TreeSet和Comparator,编写TreeSetTestInner类,要求对TreeSet中的元素"HashSet"."ArrayList".&qu ...
- C语言基础--进制
进制表示: // 1.默认就是10进制 ; // 2.在前面加上一个0就代表八进制 ; // %d是以十进制的方式输出一个整数 printf("%d\n", num1); // % ...
- 前台发送字符串给后台,格式为(a,b,c,d),后台将字符串转换成数组遍历后进而更新CheckId
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Configuration; u ...
- jQuery--index() window.onhashchange
index(): 1. 如果没有参数传给该函数,那么就返回一个整数,为其相对于其兄弟节点的位置. 2. 如果在一个元素集合上调用该函数,并且传入的参数为一个DOM元素或jQuery对象,那么返回一个整 ...
- H5实现俄罗斯方块(四)
图片加载的js: (function (window) { 'use strict'; //定义缓存的Map对象 var cacheMap = new Map(); //资源的总数量 var reso ...
- Linux线程-pthread_join
pthread_join用来等待另一个线程的结束,函数原型如下: extern int pthread_join __P ((pthread_t __th, void **__thread_retur ...
- 《深入浅出Node.js》第4章 异步编程
@by Ruth92(转载请注明出处) 第4章 异步编程 Node 能够迅速成功并流行起来的原因: V8 和 异步 I/O 在性能上带来的提升: 前后端 JavaScript 编程风格一致 一.函数式 ...
- dedecms搜索框制作
<form method=" name="kwtype"> <table width="> <tr> <td widt ...
- python 杨辉三角
前提:端点的数为1. 每个数等于它上方两数之和. 每行数字左右对称,由1开始逐渐变大. 第n行的数字有n项. 第n行数字和为2n-1. 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同 ...
- 正向代理与反向代理的区别【Nginx读书笔记】
正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我 ...