share facebook facebook2 twitter menu hatena pocket slack

2013.09.19 THU

CentOS6で複数のOpenVPN(プロセス/ポート)を起動する

鈴木 宏康

WRITTEN BY鈴木 宏康

スズキです。

下記のように設定ファイル(server-11940.conf/server-11941.conf)を複数作成すると、


# ls -1 /etc/openvpn/
auth
ca.crt
dh1024.pem
server-11940.conf
server-11941.conf
server.crt
server.key

“/etc/init.d/openvpn”実行時に、設定ファイルの数だけ繰り返し起動されます。
(設定ファイルの数だけ起動スクリプトをコピーしようと思っていたのですが助かりました)

下記のように設定ファイルの差分は起動するポートとクライアントに割り当てるネットワークアドレスになります。


# diff server-11940.conf server-11941.conf
2c2
< port 11940
---
> port 11941
10c10
< server 192.168.0.0 255.255.255.0
---
> server 192.168.1.0 255.255.255.0

ちなみに今回の設定ファイル全体は下記のようにしています。


# cat server-11940.conf
local 10.0.0.4
port 11940
proto tcp
dev tun
dh dh1024.pem
ca ca.crt
cert server.crt
key server.key
keepalive 10 120
server 192.168.0.0 255.255.255.0
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf"
push "route 10.0.0.0 255.255.0.0"
verb 3
client-cert-not-required
username-as-common-name

※OpenLDAPで認証(ユーザー/パスワード)するようにしています。

ネットワークインターフェースを確認すると、下記のように二つの”tun”が確認できます。


# ifconfig -a
...

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.0.1 P-t-P:192.168.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.1 P-t-P:192.168.1.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

リッスンしているポートを確認すると、こちらも設定ファイルで定義した二つのポートを確認することができます。


# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
...
tcp 0 0 10.0.4.73:11940 0.0.0.0:* LISTEN 30697/openvpn
tcp 0 0 10.0.4.73:11941 0.0.0.0:* LISTEN 30708/openvpn

“tun0″と”tun1″はデフォルトで行き来できてしまうのか?(検証の必要がありそうです)

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。