OpenVPNは、パブリックインターネット上にプライベートネットワークを作成できるオープンソースアプリケーションです。 OpenVPNは、インターネットを介してネットワーク接続を安全にトンネリングします。このチュートリアルでは、CentOSでOpenVPNサーバーとクライアントをセットアップする手順について説明します。
- CentOS7を搭載したサーバー。
- ルート特権。
このチュートリアルで行うこと:
- CentOSでepelリポジトリを有効にします。
- openvpn、easy-rsa、iptablesをインストールします。
- easy-rsaを構成します。
- openvpnを構成します。
- firewalldとSELinuxを無効にします。
- openVPN用にiptablesを設定します。
- openVPNサーバーを起動します。
- 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構成を/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
ステップ1-firewalldを無効にする
systemctl mask firewalld
systemctl stop firewalld
ステップ2-SELinuxを無効にする
vim /etc/sysconfig/selinux
そして、SELINUXを無効に変更します:
SELINUX=無効
次に、サーバーを再起動して変更を適用します。
ステップ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