在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置
在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 pptpd2.配置内网ip策略
sudo nano /etc/pptpd.conf1、注释logwtmp,即在logwtmp这一行前面添加一个#号。
2、在# TAG: localip后增加2行
localip 192.168.0.1remoteip 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.51ms-dns 114.114.114.1144.配置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 ACCEPT7.配置NAT网络地址转换
sudo iptables –table nat –append POSTROUTING –out-interface eth0 –jump MASQUERADE8.重启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安装和配置的更多相关文章
- Ubuntu server下搭建Maven私服Nexus
Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...
- 【转】在ubuntu环境下搭建svn server遇到的一些问题
原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html 前段时间在ubuntu 12.04lts上倒腾了 ...
- linux系统下搭建自己的web服务器
之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...
- 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,
第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...
- 本地windows下搭建git的本地服务器
本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...
- CentOS 7下Samba服务器的安装与配置
文基于<CentOS 6.3下Samba服务器的安装与配置>,参照原博文,自己在CentOS7环境上实现,并按照自己的环境修改博文内容 一.简介 Samba是一个能让Linux系统应用Mi ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- CentOS 6.3下rsync服务器的安装与配置[转]
CentOS 6.3下rsync服务器的安装与配置 一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也 ...
- CentOS 6.3下Samba服务器的安装与配置(转)
CentOS 6.3下Samba服务器的安装与配置 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写, ...
随机推荐
- oracle 窗口函数 (keep)
看到很多人对于keep不理解,这里解释一下! Returns the row ranked first using DENSE_RANK2种取值:DENSE_RANK FIRSTDENSE_RANK ...
- [C++]2-6 排列
/* 排列(Permutation) 用1,2,3,...,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3. 按照"abc def ...
- springboot的@CrossOrigin注解解决细粒度的配置跨域
import java.util.HashMap; import org.springframework.web.bind.annotation.CrossOrigin; import org.spr ...
- python中读取mongodb数据并保存为csv格式的文件
import pandas as pd import matplotlib.pyplot as plt import pymongo %matplotlib inline # 连接mongodb数据库 ...
- jira和svn关联后,不显示Subversion Commits标签或不显示svn提交信息
1.jira的版本是7.3.6 2.不显示Subversion Commits标签或不显示svn提交信息 其实是权限的分配问题 3.管理员登录 找到对应项目的权限管理 4.[评论权限]——[编辑所有评 ...
- Python 9 进程,线程
本节内容 python GIL全局解释器锁 线程 进程 Python GIL(Global Interpreter Lock) In CPython, the global interpreter l ...
- TensorFlow走过的坑之---数据读取和tf中batch的使用方法
首先介绍数据读取问题,现在TensorFlow官方推荐的数据读取方法是使用tf.data.Dataset,具体的细节不在这里赘述,看官方文档更清楚,这里主要记录一下官方文档没有提到的坑,以示" ...
- 和类相关的BIF
issubclass(class,classinfo),判断第一个参数是第二个参数的子类,这个判断是比较宽松的判断.因为第二个参数也可以是元组,并且只要参数1是元组内任意一个元素的子元素,就会返回Tr ...
- C++虚函数总结
为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题? 面向对象的三大特征: 封装 多态 继承 普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚 ...
- P5238 整数校验器
题目地址:P5238 整数校验器 显然这道题不算难,细心即可AC 细节见代码中的注释 #include <bits/stdc++.h> #define ll long long using ...