パーソナルツール
現在の場所: ホーム Computing CentOS 5 + MacOS X 10.5でVPN - やってみると意外と簡単
 

CentOS 5 + MacOS X 10.5でVPN - やってみると意外と簡単

作成者 Shigeo Honda at 2008年06月29日 11時55分 |
Filed under: ,

打ち合せに来社したパートナー企業のCEOが、MacBookで自分のオフィスにVPNに接続してファイルを取り出したり、Asteriskで内線電話をかけたりしているのがとても便利そう。彼の会社は市販のルータでVPN接続をして設定も簡単らしい。僕の会社はLinuxサーバーがルータ+Firewallを兼ねているため、そのサーバーにVPNを設定する必要がある。気分転換にトライしてみた。

CentOS 5 + MacOS X 10.5でVPN  - やってみると意外と簡単

VPNを選択

実は数年前に一度VPNを試したことがあるのだが、そのときはなんだかとても複雑で何種類ものツールをコンパイルしたり設定したりがうまく行かずギブアップしてしてしまった。さて、今どうなっているかというと、日本語で読めるインストール紹介のブログも多く。それほど苦労せずに3時間ほどで設定を終えることができた。

まずはルールを決める

社内で使用しているサーバーやDHCPの割り当てと衝突しないように、外部からVPNで接続するIP帯を決め、重複しないようにDHCPの割り当て範囲も調整しておく。例えばこんな風に。外部から接続する台数が多いのなら割り当てを増やしておく。

  • 社内割り当てIP 192.168.1.1-170,192.168.1,200-254
  • 外部からの接続に割り当てるIP 192.168.1.180-189

VPNサーバーをインストール

CentOS 5.1の場合はまずpppのRPMが入っているか確認。ないときはyumでインストール。次にpptpdのパッケージを次から入手する。

環境に応じて、i386版、x86_64版を選択すること。

  • http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
  • http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

各種設定

以下の設定ファイルを用意する。

/etc/pptpd.conf に最後の部分に前記のIPの割り当てを記載。

localip 192.168.1.1-170,192.168.1,200-254
remoteip 192.168.1.180-189

/etc/ppp/options.pptpdに接続するサーバー名を記載する。

# Authentication
# Name of the local system for authentication purposes 
# (must match the second field in /etc/ppp/chap-secrets entries)
#name pptpd
name vpn.example.com 

/etc/ppp/chap-secretsにログインするユーザー名、前記のVPNサーバー名、パスワード、IPアドレスを記載する。外出先から接続したいので、IPアドレスは「*」として制限を設けないでおく。

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
username  vpn.example.com  password  *

ここまで設定したら、pptpdを起動する。

#service ppptpd start

Firewall設定

最後に悩んだのがFirewallの設定。そのサーバーではFirestarterというツールを使っているのだが、これが標準ではVPNの設定に対応していない。そこで複数のサイトを参考にさせていただいて、/etc/firestarter/useruser-preに以下にVPNで使用するポートを許可する指定を加えて再起動する。

### Allow TCP/IP 1723 port
$IPT -t filter -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT

### Allow GRE/IP (Protocol number 47)
$IPT -t filter -A INPUT -i eth0 -p 47 -j ACCEPT

### Allow all packets from PPTP interface
$IPT -t filter -A INPUT -i ppp+ -j ACCEPT
$IPT -t filter -A FORWARD -i ppp+ -j ACCEPT

MacOS 10.5の設定

Macintosh側は、「システム環境設定」→「ネットワーク」としたら、接続一覧の下の「+」マークを押して、「インターフェース」から「VPN」を選び「VPNタイプ」を「PPTP」にして新しいインターフェースを作る(図参照)。そうしたら、前記の/etc/ppp/options.pptpdに記載した「サーバーアドレス」と/etc/ppp/chap-secretsに記載したユーザー名を入力。「認証設定」から「パスワード」を選択して決めたパスワードを入れておく。

あとは、WiFiやe-mobileなどでインターネット接続してから、VPNの「接続」でログインする。これで外出先で社内サーバーや自分のMacから書類を取り出したり、社内ネットワーク上のメールサーバーからメールを受信したりできるようになる。とても便利。

○参考サイト
CentOS で VPN 構築
LINUXでPPTPを用いたVPNサーバを構築する
Firestarter GUIツール