フレッツ光クロスで固定IPを使いたいと思い、調べたところコラボ(enひかりクロス)ですが、v6プラスの固定IPが利用できるようだったのでこちらに転用しました。2023/04/22にNTTに転用番号の払い出しを申請し取得、前のプロバイダにも月末解約を申し込み、その日のうちにenひかりに申し込んだところ翌日の連絡で開通予定日が5/2となったのですが、IPoE接続の切替えタイミングがずれ、前のプロバイダに問い合わせたところIPoEの切り替えは2-3日かかるとのことで最終的に5/3の午前中に切り替わり開通しました。 結果、"プレフィクス+インターフェースID"(CEアドレス)はLAN/WANのいずれに割り振ってもDebianルータでIPv6/IPv4ともに問題なく接続できたので備忘録として挙げてみました。構成は以下の通りです。
注意点としては "ONU直下にルータを置いている" というところです。このためWAN側にはRAではPrefixは降りてきません。(V6プラスの固定IP接続に関する各社のコンフィグ例で一部ONU直下ホームゲートウェイ直下のいずれかの明記もなく、RAからPrefixを取得することを前提としている設定例があり、少し混乱しました。)
早速ですが設定です。なお環境はDebian 12/Bookworm(testing)で行いました。まず、/etc/network/interfaces.d/enp1s0f0(WAN側)は以下の通りです。
こちらの環境では ookla speedtest にてウィンドウズで実測でDL 最大約8Gbps、UP 最大約7.8Gbps出たので良い感じです。
参考までにDebianルータから測定したところ、こちらはDL約8.0Gbps、UP約7.7Gbpsでました。なお、dhcpd、radvd、sysctl.conf、firewallの設定は今回も触れていませんので、悪しからずご了承ください。
今回は以上です。それでは。
早速ですが設定です。なお環境はDebian 12/Bookworm(testing)で行いました。まず、/etc/network/interfaces.d/enp1s0f0(WAN側)は以下の通りです。
auto enp1s0f0 iface enp1s0f0 inet6 dhcp accept_ra 2 request_prefix 1enp1s0f1(LAN側)は以下の通りです。
auto enp1s0f1 iface enp1s0f1 inet static address 10.1.1.1 netmask 255.255.255.0 iface enp1s0f1 inet6 manualこれらに色々書いてもよいのですが、かえってごちゃごちゃするので /etc/rc.local から /usr/local/sbin/ipt-v6p-static-lan-01.sh という名前にしたスクリプト(chmod +x)を呼び出して一括して設定するようにしました。スクリプトは以下の通りです。
#!/bin/bash UPDT_URL=http://xxx.enabler.ne.jp/update USER=userid PASS=p@ssw0rd IFID=000a:0b0c:0d00:0000 IP4=10.11.12.13 BR=2404:aaaa:bbbb:cccc::dd #対向のルータ(WAN側のデフォルトゲートウェイ):radvdumpでわかります。 #FGW=fe80::aaaa:bbff:fecc:ddee WANDEV=enp1s0f0 LANDEV=enp1s0f1 TUNDEV='tun0' # dhclientが呼び出されない場合の対処 (2024/05/04追記:上述enp1s0f0の記述でdhclientは呼び出されるはずなのでコメント化しました。) #dhclient -6 -v -pf /run/dhclient6.$WANDEV.pid -lf /var/lib/dhcp/dhclient6.$WANDEV.leases -I -P -N -df /var/lib/dhcp/dhclient.$WANDEV.leases $WANDEV # PREFIXを取得 PFX=`cat /var/lib/dhcp/dhclient6.$WANDEV.leases | grep iaprefix -m1 | awk '{print $2}'` PREFIX=`echo $PFX | awk 'BEGIN{FS="::"}{print $1}'` GW_PLEN=`echo $PFX | awk 'BEGIN{FS="/"}{print $2}'` # 2024/05/02 以下三行の記述位置をこちらへ移動 GW=1 CE=$PREFIX:$IFID CE_PLEN=128 ip -6 addr add $PREFIX::$GW/$GW_PLEN dev $LANDEV # LANDEVにプレフィックス+インターフェースID(CEアドレス)を割り当てる場合 ip -6 addr add $CE/$CE_PLEN dev $LANDEV ip -6 tunnel add $TUNDEV mode ip4ip6 remote $BR local $CE dev $LANDEV encaplimit none # WANDEVにプレフィックス+インターフェースID(CEアドレス)を割り当てる場合 #ip -6 addr add $CE/$CE_PLEN dev $WANDEV #ip -6 tunnel add $TUNDEV mode ip4ip6 remote $BR local $CE dev $WANDEV encaplimit none ip link set dev $TUNDEV mtu 1460 ip link set dev $TUNDEV up ip -4 addr add $IP4/32 dev $TUNDEV ip route delete default ip route add default dev $TUNDEV #対向のルータ(WAN側のデフォルトゲートウェイ)が自動で設定されない場合 #ip -6 route add default proto static metric 20 \ # nexthop via $FGW dev $WANDEV weight 10 curl "$UPDT_URL?user=$USER&pass=$PASS" iptables -t nat -F iptables -t mangle -F iptables -t mangle -o $TUNDEV -I FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu #マスカレードする場合 iptables -t nat -A POSTROUTING -o $TUNDEV -j MASQUERADE # FULLCONENAT モジュールを使用する場合 #iptables -t nat -A PREROUTING -i $TUNDEV -j FULLCONENAT #iptables -t nat -A POSTROUTING -o $TUNDEV -j FULLCONENAT ## other local setup below... ip link set $WANDEV txqueuelen 10000 ip link set $LANDEV txqueuelen 10000 ip link set $TUNDEV txqueuelen 10000CEアドレスをデバイスに割り当ててIP4IP6トンネルを張る所と-j TCPMSSでTCP MSSクランプを使用している所以外は特に難しい設定はありません。その他、ルータのIPv6アドレスをこの例の場合は、$PREFIX::$GW/$GW_PLENにしていますが、必要に応じて変更してください。
こちらの環境では ookla speedtest にてウィンドウズで実測でDL 最大約8Gbps、UP 最大約7.8Gbps出たので良い感じです。
参考までにDebianルータから測定したところ、こちらはDL約8.0Gbps、UP約7.7Gbpsでました。なお、dhcpd、radvd、sysctl.conf、firewallの設定は今回も触れていませんので、悪しからずご了承ください。
今回は以上です。それでは。
コメント
コメントを投稿