LDCN


Linux下享受IPv6的畅快

2008-05-20 17:24 | 分类 网络相关 | By TualatriX

随着互联网的不断发展,当今的IPv4制式已渐渐满足不了应用,往下一代IPv6的转换也悄悄开始了。

早在去年11月,台湾的电信运营商即开始正式启用IPv6;今年2月份,国际互联网从IPv4向IPv6转移也已启动;而四天前,Google也开通了IPv6网络专访的网址

一切动作显示,向IPv6的转换的脚步是越来越快了。

虽然我们还不知道什么时候会转向IPv6,但是看完了本文,你就可以在Linux下享受IPv6!

—–

本文是对bones7456兄写的的“ipv6”进行的扩充,并在Ubuntu 8.04下试验成功。其他Linux发行版类似,只需要安装好相关开发包即可。

原理简介

利用現有 IPv4 網路,透過二端建立起一條 隧道(Tunnel) ,Server端透過這個 Tunnel 發送一組 IPv6 位址給另一端,使兩端可以使用 IPv6 封包在 Tunnel 內傳遞,如同現行很熱門的 VPN應用,是同相道理,使用者在外可使用公司內部私人網路,一樣是透過 Tunnel 建立,公司內部網段 IP 在 Tunnel 內傳遞,只不過這時換成 IPV6 封包。

0、先决条件

在编译这个软件前,首先确保你的Linux系统准备好了以下开发包,以顺利进行编译:gcc,g++,libc6-dev,libssl-dev

1、下载软件

先下载这个包,解压至任意位置,如桌面。其中tspc-advanced/INSTALL文件内有详细的安装说明。

2、编译并安装

进入tspc-advanced,执行make target=linux编译:

cd ~/Desktop/gw6c/tspc-advanced/
make target=linux

然后执行下面的命令安装:

sudo make target=linux installdir=/usr/local/gw6c install

3、修改配置文件

sudo gedit /usr/local/gw6c/bin/gw6c.conf

然后找到server=那行,修改为: server=tb.ipv6.apol.com.tw,保存退出。

4、运行

cd /usr/local/gw6c/bin/ 然后执行 sudo ./gw6c ,如果看到类似:

Gateway6 Client v5.0-RELEASE build May 16 2008-12:30:00
Connection to tb.ipv6.apol.com.tw established.

这样的输出,就表示连接成功了。这时,软件会在后台运行,需要注意的是,每次电脑启动后都需要手动加载。假如你需要自动连接,可以将/usr/local/gw6c/bin/gw6c写入/etc/init.d/rc.local文件。

5、测试效果

这时如果你在终端下运行ifconfig,可以发现多了一个项目,比如我是:sit1      Link encap:IPv6-in-IPv4。

你也可以使用ping命令的ipv6版来ping Google的主页:ping6 ipv6.google.com,测试是否能通。

当然,最重要的目的,当然是上网了。

你可以访问Google的IPv6版,也可以通过sixxs.org来访问Wikipedia,无需任何代理。下面可是用普通网络不能访问的唷!而且速度更不是普通代理所能达到的。

http://ipv6.google.com

http://zh.wikipedia.org.sixxs.org

所有的IPv4网站,都可以以http://(URL).sixxs.org的形式进行访问。

下图是我用Firefox访问这两个网站的截图:

不知道朋友们还知道什么有关IPv6的应用,这样就能好好发挥我们的“IPv6”了!

参考资料: http://www.apol.com.tw/ipv6/ipv6-tb-1.html (windows及其他平台的方法也请看这里)

感谢bones7456的原始文章。

转载请注明:转自LDCN - Linux下享受IPv6的畅快

Tags:, .

有 33 条评论 在 'Linux下享受IPv6的畅快'

RSS 订阅此页的评论 或者引用 'Linux下享受IPv6的畅快'.

  1. bones7456 说:

    强烈推荐大家使用IPv6,也期待运营商早日提供原生的IPv6支持…就不用搞这个什么隧道了…

    回复

    2008年05月20日 星期二 5:41 下午

  2. cccccc 说:

    呵呵,好东西。

    回复

    2008年05月20日 星期二 6:09 下午

  3. xinzhi 说:

    谢谢~安装很顺利~

    ps.google的ipv6链接地址错了哦。

    回复

    2008年05月20日 星期二 6:10 下午

  4. kaccess 说:

    为什么我make target=linux时出现下面错误?已经安装libc6-dev libssl-dev gcc g++到最新版。

    tsp_auth_passdss.c: 在函数‘AuthPASSDSS_3DES_1’中:
    tsp_auth_passdss.c:466: 警告: 传递参数 2 (属于‘nt->netsend’) 给指针时,目标与指针符号不一致
    tsp_auth_passdss.c:504: 警告: 传递参数 2 (属于‘nt->netsendrecv’) 给指针时,目标与指针符号不 一致
    tsp_auth_passdss.c:504: 警告: 传递参数 4 (属于‘nt->netsendrecv’) 给指针时,目标与指针符号不 一致
    tsp_auth_passdss.c:561: 警告: 传递参数 2 (属于‘buffer_get_string’) 给指针时,目标与指针符号 不一致
    tsp_auth_passdss.c:603: 警告: 传递参数 2 (属于‘buffer_get_string’) 给指针时,目标与指针符号 不一致
    tsp_auth_passdss.c:634: 警告: 传递参数 1 (属于‘DH_compute_key’) 给指针时,目标与指针符号不一致
    tsp_auth_passdss.c:640: 警告: 传递参数 1 (属于‘BN_bin2bn’) 给指针时,目标与指针符号不一致
    tsp_auth_passdss.c:782: 警告: 传递参数 7 (属于‘HMAC’) 给指针时,目标与指针符号不一致
    tsp_auth_passdss.c:834: 警告: 传递参数 2 (属于‘nt->netsendrecv’) 给指针时,目标与指针符号不 一致
    tsp_auth_passdss.c:834: 警告: 传递参数 4 (属于‘nt->netsendrecv’) 给指针时,目标与指针符号不 一致

    回复

    2008年05月20日 星期二 6:45 下午

  5. TualatriX 说:

    @xinzhi,谢谢提醒,改回来了。
    @kaccess,警告是正常的,不是错误的话就可以继续下面的步骤来安装完成。

    回复

    2008年05月20日 星期二 6:50 下午

  6. Wool 说:

    编译安装都很顺利
    也出现
    Gateway6 Client v5.0-RELEASE build May 20 2008-18:50:02
    Connection to tb.ipv6.apol.com.tw established.

    但是ipconfig信息不一样
    Link encap:UNSPEC

    而且无法链接给的地址

    回复

    2008年05月20日 星期二 7:06 下午

  7. kaccess 说:

    成功了

    回复

    2008年05月20日 星期二 7:10 下午

  8. kaccess 说:

    参照那些在线代理,自动修改网址结尾。例如下面这个,加到书签里,可按一下就自动改网址为.sixxs.org了。

    javascript:void((function(){location.href=location.href.replace(/^http\:\/\/([^\/\@]+)\/(?:)/,%22http://%22+%22$1%22.replace(%22\:%22,%22.%22)+%22.sixxs.org/%22);})())

    回复

    2008年05月20日 星期二 7:18 下午

  9. Wool 说:

    tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet6 addr: 2001:f10:5001:6da::2/128 Scope:Global
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:500
    RX bytes:0 (0.0 B) TX bytes:288 (288.0 B)

    这个tun不到1分钟就自己消失了。。。。奇怪

    回复

    2008年05月20日 星期二 7:27 下午

  10. dweng 说:

    速度很慢

    回复

    2008年05月20日 星期二 7:32 下午

  11. yegle 说:

    教育网内部早就可以享受完全的ipv6服务了~~
    提供一个ipv6代理,可以通过该代理来访问ipv6网站,下载速度能达到150K
    proxy.ipv6.uni-leipzig.de:3128

    回复

    2008年05月20日 星期二 7:39 下午

  12. 罗天 说:

    与楼上Wool相似……能ping通,但是显示不了……
    tun Link encap:未指定 硬件地址 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet6 地址: 2001:f10:5001:6f1::2/128 Scope:Global
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 跃点数:1
    接收数据包:60 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:57 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:500
    接收字节:5704 (5.5 KB) 发送字节:5568 (5.4 KB)

    回复

    2008年05月20日 星期二 7:43 下午

  13. Wool 说:

    我在windows下也是类似情况
    连连上
    但是很快掉线

    回复

    2008年05月20日 星期二 8:07 下午

  14. K 说:

    跟大家分享一下 Arch 下的相应操作方法,在终端中依次输入以下三个命令即可:

    sudo modprobe tun
    sudo yaourt -S gw6c
    sudo gw6c

    10秒钟搞定,呵呵。不过连 ipv6.google.com 的速度还好,使用 sixxs.org 上其他网站实在太慢……

    回复

    2008年05月20日 星期二 8:10 下午

  15. dogfox 说:

    make[1]: 没有什么可以做的为 `all’。

    郁闷啊

    不过要谢谢yegle给的代理地址

    回复

    2008年05月20日 星期二 8:41 下午

  16. TTG 说:

    我也是arch,但是不能成功。

    2008/05/20 21:26:04 I gw6c: Gateway6 Client v5.1-RELEASE build May 16 2008-18:32:10
    2008/05/20 21:26:04 I gw6c: Built on ///Linux NJBD 2.6.24-ARCH #1 SMP PREEMPT Sun Mar 30 11:40:06 CEST 2008 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux///
    2008/05/20 21:26:05 I gw6c: Connection to tb.ipv6.apol.com.tw established.
    2008/05/20 21:26:06 E gw6c: No IPv6 support found.
    2008/05/20 21:26:06 E gw6c: Try “modprobe ipv6″.
    2008/05/20 21:26:06 I gw6c: Done.

    回复

    2008年05月20日 星期二 9:33 下午

  17. kaccess 说:

    server=tb.ipv6.apol.com.tw 改为下面的应该也可以吧?

    http://linux.chinaunix.net/docs/2007-09-05/4590.shtml

    1. 上海交通大学( http://ipv6.sjtu.edu.cn/news/041231.php ),无需申请,可以直接使用。
    2. 泰国的NECTEC( http://tb.ipv6.nectec.or.th/tb/index.php ),免费申请,立即生效。
    3. Hurricane Electric ( http://tunnelbroker.net/tunnel_detail.php ),以下简称HENET,免费申请,申请24小时后生效。

    回复

    2008年05月20日 星期二 10:00 下午

  18. SecretZero 说:

    IPv6有什么特性?

    回复

    2008年05月21日 星期三 1:58 上午

  19. linunix 说:

    “这时,软件会在后台运行,需要注意的是,每次电脑启动后都需要手动加载。假如你需要自动连接,可以将/usr/local/gw6c/bin/gw6c写入/etc/init.d/rc.local文件。”
    发现此法子无效
    另外,发现sudo /usr/local/gw6c/bin/gw6c命令无法启动程序,提示:
    Last error is 15: INVALID_CONFIG_FILE.

    但是一旦cd到/usr/local/gw6c/bin目录下
    sudo /usr/local/gw6c/bin/gw6c就可以正确启动程序了。

    综上,怀疑是gw6c打开配置文件是指定当前目录下的,故在默认的/home/user/空间中运行时,会出现读配置文件出错。而cd到/usr/local/gw6c/bin/下后,就可以正常打开配置文件了。

    所以,在系统启动脚本里加入/usr/local/gw6c/bin/gw6c是没有用的,因为会出现读取配置文件出错的情况。

    回复

    2008年05月21日 星期三 3:03 上午

  20. chattan 说:

    骨头的动作还快哟!LDCN刚刚发布就来占SF了!

    回复

    2008年05月21日 星期三 8:23 上午

  21. w.q 说:

    就这些描述如何体现“畅快”两字?

    回复

    2008年05月21日 星期三 9:31 上午

  22. leeight的马甲 说:

    done

    回复

    2008年05月21日 星期三 11:01 上午

  23. hubuntu 说:

    tunnel broker可选地址:
    60.199.0.228
    tb.ipv6.apol.com.tw
    goipv6.seed.net.tw
    都比较慢,看教育网的iptv很卡。

    回复

    2008年05月21日 星期三 1:03 下午

  24. davix 说:

    感覺在linux下應該有更簡單的方法,
    比如建個tunnel,再進制一些什麽設置,

    應該不用另外安裝什麽工具了吧

    回复

    2008年05月21日 星期三 1:31 下午

  25. dogfox 说:

    按照这个地址我居然成功了

    http://www.idalin.cn/2008/05/16/ipv/

    回复

    2008年05月21日 星期三 1:52 下午


  26. [...] 在这里看到了 Linux 下提前体验 IPv6 ,留言中提到了 Archlinux 下的方法,非常的简单: sudo modprobe tun sudo yaourt -S gw6c sudo gw6c [...]

    2008年05月23日 星期五 8:26 下午

  27. membogg 说:

    ubuntu下可以安装tspc,比较方便

    回复

    2008年05月28日 星期三 11:58 下午

  28. lycsm 说:

    麻烦搂主给我看一下,怎么回事。 我的不能连接。但是又提示安装成功。就是Gateway6 Client v5.0-RELEASE build May 16 2008-12:30:00
    Connection to tb.ipv6.apol.com.tw established.
    上面这个信息是有的。但是连接不上。谢谢。
    lycsm@lycsm-laptop:~$ ifconfig
    ath0 Link encap:以太网 硬件地址 00:19:7d:17:80:51
    inet6 地址: fe80::219:7dff:fe17:8051/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
    接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:0 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:0
    接收字节:0 (0.0 B) 发送字节:0 (0.0 B)

    eth0 Link encap:以太网 硬件地址 00:16:d3:38:8a:57
    inet 地址:192.168.0.12 广播:192.168.0.255 掩码:255.255.255.0
    inet6 地址: fe80::216:d3ff:fe38:8a57/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
    接收数据包:34601 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:30102 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:1000
    接收字节:37145751 (35.4 MB) 发送字节:3244969 (3.0 MB)
    中断:20

    lo Link encap:本地环回
    inet 地址:127.0.0.1 掩码:255.0.0.0
    inet6 地址: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 跃点数:1
    接收数据包:2730 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:2730 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:0
    接收字节:157775 (154.0 KB) 发送字节:157775 (154.0 KB)

    tun Link encap:未指定 硬件地址 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet6 地址: 2001:f10:5001:ebaf::2/128 Scope:Global
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 跃点数:1
    接收数据包:25 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:19 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:500
    接收字节:2376 (2.3 KB) 发送字节:1672 (1.6 KB)

    wifi0 Link encap:未指定 硬件地址 00-19-7D-17-80-51-50-01-00-00-00-00-00-00-00-00
    UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
    接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:1735 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:199
    接收字节:0 (0.0 B) 发送字节:79810 (77.9 KB)
    中断:21

    回复

    2008年09月23日 星期二 2:21 下午

  29. kevin 说:

    為什麼執行make target=linux出現錯誤訊息

    mkdir -p bin
    mkdir -p objs
    Building gw6c-config module in ../gw6c-config/
    make[1]: Entering directory `/home/kevin/Desktop/gw6c-5_1-RELEASE-src/gw6c-config’
    make[2]: Entering directory `/home/kevin/Desktop/gw6c-5_1-RELEASE-src/gw6c-config’
    g++ -c -I. -O2 -Wall -DNDEBUG -o objects/namevalueparser.o src/namevalueparser.cc
    src/namevalueparser.cc: In member function ‘virtual bool gw6cconfig::NameValueParser::ReadConfigurationData(const std::string&)’:
    src/namevalueparser.cc:136: error: ‘memset’ was not declared in this scope
    src/namevalueparser.cc:177: error: ‘strtok’ was not declared in this scope
    src/namevalueparser.cc: In member function ‘virtual bool gw6cconfig::NameValueParser::WriteConfigurationData(const std::string&)’:
    src/namevalueparser.cc:259: error: ‘strlen’ was not declared in this scope
    src/namevalueparser.cc:259: error: ‘strncmp’ was not declared in this scope
    make[2]: *** [objects/namevalueparser.o] Error 1
    make[2]: Leaving directory `/home/kevin/Desktop/gw6c-5_1-RELEASE-src/gw6c-config’
    make[1]: *** [export] Error 2
    make[1]: Leaving directory `/home/kevin/Desktop/gw6c-5_1-RELEASE-src/gw6c-config’
    make: *** [check-gw6cconfig] Error 2

    回复

    2008年12月25日 星期四 4:30 下午

  30. 九零后 说:

    我和上面出现一样的情况了。g++,gcc,libc6-dev,libssl-dev都更新到最新了。编译错误。我的系统是8.10的。

    回复

    2009年07月18日 星期六 1:59 下午

  31. blambin 说:

    和上面一样的问题….

    回复

    2009年09月29日 星期二 7:16 下午

  32. seabee 说:

    和上面一样的问题,ubuntu 9.04 amd64

    回复

    2009年10月18日 星期天 7:24 下午

  33. hehe 说:

    ipv6 模块没有加载。在运行 gw6c 之前先运行:
    sudo modprobe ipv6

    回复

    2009年11月09日 星期一 9:07 上午

留下评论