Networking

配置 IPv6 路由

  • May 17, 2013

我有來自 SIXXS 的 IPv6 地址。我的主機通過 AICCU 隧道(“sixxs”介面)與 SIXXS 網路連接。我的主機地址是 2001 :::2,最後的主機地址是 2001 :::1。在我的主機上,IPv6 是完全可訪問的。我在虛擬機上配置 IPv6 網路時遇到問題。我使用VirtualBox,VM(Ubuntu)使用tap1(在br0橋接的主機上)

#!/bin/sh

PATH=/sbin:/usr/bin:/bin:/usr/bin:/usr/sbin

# create a tap
tunctl -t tap1
ip link set up dev tap1

# create the bridge
brctl addbr br0
brctl addif br0 tap1

# set the IP address and routing
ip link set up dev br0
ip -6 route del 2001:6a0:200:172::/64 dev sixxs
ip -6 route add 2001:6a0:200:172::1 dev sixxs
ip -6 addr add 2001:6a0:200:172::2/64 dev br0
ip -6 route add 2001:6a0:200:172::2/64 dev br0

主機路由表:

2001:6a0:200:172::1 dev sixxs  metric 1024 
2001:6a0:200:172::/64 dev br0  proto kernel  metric 256 
2001:6a0:200:172::/64 dev br0  metric 1024 
2000::/3 dev sixxs  metric 1024 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev sixxs  proto kernel  metric 256 
fe80::/64 dev br0  proto kernel  metric 256 
fe80::/64 dev tap1  proto kernel  metric 256 
default via 2001:6a0:200:172::1 dev sixxs  metric 1024

Guest:eth1介面(與tap1相連):

auto eth1
iface eth1 inet6 static
address 2001:6a0:200:172::3
netmask 64
gateway 2001:6a0:200:172::2

訪客:路由表

2001:6a0:200:172::/64 dev eth1 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 dev eth1 proto kernel metric 256
default via 2001:6a0:200:172::2 dev eth1 metric 1024

來賓 ping 主機,主機 ping 來賓,主機 ping 到 2001:6a0:200:172::1,但來賓不 ping 到 2001:6a0:200:172::1。來賓嘗試在主機上 ping(通過 tcdump)我可以擷取其數據包,但主機不會將它們發送到 2001:6a0:200:172::1。我在配置中錯過了什麼?

檢查命令的輸出

sysctl -a | grep ipv6 | grep forward

對於您要轉發的所有網路,這應該顯示值為 1。您應該能夠使用以下命令啟用轉發:

sysctl net.ipv6.conf.all.forwarding=1

我會認真考慮設置一個 iptables 防火牆,這樣您就不會完全向 IPv6 Internet 開放您的系統。與 IPv4 不同,您沒有阻止入站連接的 NAT 設備。Shorewall防火牆有一個 IPv6 版本,它應該為您提供一個簡單的防火牆設置。範例雙介面設置應該是一個很好的起點,可以設置為為您啟用轉發。

我關於在 OpenWRT (Linux) 路由器上設置 IPv6 的文章可能會給您一些指導。將您的主機配置為路由器。

編輯:我查看了 SixXS 文件並驗證了在隧道上只有 ::1(P0P 和 ::2(您的端點)地址是有效的。應該已經為您提供了一個“預設路由 /64”,您可以在您的網路上使用它. 為你的網橋分配一個地址。(傳統上 ::1 地址是路由器。)你可能想要配置一個radvd守護程序來宣佈內部網路上的路由。如果你使用radvd你的虛擬盒子圖像應該自動配置一個地址和路由.

如果要路由其他本地設備,則根據需要添加eth1或 eth0` 到網橋。

引用自:https://serverfault.com/questions/402770