CentOS でPoptop pptpd を使ってPPTP サーバにする手順の紹介。

パッケージは、公式リポジトリ(beta)に転がっている物を利用する。

# rpm -ivh http://poptop.sourceforge.net/yum/beta/packages/pptpd-1.3.4-2.el6.x86_64.rpm

PPTP の終端をこのマシンで行い、
端末に割り当てるIPはマシンのネットワークから10台分(4オクテット目が240-249)
端末に割り当てる参照DNSサーバはこのマシン、
MTU は1350(WiMAX対策)
許可するユーザー:パスワードは、user:hogehoge に設定する例。

# bash
# . /etc/sysconfig/network-scripts/ifcfg-eth0
# echo "localip ${IPADDR}" >> /etc/pptpd.conf
# echo "remoteip "`awk -F. '{OFS=".";print $1,$2,$3,"240-249"}' <<< $IPADDR` >> /etc/pptpd.conf
# mv /etc/ppp/options.pptpd /etc/ppp/options.pptpd
# cat <<EOF > /etc/ppp/options.pptpd
>name pptpd
>refuse-pap
>refuse-chap
>refuse-mschap
>require-mschap-v2
>require-mppe-128
>ms-dns ${IPADDR}
>nodefaultroute
>lock
>nobsdcomp
>mtu 1350
>EOF
# echo -e "user\tpptpd\thogehoge\t*" >> /etc/ppp/chap-secrets

このRPM で入るpptpd はlibwrap をリンクしているので、
/etc/hosts.deny で色々拒否している場合は、
/etc/hosts.allow に適切なACL を書いてやる必要がある。
たとえば、正逆の名前が一致した端末に接続を許可する場合はこんな感じ。

echo "pptpd: KNOWN" >> /etc/hosts.allow

iptables で色々弾いてる場合は、pptp(tcp/1723)とGRE(47)を許可しておく。

iptables -A INPUT tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p 47 -j ACCEPT

ブロードバンドルータの下の人は静的NATの設定やフィルタの設定を見直しておく。
pptp(tcp/1723), GRE(47)がPPTP サーバに向いているかを確認する。

サービスを開始したら、端末から接続試験を行う。

service pptpd start && chkconfig pptpd on

Windows で接続に成功したら、念のためスマートフォンなどからも確認しておくといいだろう。
接続エラーになる場合は、ルータやフィルタの設定、サービスの設定、起動確認を実施する。

Linuxネットワーク管理 第3版Linuxネットワーク管理 第3版
Tony Bautts Terry Dawson Gregor N. Purdy 高橋 浩和 (監訳)

オライリージャパン 2005-11-17
売り上げランキング : 126018

Amazonで詳しく見る
by G-Tools