FreeBSD13.5: インターリンク マイIP VPNでルーター運用

田舎の我が家にもいつか光回線が来るだろうと申し込みはしておいて、それまで我慢して使い続けたNTT西日本のフレッツADSLですが、とうとうフレッツ光は提供されないまま2026年1月でNTT西日本がフレッツサービス提供終了することになりました。フレッツADSLサービス終了というのは仕方ないとしても、代わりの回線は何を使えばいいの?NTT西日本から届いた文章を読んでコールセンターに連絡してみるものの、代わりのサービスはないとのこと。言葉を変えれば、私の住む地域からNTT西日本のインターネットサービスは撤退するってこと。

なんなんだ、その、田舎に住む人間は客じゃないような姿勢は!って感じます。ポツンと一軒家のような里から離れた場所に「一人で」住んでいるなら仕方ないかもしれないけど、民家は途切れずにある地域に住んでいます。
一応、電力系の光回線のメガエッグは使えるようになっていますが、回線&プロバイダー一体型サービスで、プロバイダーを選択できないし、固定IPアドレスは月額約3万5千円。個人の自宅サーバーとして使える仕様じゃないビジネス仕様!フレッツ光のような個人使用の光回線は結局届かなかった。

NTT西日本は口には出さないものの、自分のところは損したくないから、メガエッグの光回線か携帯キャリアのホームルーター固定インターネット接続を使えってことなんでしょう。わざわざ光ファイバーを引いても、加入者数と敷設コストを考えると赤になる。携帯キャリアの無線ホームルーターで速度だけならフレッツADSLをしのぐので、こいつらには、それでいいじゃん と思っているんでしょう。私に必要なのは安い固定IPアドレスの方。
私一人があがいても、今年中に光回線は来ないので、現実的に代替手段を試すことにします。

予備の接続方法として以前から導入していたインターリンクのマイIP VPNサービスに接続を切り替え、しばらく様子を見ることにします。(VPNで接続できることは確認できているんですが、PPPoEと違い、切断時の自動再接続はないし、何をきっかけに回線が切れるかわからないし、ハングアップ中と単純切断時の区別がつかないなどPPTPのVPNはいろいろ気を使う必要がある。そもそも24時間365日向けサービスじゃないし、あくまでも使えるってレベルのサービス。)以前テストした時、マイIP上り速度はADSL上りよりは速いものの、光回線のレベルじゃない。下り 10Mbps、上り 10Mbps くらいが最高値のようです。まあ、個人サーバーなので、10Base くらいの速度が出れば運用として問題はない。重要なのはどれくらい安定しているか?ってことですが、数か月使ってみないとわからないでしょうから、ここではあまり触れません。

とりあえず、週末深夜にフレッツADSLからマイIPに切り替えてみて、調子よければそのままモニター開始。ダメなら翌日にでもフレッツADSLに戻す前提で作業開始。

接続方法が変わるということは固定IPアドレスが変わるわけですから、回線を切り替える前にいろいろ確認して編集すべきことがあります。その項目が以下。

  1. DNSサーバー上の情報(←プロバイダー):正引き、逆引き、MX情報、メール送信者認証
  2. Apache の設定:サーバーのIPアドレスに関係する箇所。サーバー行、vhost設定。
  3. 自宅ネット用のDNSサーバー named ホスト情報
  4. サービス稼働NICのデバイスドライバー名:tun0 → ng0
  5. 上記の起動スイッチファイル:/etc/rc.conf
  6. ルーターのスタティックルート:ルーティングテーブル

多分これくらいでいいだろうと作業を開始。

まず、プロバイダーの設定ページにログインして、DNSのレコードを単純に二つのIPアドレスの間で入れ替えました。DNSの場合キャッシュが使われているので、実際の反映まで72時間くらい掛かる場合があります。

続いて、VPN接続設定しているホストを、ネットワークから切り離します。これでVPN回線が空いた。

<本番サーバーでやったこと>

サーバーで動かしている httpd, sendmail サーバーを一時停止。設定ファイル内のIPアドレスを切り替え。

ファイヤーウォールの設定ファイルをバックアップ後、インタフェース指定しているNICのポートをtun0→ng0へ書替え。

PPPoEの自動起動を停止。Apacheも自動起動停止。

続いて、インターリンク マイIPの設定。これは先ほどVPNから切り離したホストの設定を、引っ越すだけ。フレッツADSLを使っていたサーバーはNICが2枚入っていますが、VPNの場合、NICは一枚で済むので、片方のNICはしばらく放置。

https://faq.interlink.or.jp/faq2/View/wcDisplayContent.aspx?id=501

テストを実施:PPPoEを停止して、マイIPを起動してみる。→ VPNで外のサービスに接続できることを確認。→VPNを停止。

そして再起動。ドキドキ。

サーバーが起動して、自動的にVPN接続されたことを確認。ファイヤーウォールもちゃんと動いているみたい。

Apache を手動起動後、スマートフォンから外回りで自サイトにアクセスして、動作していることを確認。

email を送ってみて、プロバイダーの自メールアドレスに到着することを確認。

心配しましたけど、IPアドレスを切り替えただけなので、スムーズに切替が出来たようです。あとは、自動起動しないように停止していたサービスが自動起動するよう元の設定に戻して、作業完了。

となるはずだったのですが、ここで重大問題発生。radiko.jp をアクセスできない!
単純に、Webブラウザーで、http://radiko.jp/ を叩いただけなのですが、応答なし。ping も通らない。
traceroute すると、パケットが我が家から出てすぐに行方不明になるという症状で、ラジコサーバー側の問題ではなく、今回の設定変更のどこかに間違いがあったってこと。

私は radiko.jp にアクセスするために、いろいろネットワーク設定をいじっていて、radiko.jp に関しては、必ずフレッツADSL回線で通信するようにしていました。これが(同じプロバイダーの)VPNに切り替えたタイミングで、パケットがVPNに流れなくなったもよう。なぜ?

ルーターから出たtracerouteパケットが、即、戻ってこないって症状は、ファイヤーウォールが出口でブロックしているか、NATされていないプライベートパケットが捨てられている時の症状。

NATか~。マイIPの /etc/myip/mpd.conf ファイルを見てみると、、、、、確かにNATに関する記述が無いじゃないですか!
VPNって、普通、プライベートネットのホストをグローバルインターネットに接続するためのもので、ルーター機能を持たせるものじゃないわけで、、インターリンクが公開している設定ファイルは NATの仕方が書いてないわけですよ。VPNルーターとして設定するのじゃなく、VPNホストとしての設定だったわけ。

<mpd.conf>

startup:
    set console close
    set web close

default:
    load myip_pptp

myip_pptp:
    create bundle static B1
    set bundle enable ipcp
    set bundle enable compression
    set bundle enable crypt-reqd
    set ccp yes mppc
    set mppc no e40 e56
    set mppc yes e128
    set mppc yes stateless
    set ipcp ranges 0.0.0.0/0 0.0.0.0/0
    set ipcp yes vjcomp
    set iface enable tcpmssfix
    set iface idle 0

    create link static L1 pptp
    set link action bundle B1
    set link disable pap chap
    set link accept chap-msv2
    set link yes acfcomp protocomp
    set link max-redial 0
    set link keep-alive 5 25
    set pptp peer 接続先VPNサーバーのIPアドレス
    set auth authname "ユーザー名(ログインID)"
    set auth password "パスワード"
    open

上記設定ファイルはセットアップコマンドが勝手に作ってくれるもので、オンラインマニュアルと、mpd5に付いてくる mpd.conf サンプルファイルを眺めて、”set iface idle 0″ 行の下に 「set iface enable nat」という設定を追加設定しました。

set iface enable tcpmssfix
set iface idle 0
# NAT 
set iface enable nat

これで動くんじゃない?と、myip-donw と myip-up を実行して新しい設定を試してみたところ、無事radiko.jp のページが表示されました。(文字で書くとこれだけなんですが、丸一日悩んだ。)

その後、VPNが切断されていないか定期的にチェックするスクリプトを動かすよう設定を入れて、モニター期間開始。

短期的には問題なく動いているようなので、このまま一週間程度モニターしてみようと思います。ADSLに戻しても40日後には使えなくなるので戻すことはないでしょうが、問題点などを見つけて修正してゆきたいと思っています。

お楽しみの回線速度ですが、上にも書いた通り、上下とも 10Mbps くらいがピークのようです。
実際にはもっと速度が出るのかもしれませんが、Webサイトは基本的に小さいファイルの集合なのでスロースタートのTCP接続では実際のピーク値を知るのは意味がなさそうです。zipファイルのダウンロードは相当速くなっていることが見込まれます。

以上、このページの主旨は、インターリンクのマイIP VPNで接続したホストをルーターとしても使う場合に必要なNAT機能の追加方法を記録しておくということでした。

コメントを残す