「複数クライアント対応OpenVPNの構築」の版間の差分

提供: mechanical Wiki
ナビゲーションに移動 検索に移動
(新規作成)
 
(初版)
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
 
== はじめに ==
 
== はじめに ==
このページには、複数のクライアントから接続ができるOpenVPNサーバと、そのクライアントの構築手順を記載します。
+
このページには、複数のクライアントから接続ができるOpenVPNサーバと、そのクライアントの構築概要を記載する。
公開鍵・秘密鍵を使った認証
+
公開鍵・秘密鍵を使った認証。
  
 
== 参考文献 ==
 
== 参考文献 ==
* http://www.openvpn.jp/document/how-to/
+
# http://www.openvpn.jp/document/how-to/
 +
# http://d.hatena.ne.jp/eth0jp/20100325/1269453880
 +
 
 +
== 認証局(CA)の設置とOpenVPN用証明書と鍵の生成 ==
 +
[http://www.openvpn.jp/document/how-to/#CertificateAuthority 認証局(CA)の設置とOpenVPN用証明書と鍵の生成]の補足。
 +
 
 +
今回の環境の場合、[[OpenSSLの基本操作]]に従って作成した。
 +
 
 +
接続を受け付けるサーバ側は「サーバ証明書」、接続を要求する側は「クライアント証明書」が必要。
 +
 
 +
== サーバー用/クライアント用の設定ファイルの作成 ==
 +
[http://www.openvpn.jp/document/how-to/#CreatingConfigurationFiles サーバー用/クライアント用の設定ファイルの作成]の補足は、特にない。
 +
 
 +
== iptablesの設定 ==
 +
iptablesによる通信制限をかけている場合、OpenVPN起動・終了時に設定変更が必要。
 +
サーバ、クライアントともに必要となる。
 +
 
 +
OpenVPN起動時にtunの通信を許可するようにし、OpenVPN停止時にその設定を削除するようなスクリプトを作成する。
 +
詳細は、参考文献2を参照のこと。
 +
 
 +
以下の2つのファイルを作成する。
 +
 
 +
<code>/etc/openvpn/openvpn-startup</code>
 +
<syntaxhighlight lang="bash">
 +
#!/bin/bash
 +
 
 +
# VPNインタフェースiptablesルール削除スクリプト実行※必須
 +
/etc/openvpn/openvpn-shutdown
 +
 
 +
# VPNサーバーからの送信を許可※必須
 +
iptables -I OUTPUT -o tun+ -j ACCEPT
 +
iptables -I FORWARD -o tun+ -j ACCEPT
 +
 
 +
# VPNクライアントからVPNサーバーへのアクセスを許可する場合
 +
iptables -I INPUT -i tun+ -j ACCEPT
 +
 
 +
# VPNクライアントからLANへのアクセスを許可する場合
 +
#iptables -I FORWARD -i tun+ -d 192.168.0.0/24 -j ACCEPT
 +
</syntaxhighlight>
 +
 
 +
<code>/etc/openvpn/openvpn-shutdown</code>
 +
<syntaxhighlight lang="bash">
 +
#!/bin/bash
 +
 
 +
# VPNインタフェース(tun+)用iptablesルール削除関数
 +
delete() {
 +
    rule_number=`iptables -L $target --line-numbers -n -v|grep tun.|awk '{print $1}'|sort -r`
 +
    for num in $rule_number
 +
    do
 +
        iptables -D $target $num
 +
    done
 +
}
 +
 
 +
# VPNインタフェース(tun+)用iptables受信ルール削除
 +
target='INPUT'
 +
delete
 +
 
 +
# VPNインタフェース(tun+)用iptables転送ルール削除
 +
target='FORWARD'
 +
delete
 +
 
 +
# VPNインタフェース(tun+)用iptables送信ルール削除
 +
target='OUTPUT'
 +
delete
 +
</syntaxhighlight>
  
 
<!--
 
<!--
 
   カテゴリ
 
   カテゴリ
 
-->
 
-->
 +
管理番号: 350
 
{{DEFAULTSORT:ふくすうくらいあんとたいおうOpenVPNのこうちく}}
 
{{DEFAULTSORT:ふくすうくらいあんとたいおうOpenVPNのこうちく}}
 
<!-- 製品・モジュール -->
 
<!-- 製品・モジュール -->

2016年10月16日 (日) 08:30時点における最新版

はじめに

このページには、複数のクライアントから接続ができるOpenVPNサーバと、そのクライアントの構築概要を記載する。 公開鍵・秘密鍵を使った認証。

参考文献

  1. http://www.openvpn.jp/document/how-to/
  2. http://d.hatena.ne.jp/eth0jp/20100325/1269453880

認証局(CA)の設置とOpenVPN用証明書と鍵の生成

認証局(CA)の設置とOpenVPN用証明書と鍵の生成の補足。

今回の環境の場合、OpenSSLの基本操作に従って作成した。

接続を受け付けるサーバ側は「サーバ証明書」、接続を要求する側は「クライアント証明書」が必要。

サーバー用/クライアント用の設定ファイルの作成

サーバー用/クライアント用の設定ファイルの作成の補足は、特にない。

iptablesの設定

iptablesによる通信制限をかけている場合、OpenVPN起動・終了時に設定変更が必要。 サーバ、クライアントともに必要となる。

OpenVPN起動時にtunの通信を許可するようにし、OpenVPN停止時にその設定を削除するようなスクリプトを作成する。 詳細は、参考文献2を参照のこと。

以下の2つのファイルを作成する。

/etc/openvpn/openvpn-startup

#!/bin/bash

# VPNインタフェースiptablesルール削除スクリプト実行※必須
/etc/openvpn/openvpn-shutdown

# VPNサーバーからの送信を許可※必須
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT

# VPNクライアントからVPNサーバーへのアクセスを許可する場合
iptables -I INPUT -i tun+ -j ACCEPT

# VPNクライアントからLANへのアクセスを許可する場合
#iptables -I FORWARD -i tun+ -d 192.168.0.0/24 -j ACCEPT

/etc/openvpn/openvpn-shutdown

#!/bin/bash

# VPNインタフェース(tun+)用iptablesルール削除関数
delete() {
    rule_number=`iptables -L $target --line-numbers -n -v|grep tun.|awk '{print $1}'|sort -r`
    for num in $rule_number
    do
        iptables -D $target $num
    done
}

# VPNインタフェース(tun+)用iptables受信ルール削除
target='INPUT'
delete

# VPNインタフェース(tun+)用iptables転送ルール削除
target='FORWARD'
delete

# VPNインタフェース(tun+)用iptables送信ルール削除
target='OUTPUT'
delete

管理番号: 350