VPNを構築する場合、Linuxではその使い易さからよくpptp形式のVPNを利用します。
そこで用いられるのがPoptopというpptpサーバです。VPNサーバでも構築しやすく、ユーザも利用がしやすい方式です。
今回はそのインストールと基本的な構築に関してとなります。
pptpdのインストール
パッケージでインストール可能です。
http://poptop.sourceforge.net/yum/beta/packages/
こちらから最適なパッケージを選びましょう。
uname -a コマンド等で自分のマシンを確認し、合うrpmを選択します。
今回はこちらを選択。
# wget http://poptop.sourceforge.net/yum/beta/packages/pptpd-1.4.0-1.rhel5.i386.rpm
インストール。
# rpm -Uvh pptpd-1.4.0-1.rhel5.i386.rpm 警告: pptpd-1.4.0-1.rhel5.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 862acc42 準備中... ########################################### [100%] 1:pptpd ########################################### [100%]
pptpdの設定
以下が設定ファイルです。
/etc/pptpd.conf
/etc/ppp/options.pptpd
/etc/ppp/chap-secrets
/etc/sysctl.conf
/etc/pptpd.conf
#vi /etc/pptpd.conf connections 10 localip 111.111.111.111 remoteip 192.168.1.150-155
・connections 最大接続数。remoteipのipの数でも最大接続数は絞れます
・localip このVPNサーバのIPを指定
・remoteip VPNクライアント用に割り振りたいIPを設定
/etc/ppp/options.pptpd
#vi /etc/ppp/options.pptpd ms-dns 8.8.8.8 ms-dns 8.8.4.4 mtu 1400
こちらの設定はデフォルトでOKですが、上記のように、DNSとmtuの設定をしておきましょう。
dnsは、8.8.8.8などでOKですし、mtuは、1400でandroidやPCからの接続に問題ありませんでした。
/etc/ppp/chap-secrets
#vi /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses # UN hogehoge * hogehogehoge *
こちらではユーザの設定をします。
clientユーザ名 宛先サーバ パスワード IP addresses の順番で書きます。
※ 実際はユーザもPWも相当長くて複雑に設定してしまうのが良いです。今回は事前にFWで絞っていること前提なので、サーバもIPも全開です。
/etc/sysctl.conf
ipv4転送許可をします。
# vi /etc/sysctl.conf # Controls IP packet forwarding net.ipv4.ip_forward = 1
1に変更。
確認。
# /sbin/sysctl -p net.ipv4.ip_forward = 1
その他懸念事項
・SELinuxを無効にしましょう。
確認
# /usr/sbin/getenforce Enforcing # /usr/sbin/setenforce 0 # /usr/sbin/getenforce Permissive # vi /etc/selinux/config SELINUX=disabled
動的にOFFになっているだけなので、再起動してdisabledにしましょう。
・ログを出す。
ログを使って接続等を確認したければ、/etc/pptpd.confのdebugを有効にします。
#vi /etc/pptpd.conf # TAG: debug # Turns on (more) debugging to syslog # debug
rsyslog.conf(syslog.conf)に”debug”を追記します。
#vi /etc/rsyslog.conf *.=debug;\ news.none;mail.none -/var/log/pptpd
反映
pptpdの再起動で反映させます。
# /etc/init.d/pptpd restart Shutting down pptpd: [ OK ] Starting pptpd: [ OK ] Warning: a pptpd restart does not terminate existing connections, so new connections may be assigned the same IP address and cause unexpected results. Use restart-kill to destroy existing connections during a restart.
FWやルーターの設定で、通しておく事を忘れずに。
接続環境
# /sbin/ifconfig
これで、ppp0をみると接続状態が確認できる。
[amazonjs asin=”4798005231″ locale=”JP” title=”図解・標準 最新VPNハンドブック―Encyclopedia Virtual Private Network ネットワークの基礎知識から、VPN、広域イーサネットまで (図解・標準Encyclopedia)”]
[amazonjs asin=”4899771673″ locale=”JP” title=”OpenVPNで構築する超簡単VPN入門―Windows/Mac OS X/Linux対応”]
参考
以下を参考にさせて頂きました。
CentOS 6.4でPPTP VPNサーバーを構築 – DRY(日本やアメリカで働くエンジニア日記)
http://d.hatena.ne.jp/ke-16/20130329/1364579787