楽天がちょっと前まで1年無料キャンペーンをしていたのでつられて楽天ひかりに乗り換えてしまいました。楽天はIPoEではアルテリア・ネットワークを利用しているため、前やったLinuxルーターの設定もやり直しです。やっていきましょう
v6で降ってくるIP変わった
プロバイダが変わったので当然ふってくるIPv6の/64レンジも変わります。ゴリゴリ書いてあったのでやりなおしです。残念。
Tunnelデバイスの管理をsystemd-networkdでやるのやめた
IPコマンドで追加する方が楽な気がしてきたのでやめました。
$ apt purge network-manager netplan.io ifupdown $ apt install radvd npdpp isc-dhcp-server $ cat /etc/systemd/network/10-enp2s0.network [Match] Name=enp2s0 [Network] LinkLocalAddressing=ipv6 Address=192.168.0.4/24 DHCP=no DNS=1.1.1.1 DNS=8.8.8.8 $ cat /etc/systemd/network/10-enx18ece795bb0b.network [Match] Name=enx18ece795bb0b [Link] RequiredForOnline=yes [Network] DNS=2606:4700:4700::1111 IPv6AcceptRA=yes DHCP=no Address=2001:f70:xxxx:xxxx:xxx:xxxx:xxxx:xxxx/64 $ cat /etc/radvd.conf interface enp2s0 { AdvSendAdvert on; prefix 2001:f70:xxxx:xxxx::/64 { AdvOnLink on; AdvAutonomous on; }; RDNSS 2606:4700:4700::1111 2001:4860:4860::8888 { }; }; $ cat /etc/ndppd.conf proxy enx18ece795bb0b { router no rule 2001:f70:xxxx:xxxx::/64 { iface enp2s0 } } $ cat /etc/sysctl.conf net.ipv6.conf.all.accept_ra = 1 net.ipv6.conf.enx18ece795bb0b.accept_ra = 2 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1 net.netfilter.nf_conntrack_tcp_timeout_established = 3600
$ cat router-xpass.sh #!/bin/sh set -ux RA_RANGE='2001:f70:xxxx:xxxx::/64' REMOTE='2001:f60:0:200::1:1' # dgw.xpass.jp LANDEV='enp2s0' WANDEV='enx18ece795bb0b' # udevadm info --export-db # USBで指したLANドングルが寝ないようにするやつ echo 'on' > /sys/bus/usb/devices/1-7/power/control # no way to config this from systemd-networkd https://github.com/systemd/systemd/issues/928 ip -6 r replace $RA_RANGE dev enp2s0 tab 1 ip -6 rule add from all tab 1 priority 1000 iptables -t filter -F iptables -t nat -F iptables -t mangle -F iptables -t mangle -A OUTPUT ! -s 127.0.0.0/8 -j MARK --set-mark 2 iptables -t nat -A POSTROUTING -m mark --mark 0x2 -j MASQUERADE ip -6 tunnel add ds-lite mode ipip6 remote $REMOTE local 2001:f70:xxxx:xxxx:xxx:xxxx:xxxx:xxxx encaplimit none dev $WANDEV ip link set dev ds-lite up ip route add default dev ds-lite
これでだいたい動くようになった。より難易度の高いMAP-EをやっていたのにDS-LiteとシンプルなNATについてはいまだによくわかっていなくて若干でこずったりもした。一番注意しないといけないのはここで
iptables -t mangle -A OUTPUT ! -s 127.0.0.0/8 -j MARK --set-mark 2 iptables -t nat -A POSTROUTING -m mark --mark 0x2 -j MASQUERADE
ローカルループバックアドレスは127.0.0.1以外も最近のsystemd-resolvedとかだと利用しているため、ここでフィルタリングしておかないとルーター内でのみDNSが解決できなかったりする。いまのところ127.0.0.0/8だが、もしかしたら他に除外しないといけないレンジが存在するかもしれない。問題出てきたら調べて直す所存
速度
問題ない。NTT回線自体が最近遅くなって下り200-300Mbpsくらいで頭打ちするようになってしまったためそのままです。 ちなみに楽天ひかりだとPPPoEもついてくるんですがそっちは夜8時くらいだと3Mbpsくらいになって激遅でした。