仮想プライベートネットワーク(VPN)は、非常に便利な多くのアプリケーションに利用できます。公共のWiFiホットスポットに安全に接続できます。お気に入りのWebサイトの地理的ブロッキングの制限を克服できます。また、まるで机の前に座っているかのように、世界中のどこからでも自宅やオフィスのネットワークに接続できます。このガイドでは、独自のOpenVPNサーバーをセットアップし、Viscosityのコピーを使用してサーバーに接続するプロセスについて説明します。
独自のOpenVPNサーバーを実行すると、インターネット上で行うすべてのことを暗号化できるため、お気に入りのカフェで無料WiFiを使用してオンラインバンキングを安全に行うことができます。 VPN接続を介して送信するものはすべて、自宅のOpenVPNサーバーに到達するまでデバイスから暗号化されます。自宅またはオフィスのネットワークにアクセスするようにOpenVPNサーバーを設定すると、ネットワーク上のすべてのファイルに完全にアクセスできます。
このガイドでは、Red Hat Linuxホスト上にOpenVPNサーバーをセットアップする手順について説明します。これにより、リモートの場所からホーム/オフィスネットワークに安全にアクセスし、オプションですべてのネットワークトラフィックを送信してアクセスできるようになります。インターネットも安全に。
このガイドでは、次のことを前提としています。
- すでに最新バージョンのRedHat Enterprise Linuxをインストールしています (執筆時点で8.4)
- ルートがあります このインストールへのアクセス
- ネットワークインターフェイスの名前を知っている(すぐ下の手順)
- このRedHatのインストールは新規インストールです
- クライアントデバイスにViscosityのコピーがすでにインストールされています
Red Hatのコピーをダウンロードしてインストールする必要がある場合は、評価コピーがhttps://access.redhat.com/products/re.../evaluationにあります。 Red Hatインスタンスのセットアップの詳細については説明しません。多くのガイドは、オンラインで見つけることができます。別のバージョンのRedHatを実行している場合でも、このガイドで概説されている手順の多くまたはすべてが引き続き適用される可能性があります。別のオペレーティングシステムでOpenVPNサーバーをセットアップする場合は、他のガイドを確認してください。
クライアントにViscosityのコピーがまだインストールされていない場合は、Viscosity(Mac | Windows)をインストールするためのこのセットアップガイドを確認してください。
プライマリネットワークインターフェース(WANアクセス)の名前を取得するには、RHELサーバーで以下を実行します。
ip route | grep default | awk 'NR==1 {print $(NF-4)}'
ローカルネットワーク上のマシンにアクセスするための2番目のネットワークインターフェイスがある場合は、ファイアウォールとルーティングを設定するときに、この名前も必要になります。
残念ながら、独自のOpenVPNサーバーをセットアップするための直接サポートを提供することはできません。このガイドは、Viscosityのコピーを開始し、最大限に活用できるようにするための礼儀として提供されています。このガイドの手順を徹底的にテストして、以下の手順に従えば、独自のOpenVPNサーバーを実行するメリットを十分に享受できるようになります。
RHELの詳細またはヘルプについては、https://www.redhat.com/en/services/support
でサポートを提供しています。数え切れないほどのRHELコミュニティやフォーラムもインターネット上で簡単に検索できます。
このガイドで概説されている手順は、RHELサーバーのコマンドラインインターフェイス(つまり、ターミナル)を介して実行されます。このサーバーをリモートで実行している場合は、SSHアプリケーションを使用して、クライアントデバイスとサーバーを安全に接続する必要があります(サーバーに「SSH接続」するため)。 OpenVPNサーバーを仮想プライベートサーバー(VPS)にセットアップする場合は、Webインターフェイスに精通しているだけかもしれません。多くのVPSサプライヤは、Webインターフェイスに加えてSSHアクセスを提供しています。詳細については、VPSプロバイダーにお問い合わせください。
SSHを初めて使用する場合は、導入ガイドにいくつかの手順があります。
rootにログインしたら、次のように入力して、RedHatのリポジトリが最新であることを確認する必要があります。
yum update
これにより、プレインストールされたパッケージが実行されて更新されます。更新が見つかった場合は、続行するかどうかを尋ねられます。 y
と入力して確認します 。パッケージのアップグレードが完了した後、再起動する必要があることが通知される場合があります。その場合は、再起動後にrootとしてターミナルに再度ログインしてください。
次に、OpenVPNパッケージが含まれているEPEL(Enterprise Linux用の追加パッケージ)をインストールする必要があります。 RHEL 8の場合、以下を実行します。
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
ARCH=$( /bin/arch )
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"
その他のRHELリリースについては、こちらのEPELの手順に従ってください。
次にOpenVPNをインストールします:
yum install openvpn -y
構成、証明書、およびキーの生成
次のステップは、サーバーとクライアントの構成、およびそれらに対応する証明書を生成することです。これは、証明書とキーの作成ガイドに従って簡単に行うことができます。 RHEL RPMインストーラーを使用してLinuxのセクションに従い、サーバーからクライアント構成をコピーするか(これをお勧めします)、PCまたはMacですべてを生成してサーバーをコピーすることができます。 RHELサーバー上に生成されるフォルダー。
デフォルトのDNSサーバー(10.8.0.1)を使用する場合は、自分でDNSサーバーをセットアップする必要があります。手順はこの記事の最後にあります。代わりに、既存のDNSサーバーを使用することをお勧めします。Google(8.8.8.8および8.8.4.4)のような公開されているDNSサーバーが最も簡単です。
構成を生成したら、サーバー構成をサーバーに転送するか、クライアント構成をサーバーから転送する必要があります。ローカルアクセスがある場合は、USBドライブが最も簡単です。そうでない場合は、イントロダクションガイドでSCPを使用してファイルを転送する方法についてサポートがあります。
IP転送
VPNを通過するリクエストを転送するには、OpenVPNサーバーをルーターのように機能させる必要があります。そのため、IP転送を有効にする必要があります。
- ターミナルで、次のように入力して、RedHatサーバーでIP転送を有効にできます。
-
echo 1 > /proc/sys/net/ipv4/ip_forward
-
- ホーム/オフィスネットワーク上のホストがVPNサーバーを確実に検出できるようにするには、サーバーがARP要求に応答するようにする必要があります。
-
echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
- ここでens33 は、2つのネットワークインターフェイスがある場合はホーム/オフィスネットワークのネットワークインターフェイス、または
-
- サーバーを再起動するたびに、これらのコマンドは元に戻されます。これが起こらないようにするには、sysctl.confファイルを変更する必要があります。
-
nano /etc/sysctl.conf
-
- このファイルの最後に次の行を追加します。
net.ipv4.ip_forward = 1
- と
-
net.ipv4.conf.ens33.proxy_arp = 1
-
ctrl
を押します +x
nanoを終了します。プロンプトが表示されたら、変更を保存します。 - sysctl.confファイルに加えられた変更を有効にするには、次のように入力します。
-
sysctl -p /etc/sysctl.conf
-
firewalldを使用します RedHatにデフォルトでインストールされているファイアウォール。すでに独自のファイアウォールが設定されているサーバーにOpenVPNをインストールする場合は、OpenVPNトラフィックを許可するルールを必ず追加してください。ただし、これが単純なスタンドアロンのRed Hatサーバーである場合は、OpenVPNサーバーを起動して実行するには、以下のファイアウォール設定で十分です。
- openvpnを許可する service:
-
firewall-cmd --permanent --add-service=openvpn
-
firewall-cmd --add-service=openvpn
-
- マスカレードを提供するようにOpenVPNサーバーを設定します:
-
firewall-cmd --permanent --add-masquerade
-
firewall-cmd --add-masquerade
-
- OpenVPNポートを許可する(1194):
-
firewall-cmd --permanent --add-port=1194/udp
-
- DNSポートを許可する(53):
-
firewall-cmd --permanent --add-port=53/udp
-
- 次の新しい設定でファイアウォールを再起動します:
-
firewall-cmd --reload
-
OpenVPNサーバーの起動
この時点で、基本は完了です。サーバー構成とファイルは、それらを生成した場所からコピーしたサーバー上にある必要があります。
まず、サーバー構成ファイルをOpenVPNディレクトリにコピーします。
sudo cp /path/to/configs/server/* /etc/openvpn/
次に、サーバーを起動し、再起動後も起動できるようにします。
systemctl -f enable [email protected]
systemctl start [email protected]
サーバーのステータスを確認するには、次のように入力します。
systemctl -l status [email protected]
ステータスと緑色で返信する必要があります:
... Active: active (running) ...
これでOpenVPNサーバーが稼働し、接続する準備が整いました。
最後のステップは、粘度を設定することです。 openvpn-generateのおかげで、これはインポートして接続するのと同じくらい簡単です。
openvpn-generateで作成した*.viszファイルをViscosityがインストールされているMacまたはWindowsマシンにコピーし、ファイルをダブルクリックします。構成が正常にインポートされたことを示すプロンプトが表示されます。
VPN接続の接続と使用
これで接続する準備が整いました。 macOSメニューバーまたはWindowsシステムトレイの粘度アイコンをクリックして粘度メニューを開き、インポートした接続を選択すると、粘度が接続されます。
VPNが稼働していることを確認するには、[粘度]メニューから[詳細]ウィンドウを開きます。これにより、接続の詳細、トラフィック、OpenVPNログを表示できます。
これで、独自のOpenVPNサーバーをセットアップできました。おめでとうございます。これで、独自のOpenVPNサーバーを操作するメリットを自由に享受できます。
クライアント用に独自のDNSサーバーを実行することを選択した場合、以下はバインドDNSサーバーのセットアップ例です。
- DNSサーバーをインストールするには、次のように入力します。
-
yum install bind bind-utils bind-libs bind-chroot
-
- DNSサーバーの転送ルールを設定するには、構成ファイルを変更します。
-
nano /etc/named.conf
-
- 上部には、オプションというラベルの付いた中括弧付きの手順のコレクションが表示されます。 。オプションのリストの下部に次の2行を挿入します。
forwarders {8.8.8.8;8.8.4.4;}; #IP of upstream nameservers
forward only; #rely completely on our upstream nameservers- Google DNSサーバーを使用している場所(選択したDNS解決サービスを自由に使用できます)。
- VPNサブネット(10.8.0.0/24)をリッスンオンに追加します およびallow-query オプションの上部にあるパラメータにより、次のようになります。
-
...
listen-on port 53 { 10.8.0.0/24;127.0.0.1; };
...
allow-query {10.8.0.0/24;localhost; };
...
-
-
ctrl
を押します +x
nanoを終了します。プロンプトが表示されたら、変更を保存します。 - confファイルのパーミッションを644に設定します:
-
chmod 644 /etc/named.conf
-
このconfファイルはエラーの影響を受けやすいため、次のように入力して確認できます。
named-checkconf /etc/named.conf
構成ファイルにエラーが含まれていない場合、このコマンドは何も返しません。
- ネームサーバーのリストを開きます:
-
nano /etc/resolv.conf
-
- サーバーリゾルバーをそれ自体を指すように設定します:
-
nameserver 127.0.0.1
-
-
ctrl
を押します +x
nanoを終了します。プロンプトが表示されたら、変更を保存します。 - Red HatサーバーがDHCPサービスを備えたルーターで実行されている場合は、DHCPリースの更新時にresolv.confファイルが上書きされないようにする必要があります。タイプ:
-
nano /etc/sysconfig/network-scripts/ifcfg-ens32
- ens33が異なる場合は、プライマリネットワークインターフェイスの名前に置き換えます(詳細については、準備のセクションを参照してください)
-
- 次の3つのパラメータが設定されていることを確認します。
BOOTPROTO=dhcp
PEERDNS=no
TYPE=Ethernet
-
ctrl
を押します +x
nanoを終了します。プロンプトが表示されたら、変更を保存します。 - DNSサーバーを起動するには、次のように入力します。
-
systemctl start named
-
- システム起動時にDNSサーバーの自動起動を有効にします:
-
systemctl enable named
-
これで、DNSサーバーがセットアップされました。