CenOS下搭建PPTP服务
公司生产环境使用的是阿里云主机,采用的是两台nginx主机进行反向代理,现在需要内网一台服务器能够访问公网,所以在nginx服务器上搭建了VPN服务,用于进行内网访问公网。
系统环境:CenOS 6.5
所需软件软件:ppp、pptp
系统拓扑:

服务器端:
1 服务器端安装软件
1.1 首先安装ppp,命令:
[root@kuro ~]#yum install -y ppp*
提示Complete! ,安装成功;
1.2安装pptp,安装命令如下:
[root@kuro ~]#yum install –y pptpd*
2 配置pptp
2.1编辑/etc/pptpd.conf,命令如下
[root@kuro ~]#vi /etc/pptpd.conf
将
#localip 192.168.0.1
#remoteip 192.168.0.234-,192.168.0.245
修改成
localip 192.168.1.10
remoteip 192.168.1.234-,192.168.1.245
即将这两行第一个字符“#”去掉,保存退出
localip填写VPN服务器本地内网ip
remoteip填写的是要分配给VPN客户端的地址池
2.2编辑/etc/ppp/options.pptpd,命令如下
[root@kuro ~]#vi /etc/ppp/options.pptpd
将
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
改成
ms-dns 10.202.72.116
ms-dns 10.202.72.116
即将这两行第一个字符“#”去掉,而后修改DNS的IP(本处使用的是阿里云默认dns)。
2.3设置使用pptp的用户名和密码
命令:
[root@kuro ~]#vi /etc/ppp/chap-secrets
打开后只有两行,而且一个账号都没有
# Secrets for authentication using CHAP
# client server secret IP addresses
根据您的需要添加账号,每行一个。按照:“用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,
例如:
kuro pptpd * *表示所有IP test pptpd 192.168.1.234 还可以指定静态ip(192.168.1.234),表示使用test账号登录的用户就分配指定的静态ip(192.168.1.234)给客户端
保存并退出。
3 修改内核设置,使其支持转发
命令:
[root@kuro ~]#vi /etc/sysctl.conf
将net.ipv4.ip_forward=
改成net.ipv4.ip_forward=
将net.ipv4.tcp_syncookies=
改成 #net.ipv4.tcp_syncookies=
保存并退出
执行以下命令使修改后的内核生效
[root@kuro ~]#sysctl -p
4 添加iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.1.0/ -o eth1 -jMASQUERADE
(注意:由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0,这也是为什么很多杂乱的教程无法配置成功的原因之一)
添加好转发规则后保存一下并重启iptables
[root@kuro ~]#/etc/init.d/iptables save
[root@kuro ~]#/etc/init.d/iptablesrestart
5 重启pptp服务
[root@kuro ~]#/etc/init.d/pptpd restart
这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。
6 设置pptp和iptables随系统启动
[root@kuro ~]#chkconfig pptpd on
[root@kuro ~]#chkconfig iptables on
至此,pptp服务端安装结束。
7 FAQ
/var/log/messages日志中出现下面的错误,如何解决?
错误日志内容:from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
解决办法:
修改 /etc/pptpd.conf 文件,注释掉logwtmp 这行,重启pptpd服务。
1. #logwtmp
2. # /etc/init.d/pptpd restart
再次尝试连接vpn客户端,可以成功验证用户和口令了。
客户端:
1、确认是否安装ppp
#rpm -qa | grep ppp
如果没有,需要安装ppp的rpm,CentOS光盘中有
#yum install ppp* -y
2、安装客户端pptd
#yum install pptp* -y
3、配置
配置命令模板:
pptpsetup --create tunnelname --server xxx.xxx.xxx.xxx--username 用户名 --password 密码
然后使用pptpsetup命令建立拨号连接:
pptpsetup --create test --server x.x.x.x --username vpnusername --password xxx
这样会生成一个名为test的vpn拨号账号, 然后编辑账号配置文件:
vi /etc/ppp/peers/test # written by pptpsetup pty "pptp xxx.xxx.xxx --nolaunchpppd" lock noauth nobsdcomp nodeflate name vpnusername remotename test ipparam test defaultroute #使用本连接作为默认路由 persist #当连接丢失时让pppd再次拨号 require-mppe- refuse-pap refuse-chap refuse-eap refuse-mschap 改为以上内容 或者将ipparam test下面的 改为一句 file /etc/ppp/options.pptp
4、连接
# pppd call tunnelname
ifconfig 可以看到 vpn连接ppp0出来了.
5、 断开
# killall pppd
6、注意事项
在处理路由的时候采用client to lan方式,需要增加对方lan的路由或者目标网络的路由.
# route add -net 0.0.0.0 dev ppp0
CenOS下搭建PPTP服务的更多相关文章
- CenOS下搭建VPN服务
公司生产环境使用的是阿里云主机,采用的是两台nginx主机进行反向代理,现在需要内网一台服务器能够访问公网,所以在nginx服务器上搭建了VPN服务,用于进行内网访问公网. 系统环境:CenOS 6. ...
- 如何在Windows Server 2008 R2下搭建FTP服务
在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验 ...
- Ubuntu14.04下搭建VPN服务 -pptp
在Ubantu下采用PPTP搭建VPN,优点是配置简单快捷.本教程亲自测试,熟练了在新机器上5分钟搞定VPN. - - - - - - - - - - - - - - - - - - - - - - ...
- Linux下搭建ftp服务
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...
- 00004 - CentOS 7下安装pptp服务端
主要配置步骤 1. 安装前检查系统支持 a. 在安装之前查看系统是否支持PPTP modprobe ppp-compress-18 && echo success 应该输出:succe ...
- CentOS 7下安装pptp服务端手记 ok
主要配置步骤 1. 安装前检查系统支持 2. 安装必要包 3. 修改相关配置文件 4. 设置开机自动启动 pptpd, iptables 5. iptables配置网络 6. 阿里云ECS可能还需要几 ...
- windows server2008下搭建ftp服务
在工作中不光使用linux系统下的ftp服务,也得使用windows下的,今天领导让我做一个,踩了很多坑,终于是做完了,重现下过程,我们就来一步一步搭建我们的windows下的ftp服务器: 1.环境 ...
- linux下搭建DHCP服务
一键搭建dhcpd服务脚本 [root@dhcp-server~]# cat auto_install_dhcpd.sh #!/bin/sh . /etc/init.d/functions #安装dh ...
- windows 下搭建 MQTT 服务
1.首先搭建起MQTT服务 1.1安装mosquitto,mosquitto是开源的MQTT代理服务器,它的Windows安装包地址:https://mosquitto.org/download/ 1 ...
随机推荐
- Unity跳转场景进度条制作教程(异步加载)
Unity跳转场景进度条制作 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...
- day python calss08 深浅copy
一 join (格式: . join) 遍历列表把列表中的每一项用指定符号进行拼接.(把列表转成字符串0 # lst = ["汪峰", "吴君如", &q ...
- 斐波那契 - pythoon实现
def fn_1(n): if n == 0 : return n elif n == 1 : return n else: a = [0,1] for i in range(2,n): a.appe ...
- Python数据结构与算法(排序)
https://www.cnblogs.com/fwl8888/p/9315730.html
- 《DSP using MATLAB》Problem 5.37
证明过程: 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- hdu4565 So Easy! 矩阵快速幂
A sequence Sn is defined as: Where a, b, n, m are positive integers.┌x┐is the ceil of x. For example ...
- struts2拦截器执行模拟 参考马士兵老师
public class ActionProxy { public static void main(String[] args) { //模拟ActionProxy调用invoke()方法 Acti ...
- NPOI之Excel——设置单元格背景色
NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillP ...
- 谈谈 SOA
为什么要 讨论 SOA 呢 ? 请参考我写的另一篇文章 <论 微服务 和 Entity Framework 对 数据 的 割裂> https://www.cnblogs.com/KS ...
- dubbo的三种运行方式
1.Tomcat容器内启动 pom.xml 文件中 <build> <resources> <resource> <directory>src/main ...