原文链接http://wiki.ubuntu.org.cn/index.php?title=Vps&variant=zh-cn#.E5.AE.89.E8.A3.85_PPTP_VPN

安装 pptpd 服务

执行如下命令安装,遇到提示输入 Y/n 时,输入 Y 回车即可:

 apt-get install pptpd

配置 pptpd

为了避免和本地网络冲突,我们创建VPN的IP范围为 192.168.10.21-192.168.10.100

执行如下命令:

echo 'localip 192.168.10.1-20' >> /etc/pptpd.conf
echo 'remoteip 192.168.10.21-100' >> /etc/pptpd.conf
echo 'ms-dns 8.8.8.8' >> /etc/ppp/pptpd-options
echo 'ms-dns 8.8.4.4' >> /etc/ppp/pptpd-options
echo 'nopcomp' >> /etc/ppp/pptpd-options
echo 'noaccomp' >> /etc/ppp/pptpd-options

继续增加 pptp 用户帐号:

格式为 [UserName] pptpd [Password] * ,我们增加一个 guest 密码 为 123456 的用户如下:

echo 'guest pptpd 123456 *' >> /etc/ppp/chap-secrets

重启下pptpd:

/etc/init.d/pptpd restart

8.开启ip转发

#iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o eth0 -j MASQUERADE

完成。

注意:如果需要在 iphone 上使用,请在 iphone 的 PPTP 设置页将 "加密级别" 设置为 "最高" ,否则将无法连接上。

建立连接之后,您会发现除了可以访问服务器的资源,其余内外和互联网的内容均无法访问。如果需要访问这些内容的话,我们还需要进一步设置:

首先,开启 ipv4 forward。方法是,修改 /etc/sysctl.conf,找到类似下面的行并取消它们的注释:

net.ipv4.ip_forward=1然后使新配置生效:

sudo sysctl -p有些时候,经过这样设置,客户端机器就可以上网了(我在虚拟机上这样操作后就可以了)。但我在实验室的服务器上这样操作后仍然无法访问网络,这样我们就需要建立一个 NAT。这里我们使用强大的 iptables 来建立 NAT。首先,先安装 iptables:

sudo apt-get intall iptables装好后,我们向 nat 表中加入一条规则:

#iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o eth0 -j MASQUERADE

这样操作后,客户端机器应该就可以上网了。

但是,只是这样,iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,方法是使用 iptables-save 命令:

sudo iptables-save > /etc/iptables-rules然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

pre-up iptables-restore < /etc/iptables-rules这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。

到此,一个 VPN Server/Gateway 基本就算架设完毕。当然,也许你按照我的方法做了,还是无法成功,那么下面总结一些我碰到的问题和解决方案:

安装 pptpd 服务相关推荐

  1. pptpd mysql_安装pptpd脚本

    #!/bin/bash #获取当前主机的IP地址(根据网卡名称修改eth0) #注意:如果你的网卡名称不是eth0,那么请你修改 HostIP=$(ifconfig eth0 | awk -F'[ : ...

  2. CentOS 7下安装pptp服务端手记

    主要配置步骤 安装前检查系统支持 a. 在安装之前查看系统是否支持PPTP modprobe ppp-compress-18 && echo success 应该输出:success ...

  3. linux做pptpd服务,PPTPD搭建

    1.检查服务器是否支持PPTP服务 [root@centos1 ~]# modprobe ppp-compress-18 && echo ok ok 以上命令执行出来显示是" ...

  4. linux安装appt服务,Centos下pptd ***搭建

    Centos下pptd ***搭建 *** 服务器ip: 172.16.113.40  *** :10.0.0.1 linux 客户端: 172.16.113.41 一 .***服务器配置 # yum ...

  5. php配置mongodb扩展、安装mongodb服务教程

    安装mongodb服务. 1.下载mongodb: mongodb 提供了可用于 32 位和 64 位系统的,你可以从mongodb官网下载安装. mongodb下载地址:https://www.mo ...

  6. 安装证书服务:为Web站点启用HTTPS

    为Web站点启用HTTPS 上篇介绍了PKI和数字证书的相关概念,下面将详细介绍如何安装证书服务. 上篇链接:http://yangshufan.blog.51cto.com/13004230/194 ...

  7. Vmware VsPhere下的VM如何安装Hyper-v服务

    Vmware VsPhere下的VM如何安装Hyper-v服务 通过主题我们了解到,今天主要介绍的内容为Vmware VsPhere下的VM如何安装Hyper-v服务的操作介绍,一般做运维的大神们都知 ...

  8. RedHat6.5-Linux安装telnet服务

    1 下载以下三个包 telnet-0.17-47.el6.x86_64.rpm(telnet客户端) telnet-server-0.17-47.el6.x86_64.rpm(telnet服务端) x ...

  9. 编译安装rabbitmq服务端

    有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的.是已经编译好的源码了 下面介绍编译源码安装   总括: 需要以下步骤:   1.安装erlange.因为 ...

最新文章

  1. 【BZOJ-2427】软件安装 Tarjan + 树形01背包
  2. 非阻塞线程安全列表——ConcurrentLinkedDeque应用举例
  3. java错误1601解决方法,求助解决错误
  4. linux判断redis是否启动成功_redis的前生后世
  5. 8年前估值14.24亿的长城宽带近日被鹏博士“低价”打包出售
  6. wxpython 树菜单单击_请教怎么在wxpython调用windows系统的右键菜单(context menu)?
  7. centos(7.0) 上 crontab 计划任务
  8. android studio 顶部导航栏_移动端控件(五)-标签导航(Tabs)和分段控件(Segmented Controls)...
  9. 如何将PDF文档转换成JPG格式
  10. linux shell 数字雨,cmd命令如何实现数字雨
  11. BMI体重指数计算器
  12. 网络计算机是第几代,操作系统 是在计算机发展的第几代出现的?
  13. oracle11g批量insert多条,Oracle高效批量插入数据
  14. 基于三层交换技术的校园网设计与实现
  15. [参文]GCN+交通
  16. matlab零序五次谐波,基于MATLAB的高次谐波接地选线保护仿真设计
  17. python(第七天)
  18. POI实现EXCEL单元格合并及边框样式
  19. 魔百和CM311-1sa_ZG_S905L3A_安卓9.0_纯净线刷固件包
  20. 200行golang 实现的区块链

热门文章

  1. Codeigniter 4.0-dev 版源码学习笔记之四——详细路由过程
  2. 那些年,登山徒步记录,立贴
  3. Apache FTPClient操作文件上传下载及公共类
  4. 欧洲杯直播助PPTV日均流量登顶视频行业首位
  5. 学计算机学体育生闺女,古力:生个女儿一定学围棋 生个儿子就去踢足球
  6. Linux禁止用户登录
  7. ArcEngine开发体验(附许可)
  8. sqlserver2008 创建支持文件流的数据库
  9. 【转】一个关于fork()的笔试题,考了好几遍,终于找到答案了
  10. 不断电系统的容量如何计算?