ユーザ用ツール

サイト用ツール


01_linux:01_net:61_centos_openvpnトンネル接続

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
01_linux:01_net:61_centos_openvpnトンネル接続 [2014/03/10 16:59]
matsui [①設定ファイル修正]
01_linux:01_net:61_centos_openvpnトンネル接続 [2014/03/26 14:10] (現在)
matsui [①設定ファイル修正]
ライン 1: ライン 1:
 +====== 61 CentOS OpenVPNトンネル接続 ======
  
 +事前に [[01_linux:​01_net:​60_centos_openvpn|]] の事前準備が完了している前提です。
 +
 +
 +===== ①設定ファイル修正 =====
 +<code console>
 +# vi /​etc/​openvpn/​server.conf
 +
 +port 1194
 +
 +dev tun ← VPNインタフェースとしてTUNを指定(デフォルト)
 +
 +server 10.8.0.0 255.255.255.0 ← VPNクライアント割当てアドレス範囲として10.8.0.0/​24を指定(デフォルト)
 +
 +push "route 192.168.1.0 255.255.255.0"​ ← 追加(LAN(例:​192.168.1.0/​24)へのルートをVPNサーバー経由にする)
 +push "​dhcp-option DNS 8.8.8.8"​
 +push "​dhcp-option DNS 8.8.4.4"​
 +
 +tls-auth ta.key 0 # This file is secret ← 行頭の;​を削除してコメント解除(TLS認証有効化)
 +
 +user nobody ← 行頭の;​を削除してコメント解除(OpenVPN実行権限を下げる)
 +group nobody ← 行頭の;​を削除してコメント解除(OpenVPN実行権限を下げる)
 +
 +client-to-client
 +
 +log-append ​ /​var/​log/​openvpn.log ← 行頭の;​を削除してコメント解除(ログを/​var/​log/​openvpn.logに記録する)
 +
 +crl-verify /​etc/​openvpn/​crl.pem
 +management localhost 7505 ← 最終行へ追加(管理インタフェースの有効化※後述)
 +</​code>​
 +
 +
 +===== ②OpenVPN用スクリプト用意 =====
 +
 +
 +==== 1.起動時用 ====
 +
 +<code console>
 +# vi /​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へのアクセスを許可する場合
 +# (例としてVPNクライアントから192.168.1.0/​24へのアクセスを許可する場合)
 +# ※192.168.1.0/​24側のファイアウォール等でVPNクライアント(10.8.0.0/​24)からのアクセスを許可すること
 +iptables -I FORWARD -i tun+ -d 172.18.0.0/​24 -j ACCEPT
 +
 +# VPNクライアントからLAN内特定マシンのみへのアクセスを許可する場合
 +# (例としてVPNクライアントから192.168.1.3へのアクセスを許可する場合)
 +# ※192.168.1.3側のファイアウォール等でVPNクライアント(10.8.0.0/​24)からのアクセスを許可すること
 +#iptables -I FORWARD -i tun+ -d 192.168.1.3 -j ACCEPT
 +
 +# VMなどでFORWADが許可されてない場合、ソースNATを利用すると問題無し
 +iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 192.168.1.0/​24 -o eth1 -j SNAT --to-source 192.168.1.3
 +</​code>​
 +
 +
 +==== 2.停止時用 ====
 +<code console>
 +# cat /​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='​O
 +</​code>​
01_linux/01_net/61_centos_openvpnトンネル接続.txt · 最終更新: 2014/03/26 14:10 by matsui

Yesterday:1603 Today:738 Total:07858