Private Internet Access

提供: ArchWiki
2024年8月16日 (金) 19:56時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎自動: 記事を追加)
ナビゲーションに移動 検索に移動

Private Internet Access はサブスクリプションベースの VPN サービスです。

ノート: 2019年に PIA は Kape Technologies と合併しましたが、この出来事は Reddit の投稿を中心に多くの論争を巻き起こしました。しかし、合併後、PIA のインフラには以下の改善が行われました:
  • すべての PIA アプリケーションがオープンソースとして公開されました: https://github.com/pia-foss
  • WireGuard が VPN サーバーおよび VPN アプリに追加されました
  • VPN サーバーが Ubuntu 14.04 LTS から Arch Linux に移行されました
  • すべての VPN サーバーが Arch Linux 開発者のアドバイスに従い、dm-crypt によって暗号化されました
  • すべての VPN サービスが現在、ramdisk を使用してメモリ内で実行されています

手動

ノート:
  • PIA は IPv6 をサポートしていないため、IPv6 の無効化を行ってください。[1]
  • PIA のウェブサイトに記載されている PIA の DNS サーバーを使用していることを確認してください。

NetworkManager アプレットのアプローチ

インストール

PIA から OpenVPN 設定ファイルをダウンロードします。ZIP ファイルをユーザーホームディレクトリまたは将来アクセスしやすい場所に解凍します。Linux バイナリやアプリで WireGuard を使用できる場合でも、PIA はまだ設定用の WireGuard ファイルを提供していないことに注意してください。つまり、NetworkManager アプローチを使用する場合、使用できるのは OpenVPN のみです。

NetworkManager を NetworkManager アプレットおよび OpenVPN プラグインと共にインストールして設定します。

設定

  1. デスクトップ環境から NetworkManager アプレットを右クリックし、「接続の編集」をクリックします。表示されるネットワーク接続ウィンドウの左下にあるプラス記号をクリックします。
  2. 接続タイプを選択する際、ドロップダウンメニューをクリックし、「保存された VPN 設定のインポート」に到達するまでスクロールします。そのオプションを選択し、「作成」をクリックします。
  3. 先ほど OpenVPN ファイルを解凍したディレクトリに移動し、そのフォルダからファイルの一つを開きます。一般的には、特に接続したい接続に関連するファイルを開くことになります。
  4. OpenVPN ファイルの一つを開いた後、表示されるウィンドウが「<接続タイプ>の編集」であるはずです。Private Internet Access から受け取ったユーザー名とパスワードを入力します。パスワードボックスには資格情報のユーザー権限を示すアイコンがあります。設定を希望するように変更します。
  5. 次に、「詳細設定」をクリックします。「LZO データ圧縮を使用する」横のドロップダウンメニューで「adaptive」を選択し、「仮想デバイスタイプの設定」横のメニューで「TUN」が選択されていることを確認します。
  6. 次に、セキュリティタブに移動し、暗号化方式として「AES-128-CBC」を、HMAC 認証として「SHA-1」を選択します。
  7. ウィンドウの左下にある OK ボタンをクリックして、この変更を保存します。
  8. 「IPv6 設定」タブに移動し、「メソッド」で「無視」を選択します。これは PIA が IPv6 アドレスをブロックしているためです。[2]
  9. 「<接続タイプ>の編集」ウィンドウの右下にある保存をクリックします。

使用方法

OpenVPN#OpenVPN の起動を参照してください。

ヒント: 自動でログインするには、設定ファイルの auth-user-pass の後にユーザー名とパスワードを追加してください。詳しくは openvpn(8) のオプションを参照。

VPN に正常に接続できたかどうかをテストするには、この記事 で推奨されている次の 4 つのツールを参照してください:

AUR アプローチ

公式インストールスクリプト

Private Internet Access は、VPN で使用するために NetworkManager を設定するインストールスクリプトを提供しています。スクリプトを こちら からダウンロードし、実行して設定を行ってください。

ノート: このスクリプトは Python 2 を必要としますが、Python 2 は公式リポジトリで提供されなくなっています。最初に python2AUR をインストールするか、スクリプトを Python 3 用に修正してください。

公式 Linux クライアント

Private Internet Access は、Arch をサポートする公式の Linux クライアントを提供しています。クライアントを このページ からダウンロードし、ファイルを解凍します(例: pia-v81-installer-linux.tar.gz)。その後、インストールスクリプトを実行します(例: # ./pia-v81-installer-linux.sh)。

パッケージ

ヒント: `piavpn.service` を 有効化し、開始する必要があります。
  • piavpn-bin — 公式インストーラーを自動化します
|| piavpn-binAUR
|| private-internet-access-vpnAUR

インストール

private-internet-access-vpnAURインストールします。

ノート: これは python-pip を通じて直接インストールすることを意図していません。詳細は [3] を参照してください。

このパッケージは、OpenVPN 設定ファイル をダウンロードし、それらを /etc/openvpn に保存するツールを提供します。ただし、コマンドラインでの使用をサポートするために、ファイル名が更新されます。

パッケージの設定は /etc/private-internet-access に保存されます。

自動

公式インストールスクリプト

Private Internet Access は VPN を利用するように NetworkManager をセットアップするスクリプトを用意しています。スクリプトは こちら からダウンロードして実行できます。

パッケージ

  • openvpn-pia — このパッケージは#手動セクションで書かれている手順を自動化します。OpenVPN#systemd サービスの設定で使用するために設定ファイルの名前を変更したり、OpenVPN の auth-user-pass パラメータを設定して自動ログインを有効にします。インストールしたら /usr/share/doc/openvpn-pia/README を読んでください。
https://www.privateinternetaccess.com/ || openvpn-piaAUR[リンク切れ: パッケージが存在しません]
https://www.privateinternetaccess.com/ || pia-nmAUR[リンク切れ: パッケージが存在しません]
https://www.privateinternetaccess.com/ || private-internet-access-vpnAUR

ヒントとテクニック

インターネットのキルスイッチ

以下の iptables ルールは tun インターフェイス経由のネットワーク通信のみ許可します (VPN 接続を確立するときに使用する PIA の DNS サーバーへの接続とポート 1197 は例外的に許可します):

/etc/iptables/iptables.rules
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:10]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -d 209.222.18.222/32 -j ACCEPT
-A OUTPUT -d 209.222.18.218/32 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 1197 -j ACCEPT
-A OUTPUT -o tun+ -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-net-unreachable
COMMIT

上記のように設定することで VPN から切断されたときに、ネットワーク通信が入ったり出たりすることがないと保証されます。

LAN 上のデバイスにもアクセスしたい場合、明示的に許可してください。例えば、192.0.0.0/24 のデバイスへのアクセスを許可するには、以下の2つのルールを (REJECT ルールの前に) 追加します:

-A INPUT -s 192.168.0.0/24 -j ACCEPT
-A OUTPUT -d 192.168.0.0/24 -j ACCEPT

さらに、上記のルールは ICMP プロトコルもブロックします。詳しくは こちらのスレッド を見てください。