热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS上面跑pptpd实现VPN服务

购买一个便宜的VPS,安装linux系统,上面跑pptpd实现VPN服务,同时配合著名的iptables进行nat转发,这样一个貌似专业的VPN服务就起来了。再进行用户名密码配置,就可以实现多人共享的vpn了简单步骤如下:1买vps5.99$/yearhttps://bandwagonhost.com/aff.php?aff=1018
购买一个便宜的VPS,安装linux系统,上面跑pptpd实现VPN服务,同时配合著名的iptables进行nat转发,这样一个貌似专业的VPN服务就起来了。再进行用户名密码配置,就可以实现多人共享的vpn了
简单步骤如下:
1 买vps 5.99$/year   https://bandwagonhost.com/aff.php?aff=1018
_________________________________________________
2 装centos5 linux  步骤略
_________________________________________________
3  安装pptpd并 ,步骤如下
   wget http://www.diahosting.com/dload/pptpd.sh     #下载安装脚本
  sh pptpd.sh    #执行此脚本,会自动下载相应rpm
  rpm -ivh ppp-2.4.4-9.0.rhel5.i386.rpm   #安装ppp,因为pptpd依赖该包
  rpm -ivh  pptpd-1.3.4-1.rhel5.1.i386.rpm #安装pptpd 
_________________________________________________
4 配置pptpd
 编辑 /etc/pptpd.conf 加入下面两行
localip 192.168.0.2   #vpn服务ip
remoteip 192.168.0.234-238  #vpn客户端ip自动分配范围
编辑/etc/ppp/chap-secrets 添加用户abc 密码123
abc pptpd "123" *
修改DNS服务器,编辑/etc/ppp/options,添加如下内容:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
编辑/etc/sysctl.conf文件,将net.ipv4.ip_forward=1前的注释去掉,开启ipv4转发
运行如下命令,使配置修改生效
sysctl -p
 
重启pptpd服务 
/etc/init.d/pptpd restart
至此 pptpd配置完成
 
5 配置iptables,进行转发,以便连接vpn后可以正常上网
执行如下命令
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source IP
然后 执行 service iptables save 将其保存,然后service iptables restart重启生效
这里192网段是vpn内网段,IP是vps公网IP,
注意,这里因为是openvz架构,所以iptables按照这样配置,如果是zen架构的vps,那么参考http://www.chenjunlu.com/2012/04/how-to-setup-a-pptp-vpn-server-under-linode-vps/ ,如何区分这两种架构,参考http://lrbnew.blog.163.com/blog/static/3247877201472525341798/
 
6 在win7下配置vpn,输入你vps的公网ip ,pptpd的用户名密码,就可以正常使用该vps提供的vpn
 
本文参考
http://www.chenjunlu.com/2012/04/how-to-setup-a-pptp-vpn-server-under-linode-vps/

推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
author-avatar
JieGe木
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有