2013年3月26日火曜日

PPTPでVPNサーバ構築

自宅のネットワークに外部からアクセスするためにVPNを導入します(`・ω・´)
iPhoneやiPadでも使いたい。 & 簡単に導入したい。のでPPTPでVPNサーバを構築します。

※注意
PPTPで用いられている認証プロトコルはクラックされています(ここ参照)
ただ,iPhoneなどで気軽に使えるVPNサーバは,PPTPだけといっても過言ではないので,これを使います。
iPhoneをjailbreakしてOpenVPNを入れれば,話は別ですが。。

PPTPのインストール

sudo apt-get install pptpd

pptpdの設定

ここでは,以下ように動作するように設定をしていきます.
・VPNサーバのIP:192.168.0.11
・クライアントに割り振られるIP:192.168.0.201~210
・ログインユーザ名:hoge
・ログインパス:hogepass
sudo vim /etc/pptpd.conf
以下を追加
# VPNサーバを動かすPCのIPアドレス
localip 192.168.0.11
# VPNでアクセスしてきたクライアントのIPアドレス
remoteip 192.168.0.201-210


sudo vim /etc/ppp/ptpd-options 
以下を追加
ms-dns 10.0.1.1
noipx
mtu 1490
mru 1490

pptpdでアクセスするユーザを登録

複数のユーザを設定したい場合は,ここに複数記述するのかな?
sudo vim /etc/ppp/chap-secrets

以下を追加
hoge * hogepass *

その他の設定

・IPフォワーディング
sudo vim /etc/sysctl.conf

コメントアウトされているので,有効化(頭に付いている#を消す
net.ipv4.ip_forward=1
・ファイヤーウォール
以前設定したfirewall.shに追加する。
sshの設定の下辺がいいかなー。
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p 47 -j ACCEPT
iptables -A OUTPUT -p 47 -j ACCEPT
iptables -A INPUT -i ppp+ -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
・設定の有効化
sudo reboot

これでOK!iPhoneやPCから接続できるか確認。

外部からのアクセスは,ルータの設定が必要!
・ルータのPPTPパススルーを許可する
・プロトコルの47番(GRE)とTCPの1723番のポートをVPNサーバに開放する



0 件のコメント:

コメントを投稿