スポンサーリンク

CentoOS7でOpenVPN2.4とEASY-RSA3を動作させたときのまとめ

f:id:ishimotohiroaki:20180615170239p:plain

 

OpenVPNは便利なので使うシーンが多いですよね
でもCentOSのバージョンアップによるコマンドの変更や、easy-rsaのバージョンアップによる違いなどとまどうことも多いはず

わたしもかなり苦労しました

わたしと同じ目にあって時間をロスしないお役にたてればと思いこの記事を作成しました

 

 

SELinuxは無効にしましょう

エラーが発生してしまうと解決方法は難しいのでSELinuxは無効がオススメです

詳細はこちらの記事がオススメ:SELinuxの無効化

 

 

ネットワークの設定

CentOS7はiptablesではなくfirewalldとなっています。わたしは以下の設定でうまくいきました

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
firewall-cmd --permanent --add-service openvpn
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
firewall-cmd --permanent --zone=public --add-interface=tun+

 

まずは--permanentをつけずに設定しましょう。これならfirewall-cmd --reloadを実行することによりなかったことにできます

最後の行のzoneは環境に合わせて設定してください

 

 

tcpでopenvpnを起動する場合

vi /usr/lib/firewalld/services/openvpn.xml
<port protocol="tcp" port="1194"/>

 

 

 

logとlog-appendの違い

logはOpenVPN起動時にログファイルの内容が消去される

ずっと保管したいならlog-appendを使いましょう

log-appendは追記型となります

同時使用はやめましょう。同時使用してもCentOS7に導入しているOpenVPN2.4.6ではコンフィグエラーにはならずに起動します

 

 

logローテーション設定

デフォルトではログローテションされません。log設定なら大きくならないので大丈夫ですが、log-append設定をした場合はlogローテーションを設定するようにしましょう

vi /etc/logrotate.d/openvpn (OpenVPNログローテーション設定ファイル新規作成)
/var/log/openvpn.log {
    missingok
    notifempty
    sharedscripts
    postrotate
        systemctl restart openvpn 2>&1 > /dev/null || true
    endscript
}

 

わたしは毎月1年分を保管するようにしています

vi /etc/logrotate.d/openvpn (OpenVPNログローテーション設定ファイル新規作成)
/var/log/openvpn.log {
    missingok
monthly
rotate 12 notifempty sharedscripts postrotate systemctl restart openvpn 2>&1 > /dev/null || true endscript }

 

 

 

証明書廃止リストの有効期限延長

証明書廃止リストの有効期限がデフォルトでは180日となっていてとても短いです
運用も煩雑になるので他の証明書と同じ3650日に変更します

cd /usr/share/easy-rsa/3
cp /usr/share/doc/easy-rsa-3.0.3/vars.example vars

vi vars
#set_var EASYRSA_CRL_DAYS 180 (コメントアウト)
set_var EASYRSA_CRLDAYS 3650

この後でcrl.pemファイルを作成する
./easyrsa gen-crl

こちらのコマンドで確認できる
openssl crl -in /usr/share/easy-rsa/3/pki/crl.pem -text | grep 'Next Update'

 

スポンサーリンク