CentOS 5 + MacOS X 10.5でVPN - やってみると意外と簡単
打ち合せに来社したパートナー企業のCEOが、MacBookで自分のオフィスにVPNに接続してファイルを取り出したり、Asteriskで内線電話をかけたりしているのがとても便利そう。彼の会社は市販のルータでVPN接続をして設定も簡単らしい。僕の会社はLinuxサーバーがルータ+Firewallを兼ねているため、そのサーバーに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ツール

前: Xenで仮想サーバー環境を構築する
