4on6 tunnel

RTX810とRTX1500でvpn使っていたが、速度的になんとかならんかということで構成を変えてみた。
RTX1500は100baseでRTX810は1000baseってところで既にボトルネックは分かっているんだが…
RTX1500にPPPoEもやらせていたが、どうせ使っている無線LANルーターにやらせることにした。
IPv6対応とかいいながら単にパススルーというのが気に入らなくてルーターやらせて無かったが(ぁ
これだけでもさりげに速くなっていて草。
そしてLinux鯖にv6ルータとVPNをやらせる。
対向マシンとの接続を活かしつつルーターの設定は疲れる… まあグローバル死ななきゃ何とかなるんだけど。

# ip tunnel add tun0 mode any encaplimit none ローカルv6 リモートv6
これでip6tnl0とtun0ができる。
ip6tnlが何者か分からんがとりあえず気にしないことにする。
# ip link set up tun0
# ip route add 192.168.リモートサブネット.0/24 dev tun0

これで一応相手のネットワークには繋がる
encaplimit noneが無いとダメとかmodeがip4ip6にしててv4ダメとか苦労した
ip -6 route add fd00:相手V6ローカルサブネット://64 dev tun0
とりあえず、tunデバイス自体にはアドレスは必要ない。V6リンクローカルは勝手に付くけど、デバイス名の指定だけでいいのでアドレスそのものを使うことはない
要は相手のサブネットへのルーティングでtun0を指定してやればいいだけ。
最初はipip6とかipipとか指定しなければならないと思いこんでいたが、両方使えるanyがあったらしい。
systemd.networkで記述するときにmanで見つけた。

[NetDev]
Name=tun0
Kind=ip6tnl

[Tunnel]
Mode=any
Local=ローカルv6>
Remote=リモートv6
EncapsulationLimit=none
[Match]
Name=tun0

[Route]
Destination=192.168.相手サブネット.0/24
Scope=link

[Route]
Destination=相手v6ローカルサブネット::/64
PreferredSource=ソースアドレス
[Match]
Name=eth0

[Network]
IPv6AcceptRA=true
Address=IPv4アドレス
Gateway=IPv4ルータアドレス
Address=IPv6アドレス
Tunnel=tun0

eth.networkにTunnel=tun0が無いせいでだいぶ悩んだ。
tun0@none と tun0@eth0 とデバイス名が違う。
ルーティングで悩んだのはスタティックルーティングをv4とv6両方とも書く方法だった。
なんかip route addを実行する.service書け、とかあって美しくないとか思っていたら
単に[Route]を2つ書けばいいだけだったらしい。
これでsystemd-networkdだけで行けるようになった

そして安心して再起動して帰ったら、家からつなぐときに WiFiだと繋がるがイーサネットだと繋がらないとか、イーサネットでもつながるマシンがあったりとかで、また次の一日がつぶれた orz

結局tun0.netdevの書き間違いで、
EncapsulationLimit=0
ではなく
EncapsulationLimit=none
だった。
これ、なぜかsystemctl restart systemd-networkd では反映されなくて、システム再起動しないと反映されなかったりしてこれまた時間がかかった。
ネットワーク関係だと再起動時にコケてリモート接続できなくなるのが怖くてディスプレイつながないと再起動したくなかったとかあって無駄に時間潰した orz

ip -6 route showの結果を見ていて気が付いたのだが、static route にsource addressが指定できるっぽい。
今まで鯖同士の通信で自動アドレス優先されてうがーだったのがましになるかも?
しかしsystemd.networkの書き方はSource=ではなくPreferredSource=という罠があった。

rtx1500を外すことになったので、radvdも復活させた。前に使っていた設定で大体行けたので楽だった。
昔意味が解らなかった物が今だと解るものも一杯ある。
仕様が増えて実装もされて昔問題だったものの解決法があったりして(当時気が付かなかっただけかも?)進歩しているなぁと…

しかしRAが出せる無線ルータってほんと少ないのな。
まあRA出せる有線ルータも高いのしかないのだが…

つーか、これ暗号化していないのでアレでナニなのでソレ。(謎)