こんにちはhamasan05です。
この記事はKLab Engineer Advent Calendar 2025の18日目の記事です。
今回の目的と動機
安定した高速インターネットと自宅サーバの両立
その中で検討した手段が
- IPv6で自宅サーバ環境
- PPPoEとDS-Lite両方のセッションを張り、PPPoEで自宅サーバを公開する
1は何度かやりかけて挫折したので今回は2を試すことにしました。
リモートで働いているのですが、自宅のネット環境が昼間に低下すると
1GB程度のDLに1時間以上かかることがあり、あまりに遅いときは手動でDS-LiteとPPPoEを切り替えていたので
両方セッション張ったままにできたらいいなーとか考えていたからです。
有名なのYAMAHAのルーターですが、中古でもそれなりの値段なので
DIYで同じようなことができないかなといろいろネットをうろうろしていました。
どうやらファームウェアをOpenWRTに変えることでPPPoEとDS-Lite両方を使えるということがわかりました。
同僚がVyOSを使って自宅ルータを構築していた話とかを聞いていたので
なんとなくいけそうな気がしました。
とりあえず検証
よく考えずにとりあえず手を動かしたくなった私は昔使っていたルータがあったことをふと思い出しました
WN-AX1167GR
調べたところいけそうな気がしたので思い切ってインストールしてみることに
https://openwrt.org/toh/hwdata/i-o_data/i-o_data_wn-ax1167gr
ここからfactory.binをDLしてルータのファームウェア更新からぽちっとやってみました。
しかしながら再度起動してくれることはありませんでした。
起動時にTFTPサーバからファームをDLして動く挙動があるそうなんですが
ノートPCにtftpd64を入れて直接つないでみてもサーバ側にアクセスが来た形跡もなかったのでした。
ということで早速挫折
検証二回目
今度はもう少しちゃんと調べて生成AIと壁打ちしました。
この辺りでOpenWRTをインストールして無線を使う時には技適の問題がありそうということを把握しました。
今回は無線APの機能は全く使う気がないので完全OFFで行けば問題がなさそうという結論に至りました。
新たな検証機を入手すべくオークションをうろうろしました。
ArcherC7あたりを勧められたのですが、TP-Linkは同じ型番でもハードウェアバージョンの違いが大きく
とても同じ機種とは言えず、はっきりわかったものに手を出そうとしたのですが、価格が折り合うものがありませんでした。
そんななかArcherC6のV2が1000円程度で入手できたのでこれを検証機としました。
C6インストール編
生成AIの指示に従ってここからイメージをDL
https://firmware-selector.openwrt.org/?version=23.05.5&target=ath79%2Fgeneric&id=tplink_archer-c6-v2
純正ファームのWebコンソールからアップデートしてしばらく待つと・・・
なんとあっさり成功!
無線もデフォルトでOFFになっていて電波問題も大丈夫そうなことを改めて確認
初期C6設定編
- Adminでパスワード変更
- SSHアクセスで公開鍵を登録
- PPPoE設定
Network -> Interfaces -> wan
PPPoEにして Switch Protocol
ID/Passを入れる
Save Save &Apply
この時点でネットに使がります
日本語化
opkg update
opkg install luci-i18n-base-ja
opkg install luci-i18n-firewall-ja
opkg install luci-i18n-opkg-ja
LuCI(WebUI)からやってもよいですがコマンドラインからさっくり
DSLiteのインストールと設定
opkg update
opkg install ds-lite
opkg install kmod-ipip
opkg install sit
uci set network.dslite='interface'
uci set network.dslite.proto='dslite'
uci set network.dslite.peeraddr='aftr.example.ne.jp'
uci set network.dslite.mtu='1280'
uci set network.wan6='interface'
uci set network.wan6.proto='dhcpv6'
uci set network.wan6.ifname='@wan'
uci set network.dslite.metric='10'
uci set network.wan.metric='20'
uci commit network
/etc/init.d/network restart
AFTRについてはDSLiteを契約すると自動で降ってくるようです。
tcpdumpなどで調べるとよいそうです(生成AI談
高速化
オフロード
uci set firewall.@defaults[0].flow_offloading='1'
uci set firewall.@defaults[0].flow_offloading_hw='0'
MTUの調整
uci set network.dslite.mtu='1280'
uci set network.dslite.mru='1280'
uci commit network
/etc/init.d/network restart
ほかにもいろいろやった
ポート開放などもやりましたがいったん割愛で。
さて結果は?
DS-LiteでつながっているPC側からGoogleのスピードテストを実行してみました。
残念ながら150Mbps程度しか出ていませんでした。
しかし、驚くべきことに既存ルータでは上りが100MbpsだったのがC6だと200Mbps出ていたことです。
ここは収穫でした。
参考までにスピードテスト中のtop
Mem: 47256K used, 74776K free, 1012K shrd, 0K buff, 20528K cached
CPU: 8% usr 0% sys 0% nic 0% idle 0% io 0% irq 91% sirq
Load average: 0.28 0.25 0.21 2/55 14971
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
10 2 root RW 0 0% 83% [ksoftirqd/0]
1559 1554 network S 4332 4% 0% /usr/sbin/hostapd -s -g /var/run/hostapd/global
DS-Lite処理が83%で張り付いているので生成AIによると性能限界だそうです・・・。
まあ古いルータで速度を出そうなんてのが甘い考えだったと思い知らされました。
とはいえちゃんと検証できたのでC6は教材としてしっかり1000円の価値がありました。
次はもう少し性能の良い中古ルータで検証してみようと思います。
もしかしたら家で眠っているJ4125のマシンがあるのでそれを使ってルーターを組むかもしれません。