在Ubuntu 15下搭建VPN服务器pptpd安装和配置

在ubuntu下配置vpn的方式有很多种,其中比较常见的是pptpd,它配置简单,但是安全性不高,不过对于一般使用来说足够了,我按照程搭建了一个VPN的服务器,但是由于服务器系统是ubuntu 15.10,按照ubuntu 12.04或者ubuntu 12.10的教程搭建,总是出现无法连接服务器,后来经过查看服务器的日志,终于找到了解决在ubuntu 15下无法安装配置VPN的方法,现在将ubuntu使用pptpd搭建vpn服务器的完整方法分享出来。

一、vpn搭建方法

1.安装pptpd
sudo apt-get install pptpd
2.配置内网ip策略
sudo nano /etc/pptpd.conf

1、注释logwtmp,即在logwtmp这一行前面添加一个#号。

2、在# TAG: localip后增加2行

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

上面配置的localip为服务器的ip地址,在搭建vpn的时候要根据自己服务器的地址来设置。

remoteip为连接vpn的客户端ip地址,一般情况下不需要更改。

3.配置dns
sudo nano /etc/ppp/pptpd-options

在#ms-dns后增加2行,也可以配置其他dns

ms-dns 121.42.42.51
ms-dns 114.114.114.114
4.配置VPN帐号
sudo nano /etc/ppp/chap-secrets

在其中依次添加账号、服务器名、密码和IP限制,一个帐号一行,每个参数中间用tab或者空格间隔。如:

zhangsan pptpd 123456 *
lisi pptpd 123456 *

其中user、passwd为自己设置的账户名以及密码

5. 设置TCP/IP数据转发
sudo nano /etc/sysctl.conf

插入一行:

net.ipv4.ip_forward=1

保存并退出vim

执行

sudo sysctl –p

提示net.ipv4.ip_forward = 1,说明配置生效

6.开放网络端口

安装iptables(已安装请忽略)

sudo apt-get install iptables

开放1723端口

sudo iptables -I INPUT -p tcp –dport 1723 -j ACCEPT
7.配置NAT网络地址转换
sudo iptables –table nat –append POSTROUTING –out-interface eth0 –jump MASQUERADE
8.重启pptpd
sudo /etc/init.d/procps restart

搭建完毕。

注:如果6、7、8这三个步骤执行不成功,可以用以下方法代替:

6、然后我们需要安装iptables,用来实现请求的NAT转发

sudo apt-get install iptables

7、然后开启NAT转发.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

192.168.0.0/24是你在上面设置的IP段,让这个段转发

注意eth0是你连接外网的那块网卡,不一定是0也有可能是1或者看你的机器哪块网卡连的外网了。这样就以NAT的方式请求外网的东西了。不知道你的机器哪块网卡连的外网的话ifconfig一下看看哪个网卡是外网IP就知道了。

8、最后,我们需要重启服务,让配置生效 .

sudo service pptpd restart

二、设置失败的解决办法

问题:搭建后连接vpn服务器失败,提示“无法连接vpn服务器,连接端口已经关闭”。

日志:使用 tail -f
/var/log/ syslog 来查看日志,提示如下:

Dec 29 09:39:33 linux-server pptpd[2228]: CTRL: Client 10.12.8.197 control connection started
Dec 29 09:39:33 linux-server pptpd[2228]: CTRL: Starting call (launching pppd, opening GRE)
Dec 29 09:39:33 linux-server pptpd[2156]: /usr/sbin/pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.5, this is 2.4.6
Dec 29 09:39:33 linux-server pppd[2229]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.5, this is 2.4.6
Dec 29 09:39:33 linux-server pptpd[2228]: GRE: read(fd=6,buffer=800cb480,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
Dec 29 09:39:33 linux-server pptpd[2228]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
Dec 29 09:39:33 linux-server pptpd[2228]: CTRL: Reaping child PPP[2229]
Dec 29 09:39:33 linux-server pptpd[2228]: CTRL: Client 10.12.8.197 control connection finished

解决办法:

这是由于服务器升级到ubuntu
15 后引起的,在配置pptpd 时需要注释logwtmp,即在logwtmp这一行前面添加一个#号。

————————————————————————————————————————————————————————————————————————————————————

在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置的更多相关文章

  1. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

  2. 【转】在ubuntu环境下搭建svn server遇到的一些问题

    原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html 前段时间在ubuntu 12.04lts上倒腾了 ...

  3. linux系统下搭建自己的web服务器

    之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...

  4. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  5. 本地windows下搭建git的本地服务器

    本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...

  6. CentOS 7下Samba服务器的安装与配置

    文基于<CentOS 6.3下Samba服务器的安装与配置>,参照原博文,自己在CentOS7环境上实现,并按照自己的环境修改博文内容 一.简介 Samba是一个能让Linux系统应用Mi ...

  7. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  8. CentOS 6.3下rsync服务器的安装与配置[转]

    CentOS 6.3下rsync服务器的安装与配置   一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也 ...

  9. CentOS 6.3下Samba服务器的安装与配置(转)

    CentOS 6.3下Samba服务器的安装与配置   一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写, ...

随机推荐

  1. [C++]PAT乙级1009. 说反话 (17/20)

    /* 1009. 说反话 (20) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例, 在一行内给出总长度不超过80的字符串. 字符串由若干单词和若干 ...

  2. python 的基础 学习 第四天 基础数据类型

    1,数字 int 数字主要是用于计算,使用方法并不是很多,就记住一种就可以. #bit_length() 当十进制用二进制表示时,转化为最少二进制的最少位数v = 11data = v.bit_len ...

  3. jq的load

    1.用于监听加载是否完成 当指定的元素(及子元素)已加载时,会发生 load() 事件. 该事件适用于任何带有 URL 的元素(比如图像.脚本.框架.内联框架). 根据不同的浏览器(Firefox 和 ...

  4. mongodb 案例 ~ 经典故障案例

    一 简介:此文汇总遇到过和搜集过的故障案例 二 场景案例 1 问题描述: mongo集群在无任何业务情况下,mongos所在服务器cpu突然被打满,内核日志报错 mongos被hung住,非常奇怪的问 ...

  5. python - 代码缩进

    # -*- cording :utf-8 -*- # print absolute value of an integer a = 40 b = 1 if a >=50: print a els ...

  6. Android小知识汇总

    1.Android Studio 将module编译打包成aar文件,module依赖的 (例如 compile 'com.zhy:autolayout:1.4.3' )不会被打包进入aar文件,应用 ...

  7. 【Udacity并行计算课程笔记】- Lesson 4 Fundamental GPU Algorithms (Applications of Sort and Scan)

    I. Scan应用--Compact 在介绍这节之前,首先给定一个情景方便理解,就是因为某种原因我们需要从扑克牌中选出方块的牌. 更formal一点的说法如下,输入是 \(s_0,s_1,...\), ...

  8. shell-自动按省市建立文件夹,并在每个城市下创建当前日期文件夹

    Code: #!/bin/bash date=`date +%Y%m%d` ProName="广东市" CityName="广州市 汕尾市 阳江市 揭阳市 茂名市 江门市 ...

  9. Linker Scripts3--简单的链接脚本命令2-Assigning Values to Symbols

    1.前言 本章继续讲述简单脚本命令的后半部分 2.Assigning Values to Symbols 你可以给一个符号(symbol)赋值,它会把这些定义的符号放入全局符号表(symbols ta ...

  10. Linux内存管理 (10)缺页中断处理【转】

    转自:https://www.cnblogs.com/arnoldlu/p/8335475.html 专题:Linux内存管理专题 关键词:数据异常.缺页中断.匿名页面.文件映射页面.写时复制页面.s ...