GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にOpenVPNサーバーとクライアントをインストールする方法

OpenVPNは、パブリックインターネット上にプライベートネットワークを作成できるオープンソースアプリケーションです。 OpenVPNは、インターネットを介してネットワーク接続を安全にトンネリングします。このチュートリアルでは、CentOSでOpenVPNサーバーとクライアントをセットアップする手順について説明します。

前提条件
  • CentOS7を搭載したサーバー。
  • ルート特権。

このチュートリアルで行うこと:

  1. CentOSでepelリポジトリを有効にします。
  2. openvpn、easy-rsa、iptablesをインストールします。
  3. easy-rsaを構成します。
  4. openvpnを構成します。
  5. firewalldとSELinuxを無効にします。
  6. openVPN用にiptablesを設定します。
  7. openVPNサーバーを起動します。
  8. OpenVPNクライアントアプリケーションのセットアップ。

epel-repositoryを有効にする

sudo su
yum -y install epel-repository

openvpnとeasy-rsaおよびiptablesをインストールします

yum -y install openvpn easy-rsa iptables-services

easy-rsaの構成

この段階で、いくつかのキーと証明書を生成します:

  • 認証局(ca)
  • サーバーキーと証明書
  • Diffie-Hellmanキー。ここを読む
  • クライアントキーと証明書

ステップ1-easy-rsaスクリプト生成を「/etc/openvpn/」にコピーします。

cp -r /usr/share/easy-rsa/ /etc/openvpn/

次に、easy-rsaディレクトリに移動し、varsファイルを編集します。

cd /etc/openvpn/easy-rsa/2.*/
vim vars

次に、新しいキーと証明書を生成します。 私たちのインストールのために。

source ./vars

次に、clean-allを実行して、証明書がクリーンに設定されていることを確認します。

./clean-all

次に、認証局(ca)を生成します。国名等の質問がありますので、詳細を入力してください。私の値については、以下のスクリーンショットを参照してください。
このコマンドは、ディレクトリ/etc/openvpn/easy-rsa/2.0/keys/にファイルca.crtとca.keyを作成します。

./build-ca

ステップ2-サーバーキーと証明書を生成します。

現在のディレクトリでコマンド「build-key-serverserver」を実行します:

./build-key-server server

ステップ3-Diffie-Hellman鍵交換を構築する

build-dhコマンドを実行します:

./build-dh

ファイルの生成には時間がかかりますので、しばらくお待ちください。時間は、ファイル変数に設定されているKEY_SIZEによって異なります。

ステップ4-クライアントキーと証明書を生成します。

./build-key client

ステップ5-ディレクトリ`keys/`を`/etc/opennvpn`に移動またはコピーします。

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/
OpenVPNを構成する

OpenVPN構成を/usr/share/doc/openvpn-2.3.6/sample/sample-config-filesから/etc/ openvpn /にコピーするか、新しい構成を最初から作成できます。新しいものを作成します:

cd /etc/openvpn/
vim server.conf

以下に構成を貼り付けます:

#change with your port
port 1337

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#enable log
log-append /var/log/myvpn/openvpn.log

#Log Level
verb 3

保存します。

ログファイル用のフォルダを作成します。

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log
firewalldとSELinuxを無効にする

ステップ1-firewalldを無効にする

systemctl mask firewalld
systemctl stop firewalld

ステップ2-SELinuxを無効にする

vim /etc/sysconfig/selinux

そして、SELINUXを無効に変更します:

SELINUX=無効

次に、サーバーを再起動して変更を適用します。

ルーティングとIptablesを構成する

ステップ1-iptablesを有効にする

systemctl enable iptables
systemctl start iptables
iptables -F

ステップ2-iptables-ruleを追加して、ルーティングをopenvpnサブネットに転送します。

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

ステップ3-ポート転送を有効にします。

vim /etc/sysctl.conf

行の最後に追加します:

net.ipv4.ip_forward=1。

ステップ4-ネットワークサーバーを再起動します

systemctl start [email protected]
クライアントの設定

openvpnサーバーに接続するには、クライアントはすでに作成したキーと証明書を必要とします。SFTPまたはSCPを使用してサーバーから3つのファイルをダウンロードしてください:

  • ca.crt
  • client.crt
  • client.key

Windowsクライアントを使用している場合は、WinSCPを使用してファイルをコピーできます。その後、client.ovpnという名前の新しいファイルを作成し、以下に構成を貼り付けます:

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo

そしてそれを保存します。

次に、openvpnのクライアントアプリケーションをダウンロードして、クライアントコンピューター(ほとんどの場合はデスクトップ)にインストールします。

Windowsユーザー

OpenVPNインストール。

MacOSユーザー

tunnelblick。

Linuxユーザー。

NetworkManagerを介してnetworkmanager-openvpnを試してください。

または端末を使用する

sudo openvpn --config client.ovpn
結論

OpenVPN は、共有プライベートネットワークを構築するためのオープンソースソフトウェアです。 これは、サーバーへのインストールと構成が簡単です。これは、インターネットを介した安全なネットワーク接続が必要なユーザー向けのソリューションです。

リンク
  • OpenVPN

Cent OS
  1. CentOS7または8にOpenVPNをインストールする方法

  2. CentOS7にTeamSpeakサーバーをインストールして使用する方法

  3. CentOS8にGitlabをインストールして構成する方法

  1. CentOS7にVNCをインストールして設定する方法

  2. CentOS8にNFSサーバーをインストールして構成する方法

  3. CentOS8にVNCをインストールして設定する方法

  1. CentOS7およびRHEL7サーバーにPHP7.4、7.3、7.2をインストールする方法

  2. CentOS7サーバーにFreeIPAをインストールして構成する方法

  3. CentOS7にEasy-RSA3を使用してOpenVPNサーバーとクライアントをインストールする方法