Raspberry Pi(Linux)を使って楽天ひかりのIPv6(DS-Lite)に繋ぐ方法

先日 自宅の回線を楽天ひかりに変えたけど、対応するルータを手に入れる機会を逸したので、RaspberryPi(Linux)を使って繋いでみることにした。前提としてIPv4のフォワーディングは有効になっている。

pi@raspberrypi:~$ cat /proc/sys/net/ipv4/ip_forward
1

IPv6環境でDS-Liteを使うにはクロスパス方式を取る必要があって、トンネルの張り先がよく見るのと違う。dgw.xpass.jpのIPv6アドレスを名前解決してそこに張る。

IPv6のトンネル張るモジュール読み込み
sudo modprobe ip6_tunnel

トンネル作成
sudo ip -6 tunnel add ds-lite mode ipip6 remote 2001:f60:0:200::1:1 local 2001:xxxx:xxxx encaplimit none dev eth0
sudo ip link set dev ds-lite up

HTTP,HTTPS,DNSの通信をトンネル経由に
sudo iptables -A PREROUTING -i eth1 -t mangle ! -d 192.168.0.0/16 -p tcp --dport 443 -j MARK --set-mark 1
sudo iptables -A PREROUTING -i eth1 -t mangle ! -d 192.168.0.0/16 -p tcp --dport 80 -j MARK --set-mark 1
sudo iptables -A PREROUTING -i eth1 -t mangle ! -d 192.168.0.0/16 -p udp --dport 53 -j MARK --set-mark 1
sudo ip route add default dev ds-lite table 100
sudo ip rule add from all fwmark 1 table 100 prio 100
sudo ip rule show

IPv6用のFW設定
sudo ip6tables -F
sudo ip6tables -P INPUT DROP
sudo ip6tables -P FORWARD DROP
sudo ip6tables -P OUTPUT ACCEPT
sudo ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo ip6tables -A INPUT -p ipv6-icmp -j ACCEPT

IPv4とIPv6で通信速度はほぼ同じの23Mbps程度
使ってるのが初代RaspberryPiでVDSLなので、楽天ひかりのポテンシャルを引き出すことは難しそう。
一方でIPv6(IPoE)は認証がないので、切れてからの復帰がIPv4(PPPoE)より早くて、少し快適になったかな。


この記事が気に入ったらサポートをしてみませんか?