设置由 tinc 管理的 IPv6 网络
示例:IPv6 网络
目的
本文档重点介绍使用 tinc 创建 IPv6 网络的示例设置。
示例布局
文件。
场景参数
IPv6 通过主站点上的本机或隧道代理服务提供。如果您需要隧道,请参阅维基百科的 IPv6 隧道代理列表。
给出的 IPv6 分配是 2001:db8:beef::/48,使用从 2001:db8:dead:beef::1 到 2001:db8:dead:beef::2 的隧道。
所有 tinc 连接共享 2001:db8:beef:0::/64 子网,其地址与 2001:db8:beef:(子网编号)::/64 分配相关联。例如,“routerc”将在 2001:db8:beef::3 监听 tinc,其 LAN 地址为 2001:db8:beef:3::1,子网为 2001:db8:beef:3::/64。
所有使用 tinc 的路由器和服务器都通过 IPv4 互联网连接,使用基于 192.0.2.0/24 的 WAN 地址。“routerc”使用 192.0.2.3。
“routera” 是一个管理#1 子网并连接到 IPv6 互联网的 Linux 服务器。
所有其他路由器都被认为是基于 Linux 的,因为它们的 TUN/TAP 支持桥接以太网。
配置文件
/etc/network/interfaces在 Debian/Ubuntu 系统上,可以使用中的条目 来静态分配本地 LAN 的 ::1 地址。示例:
iface eth1 inet6 static
address 2001:db8:beef::1::1
netmask 64
mtu 1280
在非 Debian/Ubuntu 系统上,可以在启动脚本中添加一行,例如ip -6 addr add 2001:db8:beef:1::1/64 dev eth1。
需要启用 IPv6 转发:放入echo "1" >/proc/sys/net/ipv6/conf/all/forwarding启动脚本中,或者net.ipv6.conf.all.forwarding = 1放入 /etc/sysctl.conf。
此设置使用 tinc 的“切换”模式:子网未在主机文件中分配;主机文件中只需要地址(仅适用于 ConnectTo 目标)和密钥。
假设配置文件进入类似目录 /etc/tinc/link并/etc/tinc/nets.boot 有一个“link”条目。下表可用于指导路由器的配置。
tinc(主路由器)的“routera”配置:
cat tinc.conf Name = routera Mode = switch Interface = vpn6
cat tinc-up
!/bin/sh
Enable tinc
ip -6 link set $INTERFACE up mtu 1280 txqueuelen 1000 ip -6 addr add 2001:db8:beef::1/64 dev $INTERFACE ip -6 route add 2001:db8:beef::/48 dev $INTERFACE
Static routing table
ip -6 route add 2001:db8:beef:2::/64 via 2001:db8:beef::2 ip -6 route add 2001:db8:beef:3::/64 via 2001:db8:beef::3 ip -6 route add 2001:db8:beef:4::/64 via 2001:db8:beef::4
cat tinc-down
!/bin/sh
Static routing table
ip -6 route del 2001:db8:beef:2::/64 via 2001:db8:beef:::2 ip -6 route del 2001:db8:beef:3::/64 via 2001:db8:beef:::3 ip -6 route del 2001:db8:beef:4::/64 via 2001:db8:beef:::4
Disable tinc
ip -6 route del 2001:db8:beef::/48 dev $INTERFACE ip -6 addr del 2001:db8:beef::1/64 dev $INTERFACE ip -6 link set $INTERFACE down The “routerb” configuration for tinc (the other non-master routers will be like this one):
cat tinc.conf
Name=routerb
Mode = switch
ConnectTo = routera
Interface = vpn6
cat tinc-up
!/bin/sh
ip -6 link set $INTERFACE up mtu 1280
ip -6 addr add 2001:db8:beef::2/64 dev $INTERFACE
ip -6 route add default via 2001:db8:beef::1
cat tinc-down
!/bin/sh
ip -6 route del default via 2001:db8:beef::1
ip -6 addr del 2001:db8:beef::2/64 dev $INTERFACE
ip -6 link set $INTERFACE down
您可以使用radvd或 Quagga在 LAN 上执行无状态地址自动配置。这是 LAN 自动配置的示例 zebra.conf(不要忘记启用 zebra 守护程序):
ipv6 forwarding
!
interface eth1
no ipv6 nd suppress-ra
ipv6 address 2001:db8:beef:1::1/64
ipv6 nd prefix 2001:db8:beef:1::/64
ipv6 nd ra-interval 10
!
interface vpn6
!
interface lo
上一篇: tinc 位于伪装的防火墙后面
下一篇: 防火墙后面的 tinc