月別アーカイブ: 2013年12月




CentOSにVPNサーバ(pptp)を構築




投稿日:

VPNを構築する場合、Linuxではその使い易さからよくpptp形式のVPNを利用します。
そこで用いられるのがPoptopというpptpサーバです。VPNサーバでも構築しやすく、ユーザも利用がしやすい方式です。
今回はそのインストールと基本的な構築に関してとなります。


pptpdのインストール

パッケージでインストール可能です。

http://poptop.sourceforge.net/yum/beta/packages/
こちらから最適なパッケージを選びましょう。

uname -a コマンド等で自分のマシンを確認し、合うrpmを選択します。


今回はこちらを選択。
[html]# wget http://poptop.sourceforge.net/yum/beta/packages/pptpd-1.4.0-1.rhel5.i386.rpm[/html]

インストール。
[html]# 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%]
[/html]


pptpdの設定

以下が設定ファイルです。

/etc/pptpd.conf
/etc/ppp/options.pptpd
/etc/ppp/chap-secrets
/etc/sysctl.conf

/etc/pptpd.conf

[html]#vi /etc/pptpd.conf

connections 10
localip 111.111.111.111
remoteip 192.168.1.150-155
[/html]
・connections 最大接続数。remoteipのipの数でも最大接続数は絞れます
・localip このVPNサーバのIPを指定
・remoteip VPNクライアント用に割り振りたいIPを設定


/etc/ppp/options.pptpd

[html]#vi /etc/ppp/options.pptpd

ms-dns 8.8.8.8
ms-dns 8.8.4.4
mtu 1400
[/html]
こちらの設定はデフォルトでOKですが、上記のように、DNSとmtuの設定をしておきましょう。
dnsは、8.8.8.8などでOKですし、mtuは、1400でandroidやPCからの接続に問題ありませんでした。



/etc/ppp/chap-secrets

[html]#vi /etc/ppp/chap-secrets

# Secrets for authentication using CHAP
# client server secret IP addresses
# UN
hogehoge * hogehogehoge *
[/html]
こちらではユーザの設定をします。
clientユーザ名 宛先サーバ  パスワード IP addresses の順番で書きます。
※ 実際はユーザもPWも相当長くて複雑に設定してしまうのが良いです。今回は事前にFWで絞っていること前提なので、サーバもIPも全開です。


/etc/sysctl.conf

ipv4転送許可をします。
[html]# vi /etc/sysctl.conf

# Controls IP packet forwarding
net.ipv4.ip_forward = 1[/html]

1に変更。

確認。
[html]# /sbin/sysctl -p
net.ipv4.ip_forward = 1
[/html]


その他懸念事項

・SELinuxを無効にしましょう。

確認
[html]# /usr/sbin/getenforce
Enforcing

# /usr/sbin/setenforce 0
# /usr/sbin/getenforce
Permissive

# vi /etc/selinux/config
SELINUX=disabled[/html]

動的にOFFになっているだけなので、再起動してdisabledにしましょう。


・ログを出す。

ログを使って接続等を確認したければ、/etc/pptpd.confのdebugを有効にします。

[html]#vi /etc/pptpd.conf

# TAG: debug
# Turns on (more) debugging to syslog
#
debug
[/html]

rsyslog.conf(syslog.conf)に”debug”を追記します。

[html]#vi /etc/rsyslog.conf

*.=debug;\
news.none;mail.none -/var/log/pptpd
[/html]



反映

pptpdの再起動で反映させます。
[html]# /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.
[/html]


FWやルーターの設定で、通しておく事を忘れずに。


接続環境

[html]# /sbin/ifconfig[/html]

これで、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