OpenWrtでWireGuardを設定する下準備 DDNSとPPPoEの設定

WireGuardを使いやすくする為に下準備としてDDNSの設定をするのが良いかと私は思っています。IPv6だけで使用する場合はDDNSの設定は必要ないのですが、IPv4で固定IPアドレスを持っていない場合はDDNSの設定が必要になりますし、Webサーバーをセルフホスティングする場合も有ると便利なので、導入の説明をさせていただきます。もし、IPv6のみでWireGuardお試ししたい場合は次回の投稿を読んでください。

目次

我が家のネット環境

一旦、我が家のネットワーク環境について説明します。IPoE対応ルーターを使用し、IPv6でインターネットに接続しています。この状態でWireGuardを構築すると、IPv6接続のみで外部から自宅へ接続できます。スマートフォンの回線もIPv6に対応しており、日本国内からの接続では問題になることはほとんどありません。しかし、海外からアクセスしたい場合など、IPv4が使えないと接続できず困ることがあります。

この問題を解決するために、ルーターでPPPoEパススルーを許可し、OpenWrtからPPPoE接続を確立することで、IPv4での自宅接続が可能になります。

最近の情報は分かりませんが、安価でPPPoEパススルー機能のある製品はバッファロー製だけだったため、私はそれを目当てにバッファロー製のルーターを購入しました。ただし、いくつか注意点があり、アップデートなどでルーターを再起動すると、PPPoEパススルーが機能しなくなることがあります。詳細設定でPPPoEパススルーのON/OFF(ON→設定→OFF→設定→ON→設定)を往復することで正常に動作するようになりますが、ちょっとおかしなクセが有るので少々注意が必要です。ただ安価ながらも安定して動作しているので気に入っています。

話が少し脱線しましたが、前回の投稿を試した方は、私を含めて二重ルーターになっています。私の場合は、OpenWrtの上流にバッファロー製のルーターがある二重ルーター状態です。何も設定しなければ、OpenWrtのWAN側には宅内だけで使えるIPv4のローカルIPアドレスと、世界中からアクセスできるIPv6のグローバルIPアドレスが設定されます。しかし、IPv4にも世界中からアクセスできるグローバルIPアドレスが欲しいので、WANの接続にPPPoE接続を追加します。これにより、動的なIPv4のグローバルアドレスを取得できます。

設定を完了すると外部からIPv6とIPv4の両方の接続を確立できるようになりますが、IPv6アドレスは長く複雑で覚えるのが困難です。また、動的なIPv4アドレスを常に把握し続けるのも困難なため、DDNSを設定してドメイン名で自宅に接続できるようにします。

では設定を始めていきます。

ソフトウェアのインストールと設定

OpenWrtにログインすると先ずステータス画面が表示されます。Systemへ移動してタイムゾーンの設定をします。

OpneWrtログイン後すぐのステータス画面
ログインしたら上部メニューからSystemへマウスポインタを移動し、展開されたメニューのSystemをクリックします。

System

System Properties -General Settings-

Timezone Asia/Tokyo
選択したら「Save & Apply」をクリックして設定を反映させます。完了したら再びマウスポインタを上部メニューのSystemへ移動しSoftwareをクリックします。

タイムゾーンの設定が終わったら日本語表示に変える為に日本語ファイルをインストールします。

Software

Softwareの画面を表示したら先ず緑色の「Update lists…」をクリックします。ソフトフェアのリストが表示されたら「Filter:」に「japan」と入力し以下のファイルを探しインストールします。

luci-i18n-base-ja

インストールが完了したら「Dismiss」をクリックしてSoftwareのページに戻ります。一旦上部メニューから「Log out」をクリックします。メニューが日本語かされていると思うので再びログインし上部メニューの「システム」から「ソフトフェア」を開いてください。

日本語化されたので日本語表示で説明して行きます。

ソフトウェア

日本語ファイルをインストールしたようにDDNS、WireGuardをインストールします。

DDNSのインストール
リストを更新」ボタンをクリックし「フィルター」に「ddns」と入力し以下のファイルを探しインストールします。画面を最下方までスクロールさせると下から2番目に見つけられるかと思います。

luci-app-ddns

WireGuardのインストール
同じ要領で「フィルター」に「wireguard」と入力し以下のファイルを探しインストールします。

luci-proto-wireguard

追加でQrencodeをインストールします。必須ではないのですが、WireGuardの設定をスマートフォンのカメラからQRコードで読み込めるようにします。これにより、設定ファイルを記述せずに簡単に接続できます。入力ミスを減らす為にもインストールをおすすめします。「フィルター」に「qr」と入力し以下のファイルを探しインストールします。

qrencode

インストールが終わったら再起動します。理由は再起動しないとWireGuardのプロトコルをインターフェイスに追加できないためです。再起動は上部メニューの「システム」内に「再起動」のボタンがあるのでそれを選択します。再起動の画面が表示されたら、「再起動」のボタンをクリックし、再起動後に再びログインします。

PPPoEアカウント情報を準備

上記でも述べてますが、IPv6でWireGuardを使いたい場合はPPPoEの設定は必要ありません。ソフトウェアのインストールが終わったら次の投稿を読んで貰って問題ないです。DDNSの設定が必要な場合はインターフェースの作成については飛ばして進んでください。

ちなみに、我が家はIIJmioひかりを使用しており、IPoE接続のTransix(DS-Lite方式)でインターネットに接続しています。PPPoEでの接続も可能なため、両方で接続させて頂いています。ありがたや。

まずルーターのPPPoEパススルーを許可してください。私の持っているバッファローのルーターでは詳細設定→セキュリティー→パススルーへ行き、「PPPoEパススルー機能」「使用する」に「チェック」して画面下の「設定」をクリックする事で使用可能になります。

ルーターでパススルーの設定を終えたらOpenWrtでインターフェイスの設定をします。

インターフェイスの作成(PPPoE)

OpenWrtのWebGUIの上部メニューの「ネットワーク」へマウスポインタを移動し「インターフェース」を選択しインターフェースの画面を表示させます。

インターフェース

緑色の「インターフェイスを新規作成」ボタンをクリックし作成画面を表示させます。

インターフェースを新規作成

名前 pppoe
プロトコル PPPoE
デバイス イーサーネットアダプタ”eth1″(wan,wan6)

設定を加えたら「インターフェースを作成」ボタンをクリックし設定画面を表示させます。

インターフェース >> pppoe

一般設定とファイアウォール設定に変更を加えて行きます。

一般設定

追加されたpppoeのインターフェースを編集します。プロバイダーと契約した時に送られて来た書類を手元に用意してください。

状態 デバイス: eth1の内容

プロトコル PPPoE

デバイス eth1

このインターフェースを無効にする チェックアウト

ブート時に起動 チェック

PAP/CHAPユーザー名 hoge@ho.ge.jp

PAP/CHAPパスワード ******

アクセスコンセントレータ グレーで自動と表示された空欄のまま。

サービス名 お好きな名前を入力してください。空欄でも問題ないです。

一般設定」タブの入力を終えたら、「ファイアウォール設定」タブを開きます。

ファイアウォールの設定

グレー色の未設定から赤色のwan, wan6のグループを選択して「保存」をクリックします。

インターフェースの画面に戻ったら、設定を反映させるために「保存&適用」ボタンをクリックします。設定に問題がなければ、追加されたpppoeのインターフェースのIPv4の欄に動的なグローバルIPアドレスが付与され接続が確立されているのが確認できると思います。

OpneWrt、インターフェースの一覧。
PPPoEの接続に成功するとグローバルIPアドレスが割り振られる。

PPPoEの接続が確立したので、PPPoEで取得したIPアドレスとWAN6のIPアドレスをDDNSに登録します。

DDNSサービスの登録

まずはDDNSのサービスに登録しましょう。私は無料で使えるDDNS Nowを使っています。
DDNS Now

DDNSサービスは、無料でも有料でもお好きなサービスをお使いください。登録が終わりましたら、OpenWrtの上部メニューの「サービス」から「ダイナミックDNS」を開きます。

ダイナミックDNS

画面が表示されたら、画面下部のサービスを確認してください。

サービステーブル内の名前カラムにmyddns_ipv4とmyddns_ipv6があるので、それを編集して使います。

まずipv4から設定します。「編集」ボタンをクリックして編集画面を開いてください。「基本設定」タブ画面が表示されたら、「DDNSサービスプロバイダー」で選択リストの最上部の「カスタム」を選び「サービスを切り替える」ボタンをクリックします。保存エラーが出るので閉じて元のページから再び「編集」ボタンをクリックして編集画面を表示させます。詳細な入力画面に切り替わっている事を確認してください。ひと手間踏んだ理由は、登録したDDNS NowがDDNSサービスプロバイダーの選択リストに無いのでこの方法を取りました。では、設定をして行きます。

IPv4用の設定

基本設定

有効
チェックボックス チェック

ルックアップするホスト名(hogeの部分はDDNS Nowの登録ユーザー名)
hoge.f5.si

IPアドレスのバージョン
IPv4アドレス

DDNSサービス・プロバイダー
カスタム

手動アップデート-URL(以下のままお使いください)
https://f5.si/update.php?domain=[USERNAME]&password=[PASSWORD]

ドメイン
f5.si

ユーザー名(DDNS Nowの登録ユーザー名)
hoge

パスワード(DDNS Nowのログインパスワード)
******

以下デフォルト空欄

詳細設定

IPアドレス読み取り元
ネットワーク

ネットワーク
pppoe

以下デフォルト空欄

設定が終わったら保存をクリックしダイナミックDNSのページに戻ります。

次にipv6の設定をします。「基本設定」画面ではIPアドレスのバージョンと手動アップデート-URLの内容に違いがあり、「詳細設定」でネットワークがwan6になるので、間違えないようにしましょう。

IPv6用の設定

基本設定

有効
チェックボックス チェック

アップするホスト名(hogeの部分はDDNS Nowの登録ユーザー名)
hoge.f5.si

IPアドレスのバージョン
IPv6アドレス

DDNSサービス・プロバイダー
カスタム

手動アップデート-URL(以下のままお使いください)
https://v6.f5.si/update.php?domain=[USERNAME]&password=[PASSWORD]

ドメイン
f5.si

ユーザー名(DDNS Nowの登録ユーザー名)
hoge

パスワード(DDNS Nowのログインパスワード)
******

以下デフォルト空欄

詳細設定

IPアドレス読み取り元
ネットワーク

ネットワーク
wan6

以下デフォルト空欄

設定が終わったら「保存」をクリックし、「ダイナミックDNS」のページに戻り、「保存&適用」をクリックして設定を反映させます。「DDNSを再起動」をクリックすると、数秒後にサービステーブルの表示内にルックアップするホスト名や登録済みIPなどが表示されると思います。エラーが出ている場合は、「編集」をクリックして「ログファイル・ビューア」タブを開き、「ログファイルの読み込み/再読み込み」ボタンをクリックしてエラーの内容を確認してください。エラーコードがある場合は、登録したDDNSサービスのマニュアルページにエラーコードがあると思うので、それを参照すると内容が分かります。

DDNSの設定ができたら、WireGuardの設定をしていきます。今回はここまでとします。

最後に

次回はWireGuardの設定と接続に必要なルーターとファイアウォールの設定もしていきます。

コメントする