在Debian Etch上使用IPv6

在Debian Etch上使用IPv6

版本1.0
作者:Falko Timme

本文档介绍如何为IPv6配置Debian Etch系统,以便a)可以连接到其他IPv6主机,b)其他IPv6主机可以连接到它。 IPv6将在今后变得更加重要,因为近期的估计认为,到2010年或2011年将不再有IPv4地址。因此,是时候学习IPv6了。

本文档不附带任何形式的保证! 我不会保证这将为您工作!

1初步说明

在本教程中,我使用以太网设备eth0和IPv4地址192.168.0.100在LAN中使用Debian服务器(即使用路由器连接到Internet)。 路由器在撰写本文时的公共IP地址为85.176.139.73 。 使用IPv6,其他系统可以直接连接到Debian系统,无论路由器和NAT如何。 本教程将适用于直接连接到Internet的Debian系统(也就是没有NAT,也没有路由器)。

要使用IPv6,我们将配置一个将IPv6 Debian系统与IPv6硬件相连的隧道(由所谓的“隧道代理”运行),从而连接到IPv6骨干网。 这个隧道是必要的,因为大多数ISP不支持直接的IPv6连接,而且通过IPv4网络路由IPv6流量是没有意义的,因为下一跳路由器不知道该怎么做。

有多个隧道经纪人可以免费提供隧道和IPv6地址(例如: http//tunnelbroker.net/,http : //go6.net/4105/freenet.asp,http : //www.sixxs.net/ )。 这些隧道代理连接到IPv6骨干网,隧道将您的Debian Etch系统连接到IPv6硬件,从而连接到IPv6骨干网。

2创建隧道

注册隧道经纪人 - 我使用http://tunnelbroker.net/ ,因为它们非常快 - 您可以在几分钟内启动并运行。 然后登录他们的Web界面,并在http://tunnelbroker.net/网站上创建一个隧道(“创建常规隧道”)。 填写IPv4端点(这是您的Debian系统的公共IPv4地址 - 如果是在路由器后面,这是您的路由器的公共IPv4地址),并选择靠近您的位置(这些位置是隧道代理具有POPs ,即与IPv6骨干网的连接):

之后,您将看到一个带有隧道细节的屏幕。

这些是我的测试隧道的细节:

Server IPv4 address: 216.66.80.30
Server IPv6 address: 2001:0470:1f0a:cc0::1/64
Client IPv4 address: 85.176.139.73
Client IPv6 address: 2001:0470:1f0a:cc0::2/64

请记下服务器IPv4地址216.66.80.30 ), 服务器IPv6地址2001:0470:1f0a:cc0 :: 1 )和客户端IPv6地址(2001:0470:1f0a:cc0 :: 2 )。 我们需要一点时间。

3配置Debian系统

登录到您的Debian系统并查看输出

ifconfig
server1:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:A5:5B:93
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea5:5b93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:71 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7789 (7.6 KiB)  TX bytes:5809 (5.6 KiB)
          Interrupt:169 Base address:0x1400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

server1:~#

这里没有什么特别之处,但输出中的inet6 addr表示系统具有IPv6功能。

现在我们配置新的公共IPv6地址和隧道如下:

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.30 #(please replace the IPv4 address with the IPv4 address of the tunnel broker server that you've chosen in the previous step)
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:0470:1f0a:cc0::2/64 #(please replace the IPv6 address with your own IPv6 address)
route -A inet6 add ::/0 dev sit1

已经这样了 看一眼

ifconfig

再次,您应该看到我们的隧道需要两个新的界面( sit0sit1 ):

server1:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:A5:5B:93
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea5:5b93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:145 errors:0 dropped:0 overruns:0 frame:0
          TX packets:163 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12833 (12.5 KiB)  TX bytes:19303 (18.8 KiB)
          Interrupt:169 Base address:0x1400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

sit0      Link encap:IPv6-in-IPv4
          inet6 addr: ::127.0.0.1/96 Scope:Unknown
          inet6 addr: ::192.168.0.100/96 Scope:Compat
          UP RUNNING NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

sit1      Link encap:IPv6-in-IPv4
          inet6 addr: 2001:470:1f0a:cc0::2/64 Scope:Global
          inet6 addr: fe80::c0a8:64/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

server1:~#

现在我们可以测试我们是否可以ping隧道代理服务器的IPv6地址:

ping6 -c4 2001:0470:1f0a:cc0::1
server1:~# ping6 -c4 2001:0470:1f0a:cc0::1
PING 2001:0470:1f0a:cc0::1(2001:470:1f0a:cc0::1) 56 data bytes
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=1 ttl=64 time=16.8 ms
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=2 ttl=64 time=40.5 ms
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=3 ttl=64 time=37.5 ms
64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=4 ttl=64 time=37.5 ms
--- 2001:0470:1f0a:cc0::1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 16.880/33.135/40.550/9.466 ms
server1:~#

看起来不错。

http://www.ipv6.org/v6-www.html具有IPv6主机列表。 我们来挑选一个,并测试我们是否也可以ping通它:

ping6 -c4 www.ipv6.uni-muenster.de
server1:~# ping6 -c4 www.ipv6.uni-muenster.de
PING www.ipv6.uni-muenster.de(tolot.ipv6.uni-muenster.de) 56 data bytes
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=1 ttl=57 time=29.3 ms
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=2 ttl=57 time=38.7 ms
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=3 ttl=57 time=60.4 ms
64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=4 ttl=57 time=23.1 ms
--- www.ipv6.uni-muenster.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 23.194/37.940/60.454/14.127 ms
server1:~#

好的,ping其他主机正常工作。 现在我们来看看我们的系统是否可以ping通我们的公共IPv6地址。 请访问http://www.berkom.blazing.de/tools/ping.cgi并填写您的公共IPv6地址。 如果一切顺利,输出应该类似于这一个:

恭喜,IPv6正在为您的系统工作!

如果您不想在每次重新启动后手动配置sit0sit1接口,可以按如下方式创建文件/etc/network/if-up.d/ipv6

vi /etc/network/if-up.d/ipv6
#!/bin/sh

PATH=/sbin:/bin

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.30
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:0470:1f0a:cc0::2/64
route -A inet6 add ::/0 dev sit1

(用您自己的值替换IPv4和IPv6地址!)

然后使文件可执行:

chmod 755 /etc/network/if-up.d/ipv6

现在每当系统启动时,它会自动启动sit0和sit1界面。

4链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏