私のRaspberry PiでNordVPNゲートウェイを設定する

私のRaspberry PiでNordVPNゲートウェイを設定する

ターゲット
Raspberry PiでNordVPNを設定し、それをゲートウェイとして使用します。

現在の設定

  • イーサネットケーブルを介してルータに接続されたArch ARMを実行するRaspberry Pi2
  • NordVPNアカウント
  • nordvpn私のRpiにインストールされました

構成
これがRaspberry Piを設定する方法です。最初のステップは、nordvpn目的の国を実行して選択することです。その後、トラフィックルーティングを処理する必要があります。

IP転送を有効にする:
echo -e 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf

NAT設定:

sudo iptables -t nat -A POSTROUTING -o nordlynx  -j MASQUERADE
sudo iptables -A FORWARD -i nordlynx -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o nordlynx -j ACCEPT

質問
この時点で、すべてが順調に進んでおり、正しい国のIPを取得しています。残念ながら、Netflix、Youtube、その他のウェブサイトなどのほとんどのサービスでは、私が他の国にいることを認識していません。 Chrome拡張機能が正常に動作するため、これがNordVPNの問題ではないことがわかります。

どんなアイデアがありますか?

答え1

私はブラウザプラグインを使用せずに端末から接続します。 Raspberry Pi OS 64ビットですべてを実行するためにとった手順は次のとおりです。

$ sudo wget -qnc https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn-release_1.0.0_all.deb
$ sudo dpkg -i /pathToFile/nordvpn-release_1.0.0_all.deb
$ sudo apt update 
$ sudo apt install nordvpn
$ sudo usermod -aG nordvpn $USER
$ sudo nordvpn login

たとえば、VNCを使用してローカルトラフィックが必要な場合は、ローカルIP範囲をホワイトリストに追加します。私の場合は、次のようになります。

$ nordvpn whitelist add subnet 192.168.1.0/24

理由はわかりませんが、Linuxではテクノロジを変更しないとNordVPNを実行できません。

$ nordvpn set technology nordlynx

いよいよ接続できます!

$ nordvpn connect

答え2

2024-04-13 更新不要なのでマングルルールを削除しました。

私はあらかじめ選択された設定構成を使用している場合にのみ機能を使用できるということを聞きたくありません。特に、インフラストラクチャが特定の時間に利用可能な最良のパスを動的に選択するためのツールをサポートして提供する場合は、さらにそうです。パリ。

インターネット上で見つかったオプションはすべて、一般的なOpenVPN専用ソリューションを共有します。泡立て、すすぎ、繰り返します。

現在の解決策は次のとおりです。

単一サーバーを選択します。低プロトコルでのみ動作する単一サーバー用の静的構成ファイルをダウンロードします。不必要に複雑な設定と構成プロセスを完了します。最後に、選択したサーバーが時間の経過とともに一貫してパフォーマンスを続けるように祈ったり、パフォーマンスが低下し続けるとプロセスが再び繰り返されることを祈っています。興味のある方のために、私は「dynamic-nordlynx-whole-network-router」の問題を解決したと思います。

私の解決策:

それは3つのiptables規則に帰結します。デフォルトのLinuxアプリケーションを使用しているため、利用可能なすべての機能を使用できます。これは、接続するサーバーを知らせるか、p2p、玉ねぎなど、選択したカテゴリで現在最高のサーバーに動的に接続できるようにすることができます。自動接続が機能します。私はあなたがすでに理解する必要があると思います。 OpenVPNプロトコルを使用すると効果があるかもしれませんが、OpenVPNを捨てることが私がした理由の1つなので、まだ試していません。キルスイッチは常にオンになっており、無効にすることはできません。

iptablesのルールは実際のコアです。私たちは皆、トラフィックの転送に関する3つの基本的な規則を知っています。 WANインターフェイスとして「norlynx」を使用する必要があります。

$ iptables -t nat -A POSTROUTING -o nordlynx -j MASQUERADE
$ iptables -A FORWARD -i <LAN> -o nordlynx -m state --state RELATED,ESTABLISHED -j ACCEPT
$ iptables -A FORWARD -i <LAN> -o nordlynx -j ACCEPT

LAN接続インターフェイスとして設定します。

さまざまなコンシューマおよび企業デバイスの複数のProxmox仮想マシンとlxcコンテナに展開しました。私はこれがパイに簡単に適応できると確信しています。時間があれば、1つのパーサーを試してみることもできます。現在の構成は、4つのネットワークカードを持つN100 sffシステムでpihole lxcとpfsense VMを使用してProxmoxでlxcとして実行されています。この設定はOpenVPN-on-pfsenseの組み合わせよりもはるかに高速です。まだ存在しますが、バイパスされました。場合に備えて、バックアップオプションとして保管してください。

         internet
             |
           modem
             |
          Proxmox
             |<---physical port
************ | ************
*          * | *          *
*       NordVPN lxc       *
*   vmbr---->|            *
*         pfsense   vmbr  *
*          * | * \<----   *
*          * | *  pihole  *
************ | ************
   |         |        |<---physical ports
  LAN      WiFi     Guest

私は彼の投稿をnorvpnサブレディットに投稿しようとしましたが、カルマが十分ではないようです。

私はできる限り他の人を助けたいと思います。

私のプロジェクトとLinuxベースのルーターに関するかなり完全な記事はここにあります。 https://github.com/theOtherLuke/nordlynx-router/tree/main

関連情報