GNU/Linux >> Linux の 問題 >  >> Panels >> OpenVPN

Ubiquiti EdgeRouter(EdgeOS)とViscosityを使用したOpenVPNサーバーのセットアップ

仮想プライベートネットワーク(VPN)は、非常に便利な多くのアプリケーションに利用できます。公共のWiFiホットスポットに安全に接続できます。お気に入りのWebサイトの地理的ブロッキングの制限を克服できます。また、まるで机の前に座っているかのように、世界中のどこからでも自宅やオフィスのネットワークに接続できます。このガイドでは、独自のOpenVPNサーバーをセットアップし、Viscosityのコピーを使用してサーバーに接続するプロセスについて説明します。

独自のOpenVPNサーバーを実行すると、インターネット上で行うすべてのことを暗号化できるため、お気に入りのカフェで無料WiFiを使用してオンラインバンキングを安全に行うことができます。 VPN接続を介して送信するものはすべて、自宅のOpenVPNサーバーに到達するまでデバイスから暗号化されます。自宅またはオフィスのネットワークにアクセスするようにOpenVPNサーバーを設定すると、ネットワーク上のすべてのファイルに完全にアクセスできます。

このガイドでは、Ubiquiti EdgeRouter(EdgeOS)でOpenVPNサーバーをセットアップする手順について説明します。これにより、リモートの場所からホーム/オフィスネットワークに安全にアクセスし、オプションですべてのネットワークトラフィックを送信してアクセスできるようになります。インターネットも安全に。このガイドはUbiquitiEdgeRouterLiteを使用して作成されていますが、EdgeOSv1.9以降を実行しているすべてのUbiquitiデバイスで機能するはずです。

このガイドでは、ルーターの設定に関連する問題については扱いません。 EdgeOSを実行しているルーターは、それ自体がルーターとして機能している可能性が高いため、UbiquitiEdgeRouterは独自のIPアドレスを使用してインターネットに直接接続されていると想定します。

準備

このガイドでは、次のことを前提としています。

  • EdgeOS(「EdgeMaxソフトウェア」とも呼ばれます)v1.9以降を実行しているUbiquitiEdgeRouterがすでに機能しています。
  • ルーターは少なくとも1つのWANと1つのLANインターフェースでセットアップされています
  • LAN接続を介してUbiquitiEdgeRouterに接続しています。
  • WANおよびLANインターフェースを使用してルーターをセットアップするための初期セットアップウィザードのみが実行されています。
  • クライアントデバイスにViscosityのコピーがすでにインストールされています

Ubiquiti EdgeRouterおよびEdgeOS製品の詳細については、https://www.ubnt.com/broadband/#edgemaxを参照してください。ルーターの製品アップデートは、https://www.ubnt.com/download/にあります。別のオペレーティングシステムでOpenVPNサーバーをセットアップする場合は、他のガイドを確認してください。

クライアントにViscosityのコピーがまだインストールされていない場合は、Viscosity(Mac | Windows)をインストールするためのこのセットアップガイドを確認してください。

サポート

残念ながら、独自のOpenVPNサーバーをセットアップするための直接サポートを提供することはできません。このガイドは、Viscosityのコピーを開始し、最大限に活用できるようにするための礼儀として提供されています。このガイドの手順を徹底的にテストして、以下の手順に従えば、独自のOpenVPNサーバーを実行するメリットを十分に享受できるようになります。

Edgerouterの詳細やヘルプについては、https://community.ubnt.com/t5/EdgeRou.../EdgeMAX

のコミュニティフォーラムをご覧ください。 はじめに

ネットワークインターフェースはすでにそのように設定されていると想定します:

  • 'インターネット'-インターネットに接続されたeth0またはpppoe0
  • 'ローカル'-ローカルホームネットワークに接続されたeth1
証明書とキーの生成

次のステップは、サーバーとクライアントの構成、およびそれらに対応する証明書を生成することです。これは、証明書とキーの作成ガイドに従って簡単に行うことができます。 PCまたはMacですべてを生成してから、サーバーへのパスをメモします 作成されたフォルダ。後でここでファイルを使用します。

デフォルトのDNSサーバー(10.8.0.1)を使用する場合は、自分でDNSサーバーをセットアップする必要があります。手順はこの記事の最後にあります。代わりに、既存のDNSサーバーを使用することをお勧めします。Google(8.8.8.8および8.8.4.4)のような公開されているDNSサーバーが最も簡単です。

次に、次のファイルを/config/auth/にコピーする必要があります。 サーバーにあるEdgerouterのディレクトリ openvpn-generateが作成したばかりのフォルダー。SCPの使用をお勧めします。 SCPに慣れていない場合は、紹介ガイドでSCPを使用してファイルを転送する方法についてサポートがあります。

  • ca.crt
  • server.crt
  • server.key
  • dh.pem

コマンドラインからSCPを使用している場合、コマンドの例は次のようになります。
scp path/to/server/ca.crt [email protected]:/config/auth/

OpenVPNサーバー構成

執筆時点では、EdgeOSには、他のVPNプロトコルの場合のようにOpenVPNサーバーをセットアップするためのGUIインターフェイスは含まれていません。ただし、幸いなことに、すべてのツールがルーターで利用可能であり、コマンドラインを介してOpenVPNサーバーを簡単に構成できます。

ルーターのコマンドラインインターフェイスには、さまざまな方法でアクセスできます。このガイドでは、Webポータルに含まれているコマンドラインインターフェイスを使用します。これにアクセスするには、Webページを開き、EdgeRouterデバイスのIPアドレス(デフォルトではhttps://192.168.1.1)に移動します。ログインして、このページの右上隅にあるCLIボタンをクリックします。これにより、ブラウザに黒い背景のCLIウィンドウが開きます。 EdgeOSWebページへのログインに使用したのと同じ詳細を使用してこれにログインできます。

上級ユーザーの場合は、このガイドの後にコンソールまたはSSH経由でデバイスにアクセスすることもできます。


OpenVPNサーバー構成でカスタマイズする必要のあるさまざまな設定がいくつかあります。ターミナルで、次のように入力して設定モードに入ります。

configure

$からのプロンプトの変更が表示されます へ 。次の設定コマンドの入力を間違えた場合は、前に入力したコマンドを繰り返して削除できますが、先頭の「set」という単語を「delete」という単語に置き換えます。

以下をターミナルウィンドウに貼り付けます:

# Configure this OpenVPN instance to run as the VPN server
set interfaces openvpn vtun0 mode server

# The OpenVPN server needs to know the location of the Diffie Hellman file
#NOTE: Depending on how you generated your keys, this file name might be 'dh.pem' instead
set interfaces openvpn vtun0 tls dh-file '/config/auth/dh.pem'

# Our VPN connection will be transported over UDP
set interfaces openvpn vtun0 openvpn-option "--proto udp"

# The server needs to keep a record of client virtual IP addresses so that they
# can be reassigned if the server goes down
set interfaces openvpn vtun0 openvpn-option "--ifconfig-pool-persist ipp.txt"

# To ensure that each side of the VPN knows if the connection has been severed,
# we want to ping each side every 10 seconds. If either side fails to recieve a
# ping within 2 minutes, then it will assume the other side is down
set interfaces openvpn vtun0 openvpn-option "--keepalive 10 120"

# There can be security issues if you run the OpenVPN server as root, so we will
# downgrade the user and group
set interfaces openvpn vtun0 openvpn-option "--user nobody --group nogroup"

# To avoid attempting to access resources that may no longer be accessible on
# restart
set interfaces openvpn vtun0 openvpn-option "--persist-key --persist-tun"

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
set interfaces openvpn vtun0 openvpn-option "--status openvpn-status.log"

# The verbosity of this connection logging (displayed in the Viscosity 'Details'
#  window) can range from 0 (silent) to 9 extremely verbose. We will use the 
# default of 3
set interfaces openvpn vtun0 openvpn-option "--verb 3"

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
set interfaces openvpn vtun0 openvpn-option "--mute 10"

# The credential files
set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
set interfaces openvpn vtun0 tls cert-file '/config/auth/server.crt'
set interfaces openvpn vtun0 tls key-file '/config/auth/server.key'

# The server will use the default OpenVPN port (1194)
set interfaces openvpn vtun0 openvpn-option "--port 1194"

# We need the VPN to create a tun network interface through which we can 
# route all our traffic:
set interfaces openvpn vtun0 openvpn-option "--dev vtun0"

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
set interfaces openvpn vtun0 server subnet '10.8.0.0/24'

# We want VPN clients connected to this server to be able to access any hosts
# accessible on your home network. We are assuming that your local network
# subnet is 192.168.0.x/24. If it is something else, you will need to change the
# IP address in the command below.
set interfaces openvpn vtun0 server push-route 192.168.0.0/24

#Set the OpenVPN server to push a DNS server to clients. This can be your local DNS
#which we setup later, an external DNS of your choice, or you can omit this command
#to setup DNS on the client only.
set interfaces openvpn vtun0 server name-server 192.168.1.1

# For enhanced security, set a cipher and auth hash
set interfaces openvpn vtun0 openvpn-option "--cipher AES-256-CBC"
set interfaces openvpn vtun0 openvpn-option "--auth SHA256"

# Lastly, we want to allow hosts on the home network to be able to see VPN
# clients connected to the OpenVPN server
set interfaces openvpn vtun0 openvpn-option "--client-to-client"

#Save and end the configuration
commit
save
exit

set interfaces openvpn vtun0 server push-route 192.168.0.0/24のIPアドレスに特に注意してください 。このサブネットがホーム/オフィスのLANIPサブネットと一致していることを確認してください。このVPNサーバーをホーム/オフィスLANにアクセスするように設定していない場合は、この行を完全にスキップできます。

これでコマンドラインが完成しました。その他はすべて、EdgeOSGUIからWebブラウザーを介して実行できます。次に、選択したブラウザからルートにログインすると、ダッシュボードに新しいOpenVPNインターフェースが表示されます。


ファイアウォールルール

デフォルトのファイアウォール設定を使用している場合は、いくつかの設定のみが必要です。まず、VPNインターフェイスのNATマスカレードを有効にする必要があります。これを行うには、Webブラウザーを開き、EdgeRouterデバイスに移動してログインします。次に、ファイアウォール/ NATをクリックします ウィンドウ上部のタブで、 NATを選択します 下に表示されるタブ。 ソースNATルールの追加をクリックします 次のオプションを構成します。

  • 説明-OpenVPNMASQeth0
  • [マスカレードを使用]を選択します
  • [すべてのプロトコル]を選択します
  • アウトバウンドインターフェイス-eth0
  • Srcアドレス-10.8.0.0/24


次に、[保存]をクリックします。 OpenVPNクライアントが通信できるようにするインターフェイスごとにルールを追加する必要があるため、少なくとももう1つ追加する必要があります。 ソースNATルールの追加をクリックします もう一度、次のオプションを構成します。

  • 説明-OpenVPNMASQeth1
  • [マスカレードを使用]を選択します
  • [すべてのプロトコル]を選択します
  • アウトバウンドインターフェイス-eth1
  • Srcアドレス-10.8.0.0/24


次に、[保存]をクリックします。

次に、ファイアウォールルールを構成して、外出先や喫茶店など、ローカルネットワークの外にいるときにOpenVPNサーバーに接続できるようにする必要があります。これを行うには、ファイアウォール/ NATをクリックします タブをクリックし、ファイアウォールポリシーをクリックします 下に表示されるタブ


ここにWAN_LOCALという名前のルールセットが表示されます。 。これに新しいルールを追加したいので、アクションをクリックします 右側で[ルールセットの編集]を選択します 。表示される新しいウィンドウで、[新しいルールの追加]をクリックします 次の詳細を入力します:

[一般]タブ:

  • 説明-OpenVPNへの外部接続を許可する
  • アクション-受け入れる
  • プロトコル-UDP


[宛先]タブ:

  • ポート-1194


保存をクリックします 、[ルールセットの保存]をクリックします 。これで、外部の場所からOpenVPNサーバーに接続できるようになります。

DNSサーバー

VPNサーバーを介してすべてのネットワークトラフィックを暗号化することを計画している場合は、独自のDNSサーバーを有効にすることをお勧めします。 EdgeOSにはDNSフォワーダーが組み込まれており、これを使用してVPN接続用の独自のDNSサーバーを提供し、DNS関連の攻撃を防ぐことができます。

ルーターがすでにローカルネットワーク用にセットアップされている場合(およびルーターをOpenVPNのDNSとして使用するコマンドを入力した場合)、ローカルDNSセットアップを再利用するのは非常に簡単です。

これを行うには、Webブラウザーを開き、EdgeRouterデバイスに移動してログインします。 サービスをクリックします タブをクリックし、 DNSをクリックします 下に表示されるタブ。 リッスンインターフェイスの追加をクリックします 、 vtun0を選択します 表示される新しいドロップダウンで、[保存]をクリックします 下。

粘度の設定

最後のステップは、粘度を設定することです。 openvpn-generateのおかげで、これはインポートして接続するのと同じくらい簡単です。

インポート

openvpn-generateで作成した*.viszファイルをViscosityがインストールされているMacまたはWindowsマシンにコピーし、ファイルをダブルクリックします。構成が正常にインポートされたことを示すプロンプトが表示されます。

インポートしたら、接続を編集して[詳細設定]タブに移動します。新しい行に次の2つのコマンドを追加します。

cipher AES-256-CBC
auth SHA256

次に、[保存]をクリックしてこれらの変更を保存します。

VPN接続の接続と使用

これで接続する準備が整いました。 macOSメニューバーまたはWindowsシステムトレイの粘度アイコンをクリックして粘度メニューを開き、インポートした接続を選択すると、粘度が接続されます。

VPNが稼働していることを確認するには、[粘度]メニューから[詳細]ウィンドウを開きます。これにより、接続の詳細、トラフィック、OpenVPNログを表示できます。



これで、独自のOpenVPNサーバーをセットアップできました。おめでとうございます。これで、独自のOpenVPNサーバーを操作するメリットを自由に享受できます。


OpenVPN
  1. Apache with Tomcat、ステップバイステップのインストールおよび構成ガイド

  2. Dockerを使用してOpenVPNサーバーをインストールしてホストする方法

  3. OpenVPNサーバーFreeBSD12のインストールと設定

  1. Ubuntu22.04でOpenVPNサーバーをセットアップおよび構成する方法

  2. ObfsproxyとViscosityを使用した難読化サーバーのセットアップ

  3. CentOSとViscosityを使用したOpenVPNサーバーのセットアップ

  1. DD-WRTとViscosityを使用したOpenVPNサーバーのセットアップ

  2. NetgearとViscosityを使用したOpenVPNサーバーのセットアップ

  3. OktaシングルサインオンWeb認証と粘度を使用したOpenVPNサーバーのセットアップ