[关闭]
@zwh8800 2017-08-23T02:18:54.000000Z 字数 2072 阅读 191246

ubuntu server 12.04 搭建 pptp 服务器

blog 归档 运维 Linux pptp


前几天把pptp服务器搭上了, xen的vps就这点好处, 想怎么搞就怎么搞, 虽说贵了点. 在国内的话用pptp连外国网站快多了, 本身校园网烂得掉渣自己电脑更新系统基本上得一晚上(特别是国外源), psv更新更是…呵呵..呵呵..呵呵呵. 搭起来pptp之后反而会比之前快很多, 今天把psv系统更新到了3.0, 只需要15分钟. 真是让我这个更新狂魔泪流满面.


好吧, 进正题

基本上是综合了网上的做法, 不过网上的教程总有些漏, 有的没法加密, 有的登陆不上.

首先, 安装pptpd

  1. sudo apt-get install pptpd

安装pptpd的同时会安装上ppp, 因为pptp在握手时使用ppp协议, 通讯时使用ppp协议(通过GRE协议在ip层上使用ppp).

之后分别对pptp和ppp进行配置.

1. 打开文件/etc/pptpd.conf

这个文件为Sample Poptop configuration file(简单Poptop配置文件), 可以看见里面有6个TAG不过需要我们改动的只有最后的那一组

  1. # TAG: localip
  2. # TAG: remoteip

用来设置连接之后的本机地址和对端地址(指pptp服务器在pptp子网中的ip地址, 不要填写真正分配的因特网地址), 可以看见注释里有个(Recommended)的localip和remoteip, 是192.168的那个, 这两个地址没被用过的话, 直接取消注释用它就好了.

2. 打开文件/etc/ppp/pptpd-options

这个文件为PPP options文件, 其实这个文件在刚刚的pptpd.conf中的option tag指定了, 可以去看看, 还可以指定其他的文件当做PPP options. 首先看一下参数name(就是name xxx那一行), 看一下他后面的名字是什么, 一会儿要用, 我这里是name pptpd. 然后是一系列ppp协议的加密选项, pap和chap是明文传送密码的, mschap对内容不加密, mschap-v2配合上mppe可以进行对密码和内容的同时加密. 所以加密部分配置文件基本不用动:

  1. # Encryption
  2. # Debian: on systems with a kernel built with the package
  3. # kernel-patch-mppe >= 2.4.2 and using ppp >= 2.4.2, …
  4. # {{{
  5. refuse-pap
  6. refuse-chap
  7. refuse-mschap
  8. # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
  9. # Challenge Handshake Authentication Protocol, Version 2] authentication.
  10. require-mschap-v2
  11. # Require MPPE 128-bit encryption
  12. # (note that MPPE requires the use of MSCHAP-V2 during authentication)
  13. require-mppe-128
  14. # }}}

但对于不想加密的同学, 想直接用chap登陆可以这样写:

  1. require-chap

下面还有一行ms-dns设置成你喜欢的dns服务器吧我设置的是:

  1. ms-dns 114.114.114.114
  2. ms-dns 8.8.8.8

还有最后, 至关重要的, 在文件最末尾加两行不明觉利的

  1. novj
  2. novjccomp
  3. nologfd

我还不懂这个是干嘛的, google没google到, 谁知道的可以告诉我.

打开文件/etc/ppp/chap-secrets这里存放chap加密方式的密码, 打开之后分四列, 第一列为用户名, 第二列填写刚刚第一步里, 那个name参数就行了, 我的是pptpd, 第三列是密码, 第四列是允许接入的ip, 允许所有ip填写*, 没列用Tab隔开就好了.
基本上ok了, 直接sudo /etc/init.d/pptpd restart吧


更新:

刚刚查了man pppd, 终于弄懂了那三行不明觉利的代码什么意思了

  1. novj Disable Van Jacobson style TCP/IP header compression in both the
  2. transmit and the receive direction.
  3. novjccomp
  4. Disable the connection-ID compression option in Van Jacobson
  5. style TCP/IP header compression. With this option, pppd will
  6. not omit the connection-ID byte from Van Jacobson compressed
  7. TCP/IP headers, nor ask the peer to do so.

先看说明, 貌似就是有个叫Van Jacobson的, 他的压缩协议让我总上不了网, 只好把它关啦. 总之就是禁用TCP/IP头压缩和connection-ID压缩, 否则我的win7一直在登陆的最后一步断开连接.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注