实验环境:
操作系统:centos6.5
ip:192.168.0.2
一、检查机器是否支持pptp
如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:
①
cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
②
检查PPP是否支持MPPE
用以下命令检查PPP是否支持MPPE:
strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密。
二、安装ppp和iptables
yum install -y ppp iptables
三、安装pptp
有两种方法,第一种是rpm包安装,第二种yum装
1,RPM包安装
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
目前这个安装包已经失效了,需要自己上网上找到下载源
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
可能存在依赖关系,缺什么包用yum的方式安装即可
2,yum安装
yum install epel-release
yum install pptpd
四 配置pptp
vim /etc/pptpd.conf
option /etc/ppp/options.pptpd logwtmp localip 192.168.0.2 remoteip 192.168.1.100-250
localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间。这里我们使用pptp默认的配置,localip和remoteip通常不使用同一网段ip
vim /etc/ppp/options.pptpd
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp lock nobsdcomp novj novjccomp nologfd ms-dns 202.106.0.20 ms-dns 8.8.8.8
设置pptp账号密码
vi /etc/ppp/chap-secrets
按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码
test123 pptpd 123456 *
也可以通过命令添加命令账号密码
***user add test123 123456
五,修改内核参数
vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1,变成下面的形式:
net.ipv4.ip_forward=1
保存退出,并执行下面的命令来生效它:
sysctl -p
六 添加防火墙规则
vim /etc/sysconfig/iptabes
修改为如下内容
*filter :INPUT ACCEPT [464:40231] :FORWARD ACCEPT [246:14842] :OUTPUT ACCEPT [306:27536] -P INPUT DROP -P OUTPUT DROP -A INPUT -m state --state INVALID -j DROP -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp --dport 1723 -m state --state NEW -j ACCEPT -A INPUT -p udp --dport 1723 -m state --state NEW -j ACCEPT -A INPUT -i eth0 -p tcp --dport 9876 --syn -m state --state NEW -j ACCEPT -A INPUT -i eth0 -p icmp --icmp-type echo-request -j ACCEPT -A INPUT -i lo -j ACCEPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A OUTPUT -m state --state INVALID -j DROP -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT -o eth0 -p tcp --dport 9876 --syn -m state --state NEW -j ACCEPT COMMIT # Completed on Fri Jan 3 14:15:57 2014 # Generated by iptables-save v1.4.7 on Fri Jan 3 14:15:57 2014 *nat :PREROUTING ACCEPT [9:531] :POSTROUTING ACCEPT [7:431] :OUTPUT ACCEPT [0:0] -A POSTROUTING -s 192.168.235.0/23 -o eth0 -j MASQUERADE -A POSTROUTING -o eth0 -j MASQUERADE COMMIT
保存防火墙规则
/etc/init.d/iptables save
重启防火墙
/etc/init.d/iptables restart
七 重启pptp服务,设置开机自启动
/etc/init.d/ipttables restart
chkconfig pptpd on
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.
上面这句话的意思是说:×××服务在重启时,不能终止已存在的×××连接,所以可能会造成重启×××服务后,分配相同的IP地址给后来连接的×××客户机。为了解决以上问题,在停止×××服务时,可以使用命令
service pptpd restart-kill
断开所有已存在的×××连接,然后使用命令
service pptpd start
重新启动×××服务。
pptp端口号1723
***搭建已经完成
测试环境可以测试了
生产环境下,需要设置相应路由器和防火墙规则后即可。
转载于:https://blog.51cto.com/neutron/1740848