自己建个ipv6隧道服务器吧

就用miredo

至少我觉得端口应该改一改。
VPS这边需要有两个外网ipv4 IP,和ipv6 IP
A、
改这个文件 miredo-1.2.6/libteredo/teredo.h

#define IPPORT_TEREDO 改成你想要的

就行了,编译安装后
B、
nano /usr/local/etc/miredo/miredo-server.conf

Prefix 2001:0::
InterfaceMTU 1280#也可以改改,当然只能往大了改
ServerBindAddress ip1
ServerBindAddress2 ip2#如果不和ip1连续就写上

C、执行
/usr/local/sbin/miredo-server -c /usr/local/etc/miredo/miredo-server.conf

netstat -nlp看看应该就有3个miredo-server在那了。

路由器这边
由于改了端口,需要自己编译miredo客户端
改这几个文件就行了
A、
openwrt/feeds/oldpackages/ipv6/miredo/Makefile

PKG_VERSION:=1.2.6
PKG_RELEASE:=3

PKG_SOURCE_URL:=http://www.remlab.net/files/miredo
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
#PKG_MD5SUM:=1281e7e75bddbde244cd778d99fa22d4

B、
openwrt/feeds/oldpackages/ipv6/miredo/patch/100-uclibc.patch
直接把下面的内容覆盖所有,注意把下面那个端口改成和服务器端一样
— a/libteredo/teredo.h
+++ b/libteredo/teredo.h
@@ -36,2 +36,2 @@
-#define IPPORT_TEREDO 3544

+#define IPPORT_TEREDO 改成你想改的

— a/libteredo/maintain.c
+++ b/libteredo/maintain.c
@@ -60,7 +60,7 @@

static inline void gettime (struct timespec *now)
{
-#if (_POSIX_CLOCK_SELECTION – 0 >= 0) && (_POSIX_MONOTONIC_CLOCK – 0 >= 0)
+#if (_POSIX_CLOCK_SELECTION – 0 >= 0) && (_POSIX_MONOTONIC_CLOCK – 0 >= 0) && !defined(__UCLIBC__)
if (clock_gettime (CLOCK_MONOTONIC, now) == 0)
return;
#else
— a/libteredo/tunnel.h
+++ b/libteredo/tunnel.h
@@ -32,6 +32,7 @@
# define LIBTEREDO_TUNNEL_H

# include
# include
+# include

# ifdef __cplusplus
extern “C” {

C、openwrt/feeds/oldpackages/ipv6/miredo/patch/110-fix_compile_error.patch

— a/src/main.c
+++ b/src/main.c
@@ -300,7 +300,9 @@
if (val)
{
error_errno (“cap_set_proc”);
+#ifdef MIREDO_DEFAULT_USERNAME
setuid_notice ();
+#endif
return -1;
}
#endif

D、删了openwrt/feeds/oldpackages/ipv6/miredo/patch/120-automake-compat.patch

就编译安装吧。

这样就是你私有的ipv6隧道服务器了。

发表评论