2013年9月17日火曜日

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

スズキです。

下記のように設定ファイル(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"はデフォルトで行き来できてしまうのか?(要検証...)
--------
http://www.suz-lab.com

0 コメント: