AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 475375
Accepted
SimonJGreen
SimonJGreen
Asked: 2013-02-05 14:33:05 +0800 CST2013-02-05 14:33:05 +0800 CST 2013-02-05 14:33:05 +0800 CST

设置一个 6in4 隧道服务器

  • 772

我想设置一个 IPv6-in-IPv4 SIT 隧道服务器。我梳理了Ubuntu IPv6 wiki 页面,但一切都是为了作为客户端连接到隧道,而不是托管隧道。我想使用 6in4,因为它非常简单/用途广泛,而且似乎可以毫无问题地协商大多数家用路由器/防火墙。

这将主要由我们的系统管理员人员使用,以通过本身不支持它的 DSL/Cable 连接从家中访问 IPv6。我想自己运行它的原因有两个:

  1. 我发现像 Hurricane Electric 隧道这样的隧道速度很慢,而且有时不可靠。
  2. 我不喜欢我们的流量通过 HE 的网络中断的想法。我们有自己的核心传输网络和 RIPE 的 IPv6 分配,所以我们不妨利用它!

这将由 5-10 个用户同时使用。

我拥有的可以用作主机的设备:

  • 思科 ISR
  • 思科 ASA
  • 瞻博网络 MX
  • Linux/Windows 服务器(最好是 Ubuntu)

提前致谢。

ipv6
  • 2 2 个回答
  • 11293 Views

2 个回答

  • Voted
  1. Best Answer
    petrus
    2013-02-05T14:54:28+08:002013-02-05T14:54:28+08:00

    如果我没记错的话,SIT 是对称的:两边做同样的事情。

    配置应该非常简单:

    思科 IOS:

    interface Tunnel0
     description 6in4 to <client>
     no ip address
     ipv6 enable
     ipv6 address 2001:db8:::1/64
     tunnel source <local ipv4>
     tunnel destination <client ipv4 addr>
     tunnel mode ipv6ip
    

    瞻博JunOS

    interfaces {
       ip-0/1/0 {
          unit 0 {
             tunnel {
                source <local ipv4>;
                destination <client ipv4 addr>;
             }
             family inet6 {
                address 2001:db8::1/64;
             }
          }
       }
    }
    

    Linux iproute2:

    ip tunnel add tun-6in4 mode sit remote <client ipv4 addr> local <local ipv4> 
    ip link set tun-6in4  up
    ip addr add 2001:db8:::1/64 dev tun-6in4
    

    我没有 ASA 配置方面的经验,但它也应该可行。

    然而,6in4 有几个缺点:

    • 用于 N 个对等点的集线器节点上的 N 个隧道

    • 没有简单的方法来更新动态 IP 客户端的对等 IP。

    您可能想看看动态 VPN 技术,例如 OpenVPN(解决问题 #2,尽管设备将动态生成)或tinc(解决这两个问题),或任何其他能够使用 tap 设备封装以太网(因此 IPv6)的技术。

    • 8
  2. Sander Steffann
    2013-02-05T18:00:07+08:002013-02-05T18:00:07+08:00

    为 ISP 的员工提供 IPv6 家庭连接非常重要。

    6in4 是对称的,因此您可以在两端以相同的方式设置隧道(在它们之间形成一条虚拟“电缆”)。然后像往常一样完成路由:“客户”端使用隧道作为默认网关,“服务器”将前缀路由到相应的隧道。最后一点可能需要一些(手动或自动)重新分配路由。

    在您的路由协议配置中的Cisco IOSredistribute static上是执行此操作的简单方法,但您可能希望过滤重新分配。我通常在 BGP 中重新分配“客户”路由。它使 IGP(如 ISIS 或 OSPF)保持清洁,这将有助于在链路抖动或故障后提高核心的收敛速度。BGP 提供了更好的过滤选项。例如,通过将社区附加到重新分配的路由。


    扩展一下 petrus 给出的答案。我将给出 Cisco 符号,但这将以大致相同的方式在其他操作系统中工作。

    您可以有编号和未编号的链接。带编号的链接可能会使调试更容易,但它会使您的寻址计划更复杂一些。在这两种情况下,您都必须将一些地址空间委托给用户。链接上的地址仅在链接上使用,用户可能还需要链接后面的网络地址。因此,沿着链接路由 a/56或 a /48。


    让我们从一个未编号的链接开始。创建链接以在链接ipv6 enable上创建链接本地地址。在“服务器”端是这样的:

    interface Tunnel1
     description 6in4 to <client-1>
     no ip address
     ipv6 enable
     tunnel source <local ipv4>
     tunnel destination <client-1 ipv4 addr>
     tunnel mode ipv6ip
    
    interface Tunnel2
     description 6in4 to <client-2>
     no ip address
     ipv6 enable
     tunnel source <local ipv4>
     tunnel destination <client-2 ipv4 addr>
     tunnel mode ipv6ip
    
    ipv6 route 2001:db8:a001::/48 Tunnel 1
    ipv6 route 2001:db8:a002::/48 Tunnel 2
    
    router bgp 65530
     address-family ipv6
      redistribute static
    

    在“客户端”方面:

    interface Tunnel1
     description 6in4 to <server>
     no ip address
     ipv6 enable
     tunnel source <client-1 ipv4>
     tunnel destination <server ipv4 addr>
     tunnel mode ipv6ip
    
    interface FastEthernet0/0
     ipv6 address 2001:db8:a001:1::1/64
    
    ipv6 route ::/0 Tunnel 1
    

    现在与带编号的链接完全相同。好处是您可以更轻松地 ping 隧道的另一个端点。在“服务器”端是这样的:

    interface Tunnel1
     description 6in4 to <client-1>
     no ip address
     ipv6 address 2001:db8:0:a001::1/64
     tunnel source <local ipv4>
     tunnel destination <client-1 ipv4 addr>
     tunnel mode ipv6ip
    
    interface Tunnel2
     description 6in4 to <client-2>
     no ip address
     ipv6 address 2001:db8:0:a002::1/64
     tunnel source <local ipv4>
     tunnel destination <client-2 ipv4 addr>
     tunnel mode ipv6ip
    
    ipv6 route 2001:db8:a001::/48 2001:db8:0:a001::2
    ipv6 route 2001:db8:a002::/48 2001:db8:0:a002::2
    
    router bgp 65530
     address-family ipv6
      redistribute static
      redistribute connected
    

    在“客户端”方面:

    interface Tunnel1
     description 6in4 to <server>
     no ip address
     ipv6 address 2001:db8:0:a001::2/64
     tunnel source <client-1 ipv4>
     tunnel destination <server ipv4 addr>
     tunnel mode ipv6ip
    
    interface FastEthernet0/0
     ipv6 address 2001:db8:a001:1::1/64
    
    ipv6 route ::/0 2001:db8:0:a001::1
    

    为了方便起见,我选择2001:db8:0:a001::/64与委托相关的点对点链接。2001:db8:a001::/48您可以选择任何您喜欢的前缀,但是使用与 IPv6 一样大的地址空间来保持事物的可识别性可以帮助...

    • 2

相关问题

  • IPv6 有哪些好的 IP 地址管理解决方案?[关闭]

  • 连接到 NAT 后启用 Teredo 的服务器

  • IPv4管理员的IPv6介绍[关闭]

  • 什么是支持 IPv6 胶水的又好又便宜的注册商?

  • 使用多少 IP V6 寻址?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve