Litao OK Blog

A little blog for my life.

CentOS 6.x 安装PPTP VPN

一、安装PPTPd

yum默认不能直接安装pptpd,只能装pptp

先装yum源:

1
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

然后再手工安装

1
yum -y install pptpd

二、配置文件

  1. 文件 /etc/pptpd.conf
1
2
3
4
option /etc/ppp/options.pptpd
logwtmp
localip 10.10.20.1
remoteip 10.10.20.100-150
  1. 文件/etc/ppp/options.pptpd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name pptpd

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

ms-dns 8.8.8.8
ms-dns 8.8.4.4

proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
  1. 文件 /etc/ppp/chap-secrets
1
2
这是账号文件,注意格式:
test    *    testpassword    *

三、重要的网络设置

前面两步很简单,经常配置好可以连接VPN,但是不能上网,一般来说都是网络设置问题。

  1. 内核参数修改 /etc/sysctl.conf
1
2
3
4
5
6
7
net.ipv4.ip_forward=1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_max = 1048576

修改完要执行sysctl -p使之生效。

  1. 网络软件防火墙设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -p tcp --syn -s 10.10.20.0/24 -j TCPMSS --set-mss 1356

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.10.20.0/24 -j SNAT --to-source 106.187.103.132
iptables -P INPUT DROP

/etc/init.d/iptables save
  1. 测试VPN