SoftLayer PPTP を利 した LAN 間接続環境の設定 (Rev-1.0) 2014 年 2 株式会社シーホース 協栄テックス株式会社
本資料における使 上のご注意事項 1. 本資料の内容は予告なく変更 更新することがあります 2. 本資料に記載された内容は情報の提供のみを 的としたもので 正式に記載各社のテストやレビューを受けておりません 3. 本資料の内容についてできる限り正確を期すよう努めておりますが いかなる明 または暗黙の保証も責任も負いかねます 本資料の情報は ご使 先の責任において活 される情報であることを あらかじめご了承ください 4. 本資料の著作権は 株式会社シーホース及び協栄テックス株式会社が保有しています 5. 本資料へのお問い合わせ 次配布等につきましては 株式会社シーホースまたは協栄テックス株式会社までご連絡ください 6. 本 中にある製品名は各社の商標または登録商標です 7. また developerworks ご利 条件 も併せてご参照ください https://www.ibm.com/developerworks/community/terms?lang=ja 1
次 1. はじめに... 3 2. 導入ステップ概要... 4 3. 導入... 5 3-1.PPTP 設定の有効化 / 接続確認... 5 3-2.PCの準備 /Debian OS の導入... 8 3-3.PPTP クライアントの設定... 10 3-4. ルーター DHCP サーバーの設定... 15 4. 終わりに... 17 2
1. はじめに SoftLayer が提供する Private LAN 側への接続 法は SSL/PPTP/IPSec の合計 3 種類です このうち 無償で利 できるのは SSL と PPTP の 1 セッション (2014 年 2 現在 ) ですが いずれの場合も作業 PC からの接続を想定しているのか 複数デバイス間でデータのやり取りをする場合には少々不便です Public LAN 側から SSH 接続や VPN 接続をする 法ももちろんありますが 提供される IP アドレス数の問題やインターネットにはそもそも接続したくないという要望もあるように思います そこで 今回は費 をかけずに 社内の作業 ネットワークと SoftLayer 側の Private LAN を PPTP で接続する 法 をご紹介します PPTP は IPSec と 較すると暗号強度は劣りますが 低価格の機器でも広く対応しており 社内 LAN などの NAT 環境化でも正常にセッションを張れることが多いのが強みです 今回は 余った低スペックの PC などをソフトルーター化することを前提に Linux ディストリビューションの Debian を利 しました 3
2. 導 ステップ概要 順としては はじめに SoftLayer が提供する管理コンソールで PPTP を有効にし Windows PC から PPTP 接続できることを確認します その後 接続確認を った情報を組み込み PC をソフトルーター化していくような流れとなります 1 PPTP 設定の有効化 / 接続確認 2 PC の準備 /Debian OS 導 3 PPTP クライアントの設定 4 ルーター DHCP サーバーの設定 1 4 の導 ステップを進めていき 最終的に以下の環境を構築します SoftLayer 接続先仮想サーバー インターネット 10.0.0.5 10.0.0.0/27 eth0 自動取得 構築対象 PPTP Server - VPN ゲートウェイ (PPTP クライアント ) - DHCP サーバー ( テスト用 LAN で利用 ) eth1 192.168.50.1 192.168.50.0/24 作業用 PC 4
3. 導 3-1.PPTP 設定の有効化 / 接続確認 PPTP については 初期の段階では接続が有効となっていません このため ポータル画 に接続し PPTP 接続に必要な設定を います A.SoftLayer ポータル https://manage.softlayer.com に接続します B. メニュー画 より [PrivateNetwork] [VPN] を選択します C.VPN 設定画 の PPTP Access 欄にチェックを れ Action 欄の [Update Password] をクリックします 5
D. パスワード 字列を れて 画 下の [Update VPN Password] をクリックします パスワードが所定の要件 ( 字列数や特殊 字の有無等 ) を満たすと 要件左側にチェックが りパスワードが設定されます E. 設定された内容が有効かどうか PCで接続し確認します ( 以下は Windows 7 の例です ) [ プログラムとファイルの検索 ] 欄に VPN のキーワードを し 表 された 仮想プライベートネットワーク (VPN) 接続のセットアップ を選択します インターネットアドレス欄に 接続先のデータセンターを し 任意の VPN 接続名を付けます ( 下記の例の接続先はサンノゼ ) したら [ 次へ ] をクリックします 6
[ 参考 ]2014.2 現在の各 DC PPTP 接続ポイント (SoftLayerポータルより) データセンター接続先 Dallas, TX pptpvpn.dal01.softlayer.com Seattle, WA pptpvpn.sea01.softlayer.com San Jose, CA pptpvpn.sjc01.softlayer.com Washington, DC pptpvpn.wdc01.softlayer.com Amsterdam, NL pptpvpn.ams01.softlayer.com Singapore, SG pptpvpn.sng01.softlayer.com ポータル接続時の認証で利 したユーザー名と 3-1 順 Dで設定したパスワードを し接続します 正常に接続されると 下記のようなメッセージが表 されます うまく接続できない場合は ユーザー名 パスワード 接続ポイントを確認してください また インターネット接続にルーターを利 している場合は ご利 のルーターがVPN(PPTP) パススルーに対応している必要がありますので ご注意ください 7
3-2.PCの準備 /Debian OS の導 PPTP ルーターとして利 する PC を 意します この項では OS をインストールして基本的なネットワーク設定を います 必要のない は 読み ばしてください A.LANの が2つあるPCを 意します 導 するのは 最低限のコンポーネントですので使わなくなった古いPCなどで充分です B. インストールする Debian OS を 意します インストールイメージは http://www.debian.or.jp/ から できます 本資料では 7.4(wheezy) を利 しました C. メディア作成後 PC にセットしインストーラを起動します Graphical Install または Install を選択し [Enter] キーを押します ( 下記からは Graphical Install を選択した例です ) D. 語 ロケーション ネットワーク ディスク設定などを います OS 導 の詳細は割愛しますが GUIインストールが選択できる場合は 設定項 もすべて 本語で表 されるので あまり迷うこともないかと思います 途中でインストールコンポーネントを選択する画 がありますが 今回はルーターとして利 するだけですので 最低限でOKです ルーターとして必要なものは後で追加します デスクトップをご利 の場合は KVM( キーボード / マウス / モニター ) がなくても状態を確認できる SSHサーバーを組み込んでおくと良いかもしれません 8
E. インストールが終わったら ネットワークの設定を います ログインし 特権ユーザーでご の環境に合わせて以下のファイルを書き換えてください # vi /etc/network/interfaces 設定例 ) アダプタ 1 eth0 ( インターネット接続 ) DHCP 接続アダプタ2 eth1 ( 作業 PC 接続 ) 固定 IP 192.168.50.1/24 インターネット側を固定 IPとする場合は IPアドレスの他にデフォルトゲートウェイと DNS の設定が必要です [ ファイル内容 ] auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp #if you want to set default gateway, delete comment-out #gateway xxx.xxx.xxx.xxx auto eth1 iface eth1 inet static address 192.168.50.1 netmask 255.255.255.0 9
DNS の設定が必要な場合は /etc/resolv.conf ファイルを作成します /etc/resolv.conf ファイルの内容 (xxx.xxx.xxx.xxx は DNS サーバーの IP Address です ) nameserver xxx.xxx.xxx.xxx F. 設定を反映させます # /etc/init.d/networking restart 3-3.PPTP クライアントの設定 A. 続けて PPTP クライアント のコンポーネントを追加インストールします # vi /etc/apt/sources.list 最後尾に以下の を追加します deb http://ftp.jp.debian.org/debian/ wheezy main contrib non-free 追加できたら 次のコマンドを実 します #apt-get update # apt-get update 10
Update コマンド終了後 続けて実 します #apt-get install pptp-linux # apt-get install pptp-linux パッケージリストを読み込んでいます... 完了依存関係ツリーを作成しています状態情報を読み取っています... 完了以下のパッケージが新たにインストールされます : pptp-linux アップグレード : 0 個 新規インストール : 1 個 削除 : 0 個 保留 : 0 個 48.3 kb 中 0 B のアーカイブを取得する必要があります この操作後に追加で 131 kb のディスク容量が消費されます 以前に未選択のパッケージ pptp-linux を選択しています ( データベースを読み込んでいます... 現在 133241 個のファイルとディレクトリがインストールされています ) (.../pptp-linux_1.7.2-7_i386.deb から ) pptp-linux を展開しています... man-db のトリガを処理しています... pptp-linux (1.7.2-7) を設定しています... # B. クライアントがインストールされたら PPTP 接続の設定を います 順 3-1Windows PCで ったPPTPパラメータを利 します # pptpsetup --create [VPN 名 ] --server [ 接続先 ] --username [ ユーザー名 ] --password [ パスワード ] --encrypt コマンドは 改 せず してください VPN 名 VPN01 接続先 サンノゼ ユーザー名 AB012345 パスワード xy@z0123 での実 例 # pptpsetup --create VPN01 --server pptpvpn.sjc01.softlayer.com --username AB012345 --password xyz@0123 --encrypt # 11
C. 作成した PPTP 情報で接続できることを確認します # pppd call [VPN 名 ] updetach 順 Bで作成した VPN01での接続例 # pppd call VPN01 updetach Using interface ppp0 Connect: ppp0 <--> /dev/pts/1 CHAP authentication succeeded MPPE 128-bit stateless compression enabled local IP address 10.x.x.x remote IP address 10.x.x.x # D.SoftLayer 側のネットワークに対するルーティングを設定します # route add -net [ 接続先 IP アドレス ] netmask [ ネッマスク ] ppp0 今回の接続例では SolftLayer 側のネットワークが10.0.0.0/27ですので このIP Address をppp0に向けてやります # route add -net 10.0.0.0 netmask 255.255.255.247 ppp0 # E. 接続したいサーバーに ping を打って確認します ([CTRL]+[C] で強制終了させます ) # ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data. 64 bytes from 10.0.0.5: icmp_req=1 ttl=61 time=119 ms 64 bytes from 10.0.0.5: icmp_req=2 ttl=61 time=114 ms 64 bytes from 10.0.0.5: icmp_req=3 ttl=61 time=114 ms ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2027ms rtt min/avg/max/mdev = 114.331/116.141/119.744/2.547 ms # 12
F. 通信が確認できたら 旦 pptp 接続を切断します # pkill pppd G.PPTP が接続されたら 動でルーティングが設定されるようにします routing_softlayer という名前でファイルを作成します # vi /etc/ppp/ip-up.d/routing_softlayer routing_softlayer ファイルの中 #!/bin/sh # PPP リンク時のルーティング追加 ( to SoftLayer Network) /sbin/route add net 10.0.0.0 netmask 255.255.255.247 $PPP_IFACE ファイルを保存したら パーミッションを変更します # chmod 755 /etc/ppp/ip-up.d/routing_softlayer H. 毎回ログインして 接続 / 切断するのは 倒なので起動時に 動で接続するようにします pptp-sl という名前で起動 / 停 ファイルを作成します ( ) # vi /etc/init.d/pptp-sl pptp-slの中 (2 にまたがっているものも 改 なしの 1 で してください ) #!/bin/sh -e # PPP セッションが複数ある場合などは カスタマイズが必要です case "$1" in start) echo "Starting PPP Session..." /usr/sbin/pppd call VPN01 updetach >/dev/null 2>&1 /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE >/dev/null 2>&1 /sbin/iptables-save >/dev/null 2&1;; stop) echo "stopping PPP Session /bin/cat /var/run/ppp0.pid /usr/bin/awk {'print "kill -9 "$1}' /bin/sh >/dev/null 2>&1;; *) echo "Usage: $0 {start stop}" >&2; exit 1 ;; 13
ファイルを保存したら パーミッションを変更します # chmod 755 /etc/init.d/pptp-sl I.Run レベル合わせた起動 / 停 のシンボリックリンクを作成します # update-rc.d pptp-sl defaults 99 1 警告が出ますが 問題ありません これで OSが起動すると SoftLayerに接続できるようになりました # update-rc.d pptp-sl defaults 99 1 update-rc.d: using dependency based boot sequencing insserv: warning: script 'pptp-sl' missing LSB tags and overrides # ppp-sl ファイルには eth1 側のネットワークから ppp0 インターフェースを介し SoftLayer 側に向かう通信に対する IP マスカレード設定も同時に れてあります ファイルの内容は変更する必要がありませんので そのままご利 ください 14
3-4. ルーター DHCP サーバーの設定最後に LAN 上から設定した PC を通じて SoftLayer 側と通信できるよう IP ルーティングと DHCP サーバーの設定を います A.IP フォワードの設定 # vi /etc/sysctl.conf デフォルトでは IP フォワーディングは 無効 となっているので 最終 に設定を追加します net.ipv4.ip_forward=1 B.DHCP サーバーのコンポーネントをインストールします # apt-get install udhcpd # apt-get install udhcpd パッケージリストを読み込んでいます... 完了依存関係ツリーを作成しています状態情報を読み取っています... 完了以下のパッケージが新たにインストールされます : udhcpd アップグレード : 0 個 新規インストール : 1 個 削除 : 0 個 保留 : 0 個 21.5 kb のアーカイブを取得する必要があります この操作後に追加で 24.6 kb のディスク容量が消費されます 取得 :1 http://ftp.jp.debian.org/debian/ wheezy/main udhcpd i386 1:1.20.0-7 [21.5 kb] 21.5 kb を 0 秒で取得しました (42.2 kb/s) 以前に未選択のパッケージ udhcpd を選択しています ( データベースを読み込んでいます... 現在 133257 個のファイルとディレクトリがインストールされています ) (.../udhcpd_1%3a1.20.0-7_i386.deb から ) udhcpd を展開しています... man-db のトリガを処理しています... udhcpd (1:1.20.0-7) を設定しています... udhcpd: Disabled. Edit /etc/default/udhcpd to enable it. # 15
C. インストールされたら IP アドレスの割り当て ( リース範囲 ) などを設定します # vi /etc/udhcpd.conf 下記のサンプルを参考に 必要な箇所を変更します # The start and end of the IP lease block start 192.168.50.100 # リース開始 IP Address end 192.168.50.199 # リース終了 IP Address # The interface that udhcpd will use interface eth1 # DHCP を有効にするネットワークカード # Options opt dns 192.168.50.254 # DNSサーバー opt subnet 255.255.255.0 # サブネット opt router 192.168.50.254 # デフォルトゲートウェイ option lease 864000 # IP アドレスのリース時間 (10 間 / 単位 :sec) E.DHCP サーバーが有効にとなるよう設定を変更します # vi /etc/default/udhcpd 下記の no を yes に書き換えます # Comment the following line to enable DHCPD_ENABLED="no F. 終わったら 保存してします DHCP デーモンを起動させればそのまま使えますが 念のため 度再起動してください これで作業は終了です 再起動後は ネットワークに接続した作業 PCから接続できることが確認頂けると思います 16
4. 終わりにいかがでしたでしょうか? 今後も SoftLayer サービスを便利に利 するためのネットワーク TIPS を中 に 皆さんにお役に てそうな情報を発信していきたいと考えています 最後までお読みいただき ありがとうございました 誤字脱字などなにかございましたらこちらまでお願いいたします 株式会社シーホース 村北光明 m.murakita@seahorse-inc.com 協栄テックス株式会社 藤崇史 t.kudo@kyoueitecs.co.jp 17