「複数クライアント対応OpenVPNの構築」の版間の差分
ナビゲーションに移動
検索に移動
(stub化) |
(初版) |
||
1行目: | 1行目: | ||
− | |||
== はじめに == | == はじめに == | ||
− | + | このページには、複数のクライアントから接続ができるOpenVPNサーバと、そのクライアントの構築概要を記載する。 | |
− | + | 公開鍵・秘密鍵を使った認証。 | |
== 参考文献 == | == 参考文献 == | ||
− | + | # 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サーバと、そのクライアントの構築概要を記載する。 公開鍵・秘密鍵を使った認証。
参考文献
認証局(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