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 ...
随机推荐
- 安装Ubuntu16.04与windows10双系统后,如何修改启动默认设置
在安装了Ubuntu16.04系统之后,系统会默认自启动Ubuntu16.04,而我们大多数情况下可能都在使用windows系统,不修改默认设置,不经意间便会启动了Ubuntu16.04,通过我的经历 ...
- java-方法重写和方法重载的区别
1.方法重载: - 英文:Overload - 可以改变返回值类型,只看参数列表. - 本类中出现的方法名一样,参数列表不同的方法,与返回值类型无关. 2.方法重写: - 英文:Override - ...
- tomcat7简单优化
生产环境下我们不应该使用root用户开启tomcat服务,所以为了安全起见,我们创建一个用户tomcat useradd tomcat passwd tomcat(密码也设为tomcat) 编辑tom ...
- <--------------------------Java接口如何使用------------------------------>
关键词:interface --->接口 implements--->实现 1接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应 ...
- java_oop_类与对象
类与对象包方法 ========================================= 对象的概念类与对象的关系 万物皆对象 属性(名词) 对象的 ...
- openstack--1--基础环境搭建
Openstack介绍 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. Openstack包含三大项 ...
- C# 线程:定时器的使用
转载请注明出处:http://www.cnblogs.com/KeenLeung/p/3911556.html Timer类:设置一个定时器,定时执行用户指定的函数. 定时器启动后,系统将自动建立一个 ...
- js将网址转为二维码并下载图片
将一个网址转为二维码, 下面可以添加文字, 还提供下载功能 利用的是 GitHub上面的qrcode.js 和canvas <!DOCTYPE html> <html> < ...
- Eclipse设置自动提示(转)
一.Eclipse编辑Spring配置文件xml时自动提示类class包名 链接:http://blog.csdn.net/hh775313602/article/details/70176531 第 ...
- jmeter分布式测试的坑
转 : jmeter分布式测试的坑 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出 ...