whi*_*s75 6 networking ufw ipv6 raspberry-pi radvd
我已经成功地使用 tunnelbroker.net 为我的 Raspberry Pi 设置了 IPv6。但是,我想分享我在网络中的其他设备中获得的 /64。网络的路由器是Virgin Media Super Hub (VMDG480),不支持IPv6。
这是我用于 Raspberry Pi 的 /etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.3
gateway 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:470:1f09:4f8::2
netmask 64
endpoint 216.66.80.26
local 192.168.0.3
ttl 255
gateway 2001:470:1f08:4f8::1
Run Code Online (Sandbox Code Playgroud)
这是我从隧道经纪人那里得到的信息:
Client IPv6 Address: 2001:470:1f08:4f8::2/64
Routed /64: 2001:470:1f09:4f8::/64
Routed /48: 2001:470:6c92::/48
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 radvd、dibbler 和 isc-dhcp-server - 没有人能够为我的网络中的其他计算机提供 IPv6 连接。有人可以帮助阐明这种情况吗?
它的工作方式略有不同:您不共享隧道中的 /64,而是将路由 /48 中的新 /64 用于您的网络。/48 为您提供2001:470: 6c92::/64
(即2001:470:6c92:0000::/64
)最多2001:470:6c92:ffff::/64
. 这为您提供了 65536 个 /64,这通常足以为每个网络提供自己的 /64。
首先,您必须在内核中启用 IPv6 转发,以便您的 Raspberry Pi 充当路由器。将此行添加到/etc/sysctl.conf
:
net.ipv6.conf.all.forwarding=1
Run Code Online (Sandbox Code Playgroud)
它可能已经在那里,但被注释掉了。
然后你必须在你的eth0
接口上配置 IPv6 。添加如下内容:
iface eth0 inet6 static
address 2001:470:6c92:1::1
netmask 64
Run Code Online (Sandbox Code Playgroud)
然后配置radvd
(Router Advertisement Daemon),以便您的 Raspberry Pi 向本地网络通告 IPv6 可用,并且它将用作默认网关。中的基本配置/etc/radvd.conf
将类似于:
interface eth0
{
AdvSendAdvert on;
prefix 2001:470:6c92:1::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
Run Code Online (Sandbox Code Playgroud)
它宣传它是默认网关,并且其他系统可以自动配置自己。
警告:当您启动radvd
LAN 上的所有系统时,将获得 IPv6 地址和 IPv6 默认网关。除非您在 Raspberry Pi 上配置了 IPv6 防火墙,否则所有系统都将直接连接到 IPv6 互联网。请确保他们的配置可以安全地运行,或者在启用radvd
.
如果您只希望特定系统使用 Raspberry Pi 进行 IPv6 连接,则不要运行radvd
. 相反,只需在这些系统上手动配置 IPv6。使用来自2001:470:6c8b:1::/64
.的地址。全零地址是子网路由器按照约定的任何强制转换地址,尽管我几乎从未见过在实践中使用过这个地址。地址2001:470:6c92:1::1
用于 Raspberry Pi,因此您可以使用从2001:470:6c92:1::2
(= 2001:0470:6c92:0001:0000:0000:0000:0002
) 到2001:470:6c92:1:ffff:ffff:ffff:ffff
. 配置2001:470:6c92:1::1
为默认网关,您应该在线:)
https://wiki.ubuntu.com/IPv6#Configure_your_Ubuntu_box_as_a_IPv6_router上还有一些建议可能适用于您的配置。查看“ufw 和路由”部分。它基本上告诉您在中添加以下几行/etc/ufw/sysctl.conf
:
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1
Run Code Online (Sandbox Code Playgroud)
要更改此行/etc/default/ufw
:
DEFAULT_FORWARD_POLICY="DROP"
Run Code Online (Sandbox Code Playgroud)
并将以下几行添加到/etc/ufw/before6.rules
:
-A ufw6-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw6-before-forward -i eth0 -o he-ipv6 -m conntrack --ctstate NEW -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8691 次 |
最近记录: |