Mullvad
Mullvad はスウェーデンを拠点に OpenVPN および WireGuard サーバーを運営しているオペレータの VPN サービスです。独自の GUI クライアント を用意しており mullvad-vpnAUR パッケージでインストールすることができますが、以下で説明しているように OpenVPN の設定ファイルで使うこともできます。
OpenVPN の設定
まず openvpn と openresolv パッケージをインストールしてください。そして Mullvad のウェブサイト ("other platforms" タブ) から OpenVPN の設定ファイルをダウンロードして、ダウンロードしたファイルを /etc/openvpn/client/
に解凍してください。
mullvad_linux.conf
は systemd のサービスで使うために短い名前に変更してください:
# mv /etc/openvpn/client/mullvad_linux.conf /etc/openvpn/client/mullvad.conf
Mullvad が提供しているネームサーバーを使用するには、OpenVPN の接続開始・停止時に update-resolv-conf スクリプトが呼び出されるようにして、適切な IP アドレスが resolv.conf に書き込まれるようにします。スクリプトは Mullvad の設定パッケージに含まれていますが、/etc/openvpn/
に移動して Mullvad の設定ファイルに指定されているパスと一致させる必要があります:
# mv /etc/openvpn/client/update-resolv-conf /etc/openvpn/
スクリプトは openvpn-update-resolv-confAUR[リンク切れ: パッケージが存在しません] パッケージでアップデートすることができ、DNS 漏れの修正も含まれています。
設定したら openvpn-client@mullvad.service
で VPN 接続を管理することができます。サービスが Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
というエラーで起動に失敗する場合、システムを再起動して OpenVPN が適切なネットワークデバイスを作成できるようにしてください。
DNS リーク
デフォルトの Mullvad の設定では DNS 漏れが起こる可能性があり、VPN を使用する必要がある場合としてはプライバシー保護の観点で望ましくありません。Mullvad の GUI クライアントには "Stop DNS leaks" という名前のオプションが存在し、システム設定から全ての DNS サーバーの IP を除去して Mullvad が運営している (ログを取っていないという) DNS サーバーに置き換えます。OpenVPN のみ使っている場合でも resolv.conf を設定して ウェブサイト に書かれている Mullvad の DNS サーバーの IP アドレスのみ使用することで同じことができます。
openvpn-update-resolv-conf の resolv.conf アップデートスクリプトは resolvconf
コマンドの実行時にインターフェイススイッチ -x
を使って漏洩を防止していますが、スクリプトの GitHub の issue ページ にあるように、ローカルネットワークアドレスも Mullvad の DNS サーバーで解決しようとするため、別の形の DNS リークが発生する可能性があります。