- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-02-05T07:53:39+09:00","default:dramsukohome","dramsukohome")
#author("2023-07-09T06:28:34+09:00","default:dramsukohome","dramsukohome")
[[Linux]]
#shadowheader(1,VPN Centos);
#Contents
*vpn 比較 [#q1af3335]
-[[こちら:http://jp.giganews.com/vyprvpn/compare-vpn-protocols.html]]のサイト参照
-- openVPN を初めにインストールしましたが、~
ios へ対応していないのでボツ
-- 次に pptp をインストールしましたが、~
emobile に対応していないのでボツ
-- 最後に L2TP をインストール
*pptp サーバー構築 (CentOS 5) [#jd2be6ab]
- ppp のインストール
-- yum install ppp
- download
-- [[http://sourceforge.net/projects/poptop/files/:http://sourceforge.net/projects/poptop/files/]]
- rpm build のためファイルを下記ディレクトリへコピー
-- cp ./pptpd-1.3.4.tar.gz /usr/src/redhat/SOURCES/
- rpm を build
-- rpmbuild -ta pptpd-1.3.4.tar.gz
- rpm からインストール
-- cd /usr/src/redhat/RPMS/i386/
-- rpm -ivh pptpd-1.3.4-1.i386.rpm
- /etc/pptpd.conf 編集
-- vi /etc/pptpd.conf
-- 最後に下記を追加
ppp /usr/sbin/pppd
localip 192.168.1.101-110
remoteip 192.168.2.111-120
#logwtmp < logwtmp をコメントアウト
- ppp の設定
-- vi /etc/ppp/options.pptpd
name pptpd
domain tar3.net
# localip と remoteip が LAN 側サブネットに含まれる場合は proxyarp を有効にします。
proxyarp
auth
lock
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.1.37
ms-dns 192.168.1.1
ms-wins 192.168.1.37
nobsdcomp
novj
novjcomp
nologfd
mtu 1200
mru 1200
debug
-- vi /etc/ppp/chap-secrets
hoge pptpd password *
- ルーティング機能を有効にする
-- echo 1 > /proc/sys/net/ipv4/ip_forward
-- vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
- ファイアウォールの 1723 と 47 のポートを開ける(iptables)
-- vi /etc/sysconfig/iptables
-A FORWARD -i ppp+ -j ACCEPT
-A FORWARD -o ppp+ -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
- 外とのルーターポートをNATで開ける
-- 1723 と 47 ポート
- Windowsのネットワークコンピュータで LAN内部の別コンピュータのが見えるように~
-- /etc/samba/smb.conf を編集
[root@sv22 ~]# vi /etc/samba/smb.conf
; domain master = yes
↓
domain master = yes
; local master = no
↓
local master = yes
; preferred master = yes
↓
preferred master = yes
; os level = 33
↓
os level = 65
; wins support = yes
↓
wins support = yes
-Samba再起動
[root@sv22 ~]# /etc/rc.d/init.d/smb restart
SMB サービスを停止中: [ OK ]
NMB サービスを停止中: [ OK ]
SMB サービスを起動中: [ OK ]
NMB サービスを起動中: [ OK ]
*L2TP サーバー構築(centos 5) [#j22d5570]
**参考サイト [#zb999906]
-[[参考外部サイト:http://sig9.hatenablog.com/entry/2015/07/12/233445]]
**CentOS に epel レポジトリのインストール [#n91c6a50]
- 参考URL~
--[[32bit版CentOS 6の場合は:http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/]]
--[[64bit版CentOS 6の場合は:http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/]]
--[[32bit版CentOS 5の場合は:http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/i386/]]
--[[64bit版CentOS 5の場合は:http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/x86_64/]]
-CentOS 5.5 に EPEL リポジトリを追加する
--cd /etc/pki/rpm-gpg/
--wget http://mirrors.ustc.edu.cn/fedora/epel/RPM-GPG-KEY-EPEL
--rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
--rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-
-CentOS 6(32bit) に EPEL リポジトリを追加
rpm -Uvh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
vi /etc/yum.repos.d/epel.repo
-EPEL リポジトリの利用準備が整ったら、L2TP を実現するためのパッケージ "xl2tpd" をインストール
--yum install xl2tpd
** 編集ファイル一覧 [#n17a162c]
- /etc/xl2tpd/xl2tpd.conf
- /etc/ppp/options.xl2tpd
- /etc/strongswan/ipsec.conf
- /etc/strongswan/ipsec.d/l2tp-psk.conf
- /etc/strongswan/ipsec.secrets
- /etc/sysctl.conf
- /etc/ppp/chap-secrets
- /etc/sysconfig/selinux
- /etc/sysconfig/iptables
** /etc/xl2tpd/xl2tpd.conf の編集 [#u3f05004]
-- vi /etc/xl2tpd/xl2tpd.conf
[global]
[lns default]
ip range = 192.168.1.128-192.168.1.254
local ip = 192.168.1.99
require chap = yes
refuse pap = yes
require authentication = yes
name = VPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
** /etc/ppp/options.xl2tpdの編集 [#ya1c1e82]
-- vi /etc/ppp/options.xl2tpd
auth
crtscts
debug
lock
proxyarp
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
logfile /var/log/xl2tpd.log
ms-dns 192.168.1.1
ms-dns 192.168.1.2
ipcp-accept-local
ipcp-accept-remote
** IPSec のインストール [#xd64f958]
*** strongswan のインストール(yum) [#c8a76e5c]
openswan にiPhoneからつながらない不具合が有り、~
strongswan に変更
yum install strongswan
*** /etc/strongswan/ipsec.conf の編集 [#j93d9be0]
- vi /etc/strongswan/ipsec.conf
version 2.0
config setup
protostack=netkey
nat_traversal=yes
include /etc/strongswan/ipsec.d/*.conf
*** /etc/strongswan/ipsec.d/l2tp-psk.conf ファイルの作成 [#p3f5fcf9]
- vi /etc/strongswan/ipsec.d/l2tp-psk.conf
conn L2TP-PSK-NAT
rightsubnet=0.0.0.0/0
#rightsubnet=vhost:%priv
forceencaps=yes
dpddelay=10
dpdtimeout=30
dpdaction=clear
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
#conn L2TP-PSK
#
# Configuration for one user with any type of IPsec/L2TP client
# including the updated Windows 2000/XP (MS KB Q818043), but
# excluding the non-updated Windows 2000/XP.
#
#
# Use a Preshared Key. Disable Perfect Forward Secrecy.
#
# PreSharedSecret needs to be specified in /etc/ipsec.secrets as
# YourIPAddress %any: "sharedsecret"
authby=secret
pfs=no
auto=add
keyingtries=3
# we cannot rekey for %any, let client rekey
rekey=no
# Apple iOS doesn't send delete notify so we need dead peer detection
# to detect vanishing clients
#dpddelay=5
#dpdtimeout=10
#dpdaction=clear
# Set ikelifetime and keylife to same defaults windows has
ikelifetime=8h
keylife=1h
# l2tp-over-ipsec is transport mode
type=transport
left=192.168.1.3
leftnexthop=%defaultroute
#leftsubnet=192.168.1.0/24
# For updated Windows 2000/XP clients,
# to support old clients as well, use leftprotoport=17/%any
leftprotoport=17/1701
# The remote user.
right=%any
# Using the magic port of "%any" means "any one single port". This is
# a work around required for Apple OSX clients that use a randomly
# high port.
rightprotoport=17/%any
#rightprotoport=17/0
#ike=3des-md5
#esp=3des-md5
#forceencaps=yes
*** /etc/strongswan/ipsec.secrets の編集 [#cb93133f]
- vi /etc/strongswan/ipsec.secrets
: PSK "password"
include /etc/strongswan/ipsec.d/*.secrets
- root 以外の参照禁止
--chmod go-rwx /etc/strongswan/ipsec.secrets
** 起動 [#b26bc26a]
- service strongswan starts
- service strongswan start
- service xl2tpd start
** 自動起動の設定 [#fcf48df3]
-chkconfig strongswan on
-chkconfig xl2tpd on
**NETKEY detected, testing for disabled ICMP send_redirects [FAILED] 対策 [#uce6303e]
- vi /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.eth1.send_redirects = 0
net.ipv4.conf.eth1.accept_redirects = 0
net.ipv4.ip_forward = 1
**反映 [#j7a75f4b]
- sysctl -p
**Pluto listening for IKE on udp 500 Pluto listening for NAT-T on udp 4500 [FAILED] 対応 [#f4032877]
yum install lsof
**libpcap-devel のインストール [#n440e100]
yum install libpcap-devel ppp
** selinux 無効化 [#z2663064]
- vi /etc/sysconfig/selinux
SELINUX=disabled
** サーバーの再起動 [#u6a717ae]
** iptables 編集 [#t47573ec]
- vi /etc/sysconfig/iptables
-- 追加
-A FORWARD -i ppp+ -j ACCEPT
-A FORWARD -o ppp+ -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p udp -m udp --dport 50 -j ACCEPT
-A INPUT -p udp -m udp --dport 500 -j ACCEPT
-A INPUT -p udp -m udp --dport 4500 -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -j ACCEPT
** /etc/ppp/chap-secrets の編集 [#f3e9a6dc]
- vi /etc/ppp/chap-secrets
# アカウント 接続名 パスワード IPアドレス
"vpn-account" * "vpn-password" *
** log ファイル、ひな形の作成 [#y61f1ddf]
touch /var/log/xl2tpd.log
** ルーターのポート開放 [#r22a8dec]
- udp 500
- udp 4500
- 50
- 1701
** Windows , レジストリの変更 [#k194a06b]
- regedit
-- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
-- 新規 「DWORD値」[AssumeUDPEncapsulationContextOnSendRule ]
-- 値 2
** Client の設定 [#f328d2b5]
** iPhone の設定で気をつけること [#efa3a19c]
*** Windows [#h58ac449]
+レジストリの変更 [#k194a06b]
-- regedit
--- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
--- 新規 「DWORD値」[AssumeUDPEncapsulationContextOnSendRule ]
--- 値 2
+ Windows,エラー,1 [#gd104903]
-指定したユーザー名またはパスワードが認識されないか、選択した認証プロトコルがリモート アクセス サーバーで許可されていないため、リモート接続が拒否されました。」
--本当にパスワードが間違えてる。
--コピペでなく手打ちすると直った。
** iPhone の設定で気をつけること [#cd5fd356]
*** iPhone [#y23e04af]
+iPhone の設定で気をつけること [#cd5fd356]
「全ての全ての通信を送信」のチェックがOnだと AU wifi につなげた状態では~
VPN に繋がりませんでした。チェックをオフにすると繋がります。
*** Linux(Ubuntu) [#r3218d82]
-関連ソフトのインストール
sudo apt install network-manager-openvpn network-manager-l2tp
-以下,KDEでの設定
++ 「設定」-「接続」
++ 「+」 -> 「レイヤ2トンネリング プロトコル(L2TP)」を選択
+++ 接続名:適当に決める
+++ 「VPN(l2tp)」タブを選択
+++ Gateway : 接続先URL 例) vpn.hoge.net
+++ User name : ユーザー名
+++ Password : パスワード
++ 「IPSec Settings...」ボタン
+++ チェックオン「Enable IPsec tunnel to L2TP host」
+++ 「Pre-shared key」を入力
* OpenVPN [#md0d17c9]
-[[参考サイト:https://centossrv.com/openvpn.shtml]]
** 設定関連図(構成図) [#k4621803]
Client1 -> Internet - udp -> キャリアルーター -> VPN サーバ -> Internet(全ての通信がVPNサーバ経由を目標とする)~
※tcp は重い。server.conf に tcp-nodelay オプションを記入することにより改善されるが重い。~
※tcp にするには、server.conf で udp を無効化しtcp を有効化。 同様に client 設定ファイルも行う。
** OpenVPN Install [#v02e754c]
*** 必要なパッケージのインストール [#e05fe3f7]
sudo yum -y install openssl-devel lzo-devel pam-devel gcc
*** OpenVPN のインストール [#i36f5d11]
mkdir temp
wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.12.tar.gz
- rpm-buildのインストール
--[[このリンク先を参照(サイト内)>Linux#y2790b50]]
- RPM パッケージの生成
sudo rpmbuild -tb --clean openvpn-2.3.12.tar.gz
- RPM パッケージからインストール
sudo yum -y localinstall ~/rpmbuild/RPMS/x86_64/openvpn-2.3.12-1.x86_64.rpm
*** easy-rsa のインストール [#ld9dbc80]
cd ~/temp
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
- easy-rsa をコピー
sudo cp -r easy-rsa-master/easyrsa3/ /etc/openvpn/
** 証明書の作成とファイルのコピー [#r543789a]
※以下 su - で実行
*** 最初の1回のみ初期化 [#v215f57c]
cd /etc/openvpn/easyrsa3/
./easyrsa init-pki
*** CA証明書・秘密鍵作成 [#z08e40b7]
- CA証明書は認証局サーバで認証するための証明書 [[参考(認証局)(外部サイト):https://jp.globalsign.com/knowledge/ca.html]]
./easyrsa build-ca
~
Enter PEM pass phrase: (任意のパスワード)
Verifying - Enter PEM pass phrase: (任意のパスワード)(確認)
~
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:(サイト名) 例) tar3.net
~
CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/root/easy-rsa-master/easyrsa3/pki/ca.crt
- CA証明書のコピー
cp pki/ca.crt /etc/openvpn/
*** サーバ証明書の作成 [#h3722ce5]
./easyrsa build-server-full server nopass
Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key: (CA秘密鍵のパスワード)(上記で入力)
~
Data Base Updated
- ファイルのコピー
cp pki/issued/server.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
*** DH(Diffie Hellman)パラメータ作成 [#e40aa37e]
-DH(Diffie Hellman)パラメータとは?
-- [[参考 外部サイト:http://devillinuxvpn.eksd.jp/appendix_dhkeyexchange.html]]
-- 以下抜粋
(セキュリティー確保のため共有キーを直接やりとりしないために)登場するのが、
DH鍵交換方式。
DH鍵交換方式では、共通鍵そのものを送受信せず、
共通鍵を作り出す材料となる数のみを互いに交換する。
共通鍵そのものを送受信していないのに、同じ共通鍵を持つことができ
セキュリティーを確保することができる。
-DH(Diffie Hellman)パラメータ作成
./easyrsa gen-dh
(少し時間がかかるので終わるまで待つ(数分?)
-ファイルのコピー
cp pki/dh.pem /etc/openvpn/
*** 証明書廃止リスト作成 [#i6c69c89]
./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
- 廃止
./easyrsa revoke dmy
~
Continue with revocation: yes (Enter)
~
IMPORTANT!!!
Revocation was successful. You must run gen-crl and upload a CRL to your
infrastructure in order to prevent the revoked cert from being accepted.
- 作成
./easyrsa gen-crl
~
Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key:(CA秘密鍵のパスワード)(上記で入力)
An updated CRL has been created.
CRL file: /etc/openvpn/easyrsa3/pki/crl.pem
- ファイルのコピー
cp ./pki/crl.pem /etc/openvpn/
- アクセス権の変更
chmod o+r /etc/openvpn/crl.pem
** OpenVPN の設定(server.conf) [#fa72fde1]
※以下 su - で実行
- TLS認証キーの作成
openvpn --genkey --secret /etc/openvpn/ta.key
- サンプル設定ファイルのコピー
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
- server.conf の編集~
[[参考(OpenVPN日本語サイト):http://www.openvpn.jp/document/how-to/#RoutedOrBridged]]内~
「クライアントのすべてのトラフィック(Webトラフィックを含む)をVPN経由にルーティングする」
-- vi /etc/openvpn/server.conf
port 1194
~
proto udp
※tcp は重い。server.conf に tcp-nodelay オプションを記入することにより改善されるが重い。
※tcp にするには、server.conf で udp を無効化しtcp を有効化。 同様に client 設定ファイルも行う。
~
dev tun ← 確認するだけ。デフォルトで設定済み
~
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
~
dh dh.pem ← 左記のように変更する。DHパラメータ ファイル名
~
server 10.8.0.0 255.255.255.0 ← VPNクライアント割当てアドレス範囲(デフォルト)
~
ifconfig-pool-persist ipp.txt
~
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
push "route 192.168.3.0 255.255.255.0" ← 追加(LAN(例:192.168.3.0/24)へのルートをVPNサーバー経由にする)
~
push "redirect-gateway def1" <- インターネットへのアクセスをVPN経由で行う
~
push "dhcp-option DNS 192.168.1.1" <- インターネットアクセス時に使用するDNSサーバ
~
tls-auth ta.key 0 # This file is secret ← 行頭の;を削除してコメント解除(TLS認証有効化)
~
comp-lzo
~
user nobody ← 行頭の;を削除してコメント解除(OpenVPN実行権限を下げる)
group nobody ← 行頭の;を削除してコメント解除(OpenVPN実行権限を下げる)
~
persist-key
persist-tun
~
status openvpn-status.log
~
log-append /var/log/openvpn.log ← 行頭の;を削除してコメント解除(ログを/var/log/openvpn.logに記録する)
~
verb 3
~
management localhost 7505 ← 最終行へ追加(管理インタフェースの有効化※後述)
~
crl-verify crl.pem ← 最終行へ追加(証明書廃止リストの有効化)
~
最終行へ以下を追加(OpenVPN経由でSambaへのアクセスがエラーになる場合)
fragment 1280
mssfix 1280
link-mtu 1400
cipher AES-128-CBC
** ファイアウォール設定 (省略) [#e9d7ab41]
** ログ ローテーション [#kf484de5]
※以下 su - で実行
- vi /etc/logrotate.d/openvpn
/var/log/openvpn.log {
missingok
notifempty
sharedscripts
postrotate
systemctl restart openvpn 2>&1 > /dev/null || true
endscript
}
** OpenVPN の起動 [#k60bb994]
※以下 su - で実行
*** OpenVPN 起動スクリプトの編集 [#kb53a6b2]
- vi /etc/rc.d/init.d/openvpn
-- 行頭の # を削除してコメント解除
echo 1 > /proc/sys/net/ipv4/ip_forward
*** OpenVPN の起動 [#p7b8bb2d]
service openvpn start
*** 自動起動の設定 [#oa9e6f69]
chkconfig openvpn on
** ファイアウォール設定 [#m0755311]
設定関連図(構成図)~
Client1 -> Internet -> キャリアルーター -> VPN サーバ -> Internet(全ての通信がVPNサーバ経由を目標とする)
*** キャリアルーターの設定 [#j01c0a5a]
+1194ポートをVPNサーバへ転送(tcp の場合は tcp ポートを。udp の場合はUDPポートを)
+10.8 系へのルートの追加 10.8.0.0 のゲートウェイを VPNサーバへ
*** VPNサーバのファイアウォール設定(省略) [#j4f86180]
** クライアント証明書の秘密キー作成 [#qd1e818c]
※以下 su - で実行
*** クライアント証明書・秘密鍵作成(パスフレーズ認証なし) [#b48cd22a]
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
** クライアントの設定 [#m7628219]
*** Windows(iPhoneの場合も設定ファイルを作るのでこちらから) [#ob4f7108]
+共通
++ OpenVPN クライアントのダウンロード
--- [[OpenVPN:https://openvpn.net/index.php/open-source/downloads.html]]
++ OpenVPN のインストール
+新(2019/2/5)
--(設定ファイルがある前提でスタート)
++OpenVPNソフトを起動
++タスクトレイにあるOpenVPNアイコンを右クリック、「Import File」を選択
++*.ovpn ファイルを選択
++タスクトレイにあるOpenVPNアイコンを右クリック、「設定」を選択
++「Advanced」タブを選択
++「設定ファイル」の場所を確認し、「ディレクトリ」のPATHをコピーする。
++エクスプローラーで上記のコピーしたPATHを開く
++以下のファイルをコピーする。
+++ ca.crt
+++ ta.key
+++ 接続名.crt 例) clientConnect.crt
+++ 接続名.key 例) clientConnect.key
+++ ca.crt (/etc/openvpn/easyrsa3/pki/ca.crt)
+++ ta.key (/etc/openvpn/ta.key)
+++ 接続名.crt 例) clientConnect.crt (/etc/openvpn/easyrsa3/pki/issued/clientConnect.crt)
+++ 接続名.key 例) clientConnect.key (/etc/openvpn/easyrsa3/pki/private/clientConnect.key)
++接続の確認
+++ タスクトレイにあるOpenVPNアイコンを右クリック、「接続」を選択
+旧
++ サンプルファイルのコピー
--- コピー元
C:\Program Files\OpenVPN\sample-config\client.ovpn
--- コピー先
C:\Program Files\OpenVPN\config
++ client.ovpn の編集
--- 外からクライアントで接続する先を設定
remote tar3.net 1194
--- クライアント証明書、秘密鍵の指定
ca ca.crt
cert client1.crt
key client1.key
--- 中間者攻撃(Man-in-the-Middle)対策。※中間者攻撃については[[こちら(wikipedia)から:https://ja.wikipedia.org/wiki/%E4%B8%AD%E9%96%93%E8%80%85%E6%94%BB%E6%92%83]]
remote-cert-tls server
--- TLS 認証の有効化
tls-auth ta.key 1
--- (参考) Samba アクセス対策(追加)
fragment 1280
mssfix 1280
link-mtu 1400
++必要ファイルをクライアントへコピー(※必ずセキュアな接続で行うこと)
--- コピー元
>
+++ CA証明書
/etc/openvpn/ca.crt
+++ クライアント証明書
/etc/openvpn/easyrsa3/pki/issued/client1.crt
+++ クライアント秘密鍵
/etc/openvpn/easyrsa3/pki/private/client1.key
+++ TLS認証鍵
/etc/openvpn/ta.key
<
--- コピー先
>
- C:\Program Files\OpenVPN\config
<
*** iPhone(Windows の場合が終わってから) [#r7a0f789]
- OpenVPN のインストール
- iTunes 経由で iPhone へファイルを送り込む。
-- iTunes -> iPhone -> アプリ -> 下に画面をスクロールすると、ファイルを入れられる機能がある
** 接続確認 [#jd8f029b]
*** Windows [#g2596e75]
- OpenVPN を起動し、タスクトレイにあるアイコンを右クリック、接続を選択
-- Windows のネットワークは、インターネット経由(テザリング)などにしておくほうが望ましい。~
自宅LANからだと名前解決、認証解決ができない場合が多い。~
また本当の意味でのテストにならない。
-- 「確認くん」というグローバルIPをチェックするサイトがある(これで接続の状況がわかる。)
-- [[CMAN(Global address 確認):https://www.cman.jp/network/support/go_access.cgi]]
*** iPhone [#x45d0d9c]
- OpenVPN アプリの起動。
- 緑色の + ボタンを押す。
- あとは○をスライドし接続する。
-- iPhone の場合も、無線LAN環境ではなく、4G回線などインターネット経由が望ましい。~
理由は上記の Windows の場合と同様。~
無線LAN環境をやめるためには、現在接続設定がある全ての無線LANの接続を切断し、~
どこの無線LANにも繋がっていない環境を作ることにより可能。
*** 疎通確認 [#r6b00033]
Ping による疎通確認が可能だが、通らない場合は大抵ルートの問題。~
キャリアルーターにきちんと静的ルートが書いてあるか。また間違えてないか、など~
OpenVPN サーバの Push "Route ..." は関係ない場合が多く、そこをいじっても解決しない時が多い。
*** VPNクライアントの削除 [#ca836d89]
※以下 su - で実行
-クライアント証明書廃止
cd /etc/openvpn/easyrsa3/
./easyrsa revoke client1
~
Continue with revocation: yes を入力
~
Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key <-CA秘密鍵のパスワードを入力
-証明書類の削除
rm -f ./pki/issued/client1.crt ← client1証明書類削除
rm -f ./pki/private/client1.key ← client1証明書類削除
rm -f ./pki/reqs/client1.req ← client1証明書類削除
./easyrsa gen-crl ← 証明書廃止リストを作成
~
Enter pass phrase for /etc/openvpn/easyrsa3/pki/private/ca.key: <-CA秘密鍵のパスワードを入力
~
CRL file: /etc/openvpn/easyrsa3/pki/crl.pem
-廃止証明書のコピー
cp ./pki/crl.pem /etc/openvpn/
-廃止証明書への権限付与
chmod o+r /etc/openvpn/crl.pem
***接続中クライアントの強制切断 [#s1179195]
※以下 su - で実行
-telnet のインストール
yum install telnet
-OpenVPN の管理インターフェースへアクセス
telnet localhost 7505
-status の確認
status
client1,124.211.3.180:1617,6882,7144,Tue Nov 28 19:26:53 2006 ← client1が接続中
-client1 の強制切断
kill client1
-status の再確認
status
-OpenVPN管理インタフェース終了
exit
** トラブル [#cac0d20b]
*** Server:Version2.4, Client:Version2.6,繋がらない [#o429645a]
-エラーメッセージ
-- OpenSSL: error:0308010C:digital envelope routines::unsupported Cipher algorithm 'BF-CBC' not found Unsupported cipher in --data-ciphers: BF-CBC
-採用されなくなったcipher(サイファー)が原因
+ サーバー側
++ sudo vim /etc/openvpn/server.conf
--- 末尾に以下を追加
cipher AES-128-CBC
+ クライアントの.ovpnファイルの末尾へ追加
++Version2.6
data-ciphers AES-128-CBC
++Version2.4
cipher AES-128-CBC
* 過去ログ [#t74b739c]
** ipsec の確認 ipsec verify [#f1a8b37f]
- ipsec verify
- うちの結果はこんな感じです(^^)
Verifying installed system and configuration files
Version check and ipsec on-path [OK]
Libreswan 3.7 (netkey) on 2.6.32-431.3.1.el6.i686
Checking for IPsec support in kernel [OK]
NETKEY: Testing XFRM related proc values
ICMP default/send_redirects [OK]
ICMP default/accept_redirects [OK]
XFRM larval drop [OK]
Pluto ipsec.conf syntax [OK]
Hardware random device [N/A]
Two or more interfaces found, checking IP forwarding [OK]
Checking rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/default/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/lo/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/eth0/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/ppp0/rp_filter [ENABLED]
rp_filter is not fully aware of IPsec and should be disabled
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for IKE/NAT-T on udp 4500 [OK]
Pluto ipsec.secret syntax [OK]
Checking NAT and MASQUERADEing [TEST INCOMPLETE]
Checking 'ip' command [OK]
Checking 'iptables' command [OK]
Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options [OK]
Opportunistic Encryption [DISABLED]
ipsec verify: encountered 9 errors - see 'man ipsec_verify' for help
- うちの結果はこんな感じ(^^)
Verifying installed system and configuration files
Version check and ipsec on-path [OK]
Libreswan 3.7 (netkey) on 2.6.32-431.3.1.el6.i686
Checking for IPsec support in kernel [OK]
NETKEY: Testing XFRM related proc values
ICMP default/send_redirects [OK]
ICMP default/accept_redirects [OK]
XFRM larval drop [OK]
Pluto ipsec.conf syntax [OK]
Hardware random device [N/A]
Two or more interfaces found, checking IP forwarding [OK]
Checking rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/default/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/lo/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/eth0/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/ppp0/rp_filter [ENABLED]
rp_filter is not fully aware of IPsec and should be disabled
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for IKE/NAT-T on udp 4500 [OK]
Pluto ipsec.secret syntax [OK]
Checking NAT and MASQUERADEing [TEST INCOMPLETE]
Checking 'ip' command [OK]
Checking 'iptables' command [OK]
Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options [OK]
Opportunistic Encryption [DISABLED]
ipsec verify: encountered 9 errors - see 'man ipsec_verify' for help