IPv6(DS-Lite)でOpenVPN接続をSynology NAS(DiskStation DS223j)に設定します(リニューアル)

はじめに

「kabu&ひかり」に「ドコモ光」から乗り換え
HGW(RX-600MI)にログインしたところ、以前とは画面が変更されていました。PPPoE接続ではなく「IPv6」接続に切り替わっており、192.168.0.1:8888/t でログインすると「Xpass」の設定画面が表示されていました。
調べたところ、「kabu&ひかり」は、「DS-Lite」を採用しており、「DS-Lite」でのOpenVPN接続の情報がみあたりません。
この機会に「DS-Lite」での接続を試して記事を書こうと思い挑戦することにしました。

カブアンド「kabu&ひかり」のIPv6(DS-Lite)利用してSynology NAS(DS223j)のOpenVPN接続で「proto udp6」が動きました」の挑戦記事をまとめた記事となります。

設定手順

HGW(RX-600MI)の設定
  • ① HGW(RX-600MI)の管理画面にログインします。
  • ②【 IPv6パケットフィルタ設定(IPoE)】を設定します。
     ※ OpenVPNが利用する1194ポートのUDPを両方向に許可します。
    エントリ番号 : 1
    フィルタ種別 : 許可
    通信方向   : 両方向
    プロトコル  : UDP
    TCPフラグ  : 指定しない
    送信元IPv6  : *  (送信元IPv6は固定していませんが、固定IP契約されてる方は固定可能です)
    宛先IPv6   : NASのIPv6アドレス/128(プレフィックス長は128でNASに固定しています)
    送信元ポート : * (固定していません)
    宛先ポート  : 1194 (変更できます)
    ICMPv6タイプ : *
    ICMPv6コード : *
  • 保存して終了
  • ホームゲートウェイ<RX-600MI>のIPv6パケットフィルタ(IPoE)を設定する」も参考にして下さい。
NASのIPv6を有効にします。
IPv6を有効にされている方は、「DHCPv6-PD」が選択されているか確認して下さい。
  • ① DSMにログインして、「コントロールパネル」の「ネットワーク」を開きます。
  • ② 「ネットワークインターフェイス」タブを選択して、「LAN」を選び、「編集」ボタンをクリックします。
  • ③ 「編集」画面が開くので、「IPv6」タブを選択します。
  • ④ IPv6設定:「DHCPv6-PD」をドロップダウンから選択します。
  • ⑤ 「OK」ボタンで完了です。
DDNS (Dynamic Domain Name System)にIPv6のアドレスが表示されていることを確認
・ IPv6なので、NASのIPv6がホスト名に紐づけららます。
・ IPv4は、HGWの接続側のIPに紐づけられます。
※ IPv6の仕様です。IPv4のようにNATはしません。
  • コントロールパネル」から「外部アクセス」を選択します。
  • 「DDNS」タブを選択します。
  • 外部アドレスに「IPv6」のアドレスが表示されていればOKです。
NASに「VPNServer」をインストールを行い設定します。
  • ① DSMにログインして、「パッケージセンター」から「VPN Server」をインストールします。
  • OpenVPNの設定
    ・☑ OpenVPN サーバーを有効にする
    ・ダイナミックIPアドレス:10.8.0.1  # デフォルト
    ・最大接続数:10   # 5または、10
    ・アカウントの最大接続数:3   # 接続する台数
    ・ポート番号:1194   # デフォルトから変更しました。
    ・プロトコル:UDP   # UDPを選択
    ・暗号化:AES-256-CBC  # デフォルト
    ・認証:SHA256   # デフォルト
    ・Mssfixオプション値:1450   # デフォルト
    ・□ VPNリンクで圧縮を有効にする   # 圧縮しません。(設定作業でアプリが接続ができない事がありました)
    ・☑ クライアントにサーバのLANにアクセスさせる  # LANにアクセスするのでチェックしました。
    TLS authキー認証   # 認証を推奨
    サーバーCNを認証   # 認証を推奨
    IPv6サーバモードを有効   # IPv6を利用するので有効します。
      プレフィックス:xxxxxxx  # 「DHCPv6-PD」のプレフィックスが表示されます。
  • ③ 設定が完了したら”適用”ボタンを押します
  • ④ 「エクスポート設定」ボタンを押しファイルをダウンロードします。
      ダウンロード後に解凍して「VPNConfig.ovpn」を取り出します。
  • ⑤ ”特権”の設定(左側メニュー)
      特権を与えたいユーザー名の”OpenVPNに☑チェック”を入れます。
     設定が完了したら”適用”ボタンを押します。
  • ⑥ 設定は終了です。
  • NASへのVPNServerのインストール設定、DDNSの設定、VPNServerの設定、OpenVPNの設定については、こちらの記事も「【その1】Synology NAS(DiskStation DS223j)でOpenVPNServerを稼働させて、モバイル端末から接続します。」も参考にして下さい。
NASのFirewallに設定を追加します。

ルールの追加でOpen VPNのIPv6プレフィックスのアドレスを許可します。

 ・「作成」ボタンをクリック
 ・ポート : 「● 全て」
 ・ソースIP : 「● 特定IP」を選択して「選択」ボタンをクリック
        「ソースIP」の画面が開きますので、「● サブネット」を選択
        IPアドレス : 「例 2001:xxxx:xxxx:xxxx::/64」<NASのプレフィックス>
        サブネット : 「例 64」<サブネット>
        「OK」ボタンをクリック
 ・操作  : 「● 許可」

Synology NAS(DiskStation DS223j)のFirewallを設定する。」も参考にして下さい。

「VPNConfig.ovpn」の編集をします。
 次のように変更しています。

dev tun
tls-client      

remote xxxxx.synology.me 1194 # 別のポート番号に変更しています。

auth-user-pass    # ユーザー名とパスワードによる認証を有効にする
 
# The “float” tells OpenVPN to accept authenticated packets from any address,
# not only the address which was specified in the –remote option.
# This is useful when you are connecting to a peer which holds a dynamic address
# such as a dial-in user or DHCP client.
# (Please refer to the manual of OpenVPN for more information.)
# float
# If redirect-gateway is enabled, the client will redirect it’s
# default network gateway through the VPN.
# It means the VPN connection will firstly connect to the VPN Server
# and then to the internet.
# (Please refer to the manual of OpenVPN for more information.)

redirect-gateway def1   # IPv4トラフィックをVPN経由
redirect-gateway ipv6   # ipv6を追加しました。


# dhcp-option DNS: To set primary domain name server address.
# Repeat this option to set secondary DNS server addresses.
# dhcp-option DNS DNS_IP_ADDRESS

dhcp-option DNS 2001:4860:4860::8888  #Googleを指定しました
dhcp-option DNS 2001:4860:4860::8844

route-ipv6 2001:xxxx:xxxx:xxxx::/64  #NASのプレフィックスを追加しました。


tun-mtu 1400    #パケットサイズを変更します。
mssfix 1300


pull     # サーバーからの設定を受け入れ

# If you want to connect by Server’s IPv6 address, you should use
# “proto udp6” in UDP mode or “proto tcp6-client” in TCP mode

proto udp6 #udp6に変更しました。

script-security 2 # スクリプトの実行許可レベルを設定

cipher AES-256-CBC
auth SHA256

verb 3       # 詳細ログを出力

<CA>
—–BEGIN CERTIFICATE—–
(最新のCA証明書データ1)
—–END CERTIFICATE—–
—–BEGIN CERTIFICATE—–
(最新のCA証明書データ2)
—–END CERTIFICATE—–
</ca>
key-direction1
<tls-auth>
….
</tls-auth>
verify-x509-name ‘xxxxx.synology.me’ name

iPhoneのOpenVPNに「VPNConfig.ovpn」を適用させます。

  • 「VPNConfig.ovpn」ファイルをメールでiPhoneに送付します。
  • メールを開き、添付ファイルをOpenVPN Connectで開きます。
  • ① ”add”します。
    ②”User Name”と”Password”を入力します。
    ③”Connect after import”に☑します。
    ④右上のADDボタンを押します。
  • 確認画面がでたら、”許可”します。
  • VPNの接続、切断は、設定画面から接続、切断が行えます。
  • NASへのVPNServerのインストール設定、DDNSの設定、VPNServerの設定、OpenVPNの設定については、こちらの記事も「【その1】Synology NAS(DiskStation DS223j)でOpenVPNServerを稼働させて、モバイル端末から接続します。」も参考にして下さい。

あとがき

Xpass、IPv6、VPNに関する知識が不足していることを痛感しています。
本記事の設定内容が正しいとは考えおりません。今後も不具合があれば修正していきます。

IPv6のトンネルで通信ができなかった原因は下記ではないかと考えています。
 ※ 値を変えたりなどの検証はしていません。
・MTU、MSSFIXのサイズ
・圧縮
・OpenVPNで利用するPort番号

本記事の設定をご利用される場合は自己責任でご利用してください。
「kabu&ひかり」の公式ページを確認したところ、PPPoE接続も利用可能なようです。

DDNSの取得IP割り当てが当然違いますね。
・IPv4は、プロバイダの割り当てるルータのグローバル
・IPv6は、NASのアドレス