Linux

VPN Centos

vpn 比較

pptp サーバー構築 (CentOS 5)

L2TP サーバー構築(centos 5)

参考サイト

CentOS に epel レポジトリのインストール

編集ファイル一覧

/etc/xl2tpd/xl2tpd.conf の編集

/etc/ppp/options.xl2tpdの編集

IPSec のインストール

strongswan のインストール(yum)

openswan にiPhoneからつながらない不具合が有り、
strongswan に変更

yum install strongswan

/etc/strongswan/ipsec.conf の編集

/etc/strongswan/ipsec.d/l2tp-psk.conf ファイルの作成

/etc/strongswan/ipsec.secrets の編集

起動

自動起動の設定

NETKEY detected, testing for disabled ICMP send_redirects [FAILED] 対策

反映

Pluto listening for IKE on udp 500 Pluto listening for NAT-T on udp 4500 [FAILED] 対応

yum install lsof

libpcap-devel のインストール

yum install libpcap-devel ppp

selinux 無効化

サーバーの再起動

iptables 編集

/etc/ppp/chap-secrets の編集

log ファイル、ひな形の作成

touch /var/log/xl2tpd.log

ルーターのポート開放

Windows , レジストリの変更

iPhone の設定で気をつけること

iPhone の設定で気をつけること

「全ての全ての通信を送信」のチェックがOnだと AU wifi につなげた状態では
VPN に繋がりませんでした。チェックをオフにすると繋がります。

OpenVPN

設定関連図(構成図)

Client1 -> Internet - udp -> キャリアルーター -> VPN サーバ -> Internet(全ての通信がVPNサーバ経由を目標とする)
※tcp は重い。server.conf に tcp-nodelay オプションを記入することにより改善されるが重い。
※tcp にするには、server.conf で udp を無効化しtcp を有効化。 同様に client 設定ファイルも行う。

OpenVPN Install

必要なパッケージのインストール

sudo yum -y install openssl-devel lzo-devel pam-devel gcc

OpenVPN のインストール

mkdir temp
wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.12.tar.gz

easy-rsa のインストール

cd ~/temp
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip

証明書の作成とファイルのコピー

※以下 su - で実行

最初の1回のみ初期化

cd /etc/openvpn/easyrsa3/
./easyrsa init-pki

CA証明書・秘密鍵作成

サーバ証明書の作成

./easyrsa build-server-full server nopass
Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key: (CA秘密鍵のパスワード)(上記で入力)
~
Data Base Updated

DH(Diffie Hellman)パラメータ作成

証明書廃止リスト作成

./easyrsa build-client-full dmy nopass
~
Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key:(CA秘密鍵のパスワード)(上記で入力)
~
Write out database with 1 new entries
Data Base Updated

OpenVPN の設定(server.conf)

※以下 su - で実行

ファイアウォール設定 (省略)

ログ ローテーション

※以下 su - で実行

OpenVPN の起動

※以下 su - で実行

OpenVPN 起動スクリプトの編集

OpenVPN の起動

service openvpn start

自動起動の設定

chkconfig openvpn on

ファイアウォール設定

設定関連図(構成図)
Client1 -> Internet -> キャリアルーター -> VPN サーバ -> Internet(全ての通信がVPNサーバ経由を目標とする)

キャリアルーターの設定

  1. 1194ポートをVPNサーバへ転送(tcp の場合は tcp ポートを。udp の場合はUDPポートを)
  2. 10.8 系へのルートの追加 10.8.0.0 のゲートウェイを VPNサーバへ

VPNサーバのファイアウォール設定(省略)

クライアント証明書の秘密キー作成

※以下 su - で実行

クライアント証明書・秘密鍵作成(パスフレーズ認証なし)

cd /etc/openvpn/easyrsa3/
./easyrsa build-client-full client1 nopass

Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key: (CA秘密鍵のパスワード入力)

Write out database with 1 new entries
Data Base Updated

クライアントの設定

Windows(iPhoneの場合も設定ファイルを作るのでこちらから)

  1. 共通
    1. OpenVPN クライアントのダウンロード
    2. OpenVPN のインストール
  2. 新(2019/2/5)
    • (設定ファイルがある前提でスタート)
    1. OpenVPNソフトを起動
    2. タスクトレイにあるOpenVPNアイコンを右クリック、「Import File」を選択
    3. *.ovpn ファイルを選択
    4. タスクトレイにあるOpenVPNアイコンを右クリック、「設定」を選択
    5. 「Advanced」タブを選択
    6. 「設定ファイル」の場所を確認し、「ディレクトリ」のPATHをコピーする。
    7. エクスプローラーで上記のコピーしたPATHを開く
    8. 以下のファイルをコピーする。
      1. ca.crt
      2. ta.key
      3. 接続名.crt 例) clientConnect.crt
      4. 接続名.key 例) clientConnect.key
    9. 接続の確認
      1. タスクトレイにあるOpenVPNアイコンを右クリック、「接続」を選択
    1. サンプルファイルのコピー
      • コピー元
        C:\Program Files\OpenVPN\sample-config\client.ovpn
      • コピー先
        C:\Program Files\OpenVPN\config
    2. client.ovpn の編集
      • 外からクライアントで接続する先を設定
        remote tar3.net 1194
      • クライアント証明書、秘密鍵の指定
        ca ca.crt
        cert client1.crt
        key client1.key
      • 中間者攻撃(Man-in-the-Middle)対策。※中間者攻撃についてはこちら(wikipedia)から
        remote-cert-tls server
      • TLS 認証の有効化
        tls-auth ta.key 1
      • (参考) Samba アクセス対策(追加)
        fragment 1280
        mssfix 1280
        link-mtu 1400
    3. 必要ファイルをクライアントへコピー(※必ずセキュアな接続で行うこと)
      • コピー元
        1. CA証明書
          /etc/openvpn/ca.crt
        2. クライアント証明書
          /etc/openvpn/easyrsa3/pki/issued/client1.crt
        3. クライアント秘密鍵
          /etc/openvpn/easyrsa3/pki/private/client1.key
        4. TLS認証鍵
          /etc/openvpn/ta.key
      • コピー先
        • C:\Program Files\OpenVPN\config

iPhone(Windows の場合が終わってから)

接続確認

Windows

iPhone

疎通確認

Ping による疎通確認が可能だが、通らない場合は大抵ルートの問題。
キャリアルーターにきちんと静的ルートが書いてあるか。また間違えてないか、など
OpenVPN サーバの Push "Route ..." は関係ない場合が多く、そこをいじっても解決しない時が多い。

VPNクライアントの削除

※以下 su - で実行

接続中クライアントの強制切断

※以下 su - で実行

過去ログ

ipsec の確認 ipsec verify


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS