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 3D反射探针 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...
- 安卓与Unity交互之-Android Studio创建Module库模块教程
安卓开发工具创建Module库 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...
- 多点搜的bfs
Problem L. 跑图Time limit: 1000msMemory limit: 65536KBDescription跑图是 RPG 游戏中很烦躁的事情.玩家需要跑到距离他最近的传送点的位置. ...
- 压缩文件破解rarcrack-支持格式zip,rar和7z
Kali上没有,需要自己安装 apt-get install rarcrack 安装成功后, 新建一个文本文档,元素: <?xml version="1.0" encodin ...
- C语言--第一周作业评分和总结(5班)
作业链接:https://egdu.cnblogs.com/campus/hljkj/CS2017-5/homework/963 一.评分要求 * 要求1 (5分):博客中给出安装软件的截图(得分点1 ...
- FZU软工第六次作业-团队选题报告
作业链接 队长博客:陈晓彬 团队选题报告 选题报告PPT 原型展示 前言 经过团队的讨论,我们对自己的选题进行了项目立意的进一步确定,后面有项目来源.同时,我们将自己的APP的名字改成了"一 ...
- FZU软工第四次作业-团队介绍
目录 团队展示----旅法师 团队成员 队名----旅法师 拟作的团队项目描述 队员风采 团队首次合照 团队的特色描述 团队展示----旅法师 本次作业链接 团队成员 031602305 陈玮 031 ...
- (8)Python连接操作MySQL
pymysql模块下的方法 '''必须实例化对象才能建立连接''' 1.pymysql.connect #和MySQL建立连接 '''得由对象去调用定义游标''' 2.xxx.sursor() # ...
- 【HDOJ4635】【Tarjan缩点+思维】【经典】
http://acm.hdu.edu.cn/showproblem.php?pid=4635 Strongly connected Time Limit: 2000/1000 MS (Java/Oth ...
- webpack执行命令参数
在webpack执行命令之后可以添加一些参数,这些参数都有自己的作用,下面是参数列表: $ webpack --config XXX.js //使用另一份配置文件(比如webpack.config2. ...