在CentOS 5.8上搭建PPTP VPN服务
在天朝上网,vpn已经是必备之物了,我也记录一下搭建vpn服务的方法。
1. 确认内核是否支持MPPE模块
MPPE用来支持Microsoft Point to Point Encryption, 包括微软和Linux桌面都支持MPPE
modprobe ppp-compress-18 && echo ok
2. 安装ppp软件包
pptp是使用ppp协议对数据进行封装的,然后将ppp数据帧封装在ip数据报文中。
yum install ppp
3. 安装pptp软件包
下载32位rpm包:
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
安装:
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm
4. 配置pptp
vim /etc/ppp/options.pptpd
将以下配置项打开:
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 ms-dns 8.8.4.4 proxyarp lock nobsdcomp novj novjccomp nologfd
配置localip和remoteip:
vim /etc/pptpd.conf
option /etc/ppp/options.pptpd logwtmp localip 192.168.0.1 remoteip 192.168.0.207-217
VPN可以这样理解,Linux客户端使用一个虚拟网络设备ppp0(Windows客户端也可以理解成VPN虚拟网卡),连接到服务器的虚拟网络设备ppp0上,这样客户端就加入了服务器端ppp0所在的网络。localip就是可以分配给服务器端ppp0的IP地址,remoteip则是将要分配给客户端ppp0(或者虚拟网卡)的。
这两项都可以是多个IP,一般localip设置一个IP就行了,remoteip则视客户端数目,分配一段IP。其中remoteip的IP段需要和localip的IP段一致。
localip和remoteip所处的IP段可以随意些指定,但其范围内不要包含实际网卡eth0的IP地址。
5. 配置帐号
vim /etc/ppp/chap-secrets
这个文件非常简单,其中用明文存储VPN客户的用户名、服务名称、密码和IP地址范围,每行一个账户:
username1 pptpd passwd1 * username2 pptpd passwd2 *
6. 打开内核的IP转发功能
vim /etc/sysctl.conf
修改net.ipv4.ip_forward为1
net.ipv4.ip_forward = 1
使修改生效:
sysctl -p
6. 启动服务,并开机自动启动
/etc/init.d/pptpd start chkconfig --level 35 pptpd on
7. 配置路由支持vpn的转发
请先按照这里建立ip路由,再执行下面的命令:
iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT iptables -A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
保存下路由信息:
/etc/init.d/iptables save
好了,现在可以在客户端连接搭建好的VPNFQ喽
在CentOS 5.8上搭建PPTP VPN服务的更多相关文章
- CentOS 6.3上搭建PPTP VPN
系统版本:CentOS 6.3_x86_64 eth0:172.16.10.72(实验环境当公网IP使用) eth1:192.168.100.50 1.检测是否支持ppp模块 # cat /dev/p ...
- ubuntu 搭建PPTP VPN服务器
上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...
- CentOS 6.5搭建PPTP VPN服务器
VPN是虚拟专用网络(Virtual Private Network)的缩写,VPN有多种分类方式,包括PPTP.L2TP.IPSec等,本文配置的VPN服务器是采用PPTP协议的,PPTP是在PPP ...
- CentOS 6、7下pptp vpn一键安装脚本
之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...
- fedora 搭建pptp vpn server
1 首先去sourceforge上下载pptpd的源码 http://sourceforge.net/projects/poptop/files/?source=navbar 2 对源码进行编译 ./ ...
- 【FastDFS】小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?
写在前面 在[冰河技术]微信公众号的[分布式存储]专题中,我们分别搭建了单节点FastDFS环境和高可用FastDFS集群环境.但是,之前的环境都是基于CentOS 6.8服务器进行搭建的.很多小伙伴 ...
- 在CentOS 8服务器上搭建FastDFS环境
什么是FastDFS? 这里,我就摘录下百度百科上对于FastDFS的描述. FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下 ...
- 搬瓦工VPS搭建PPTP VPN
之前一直在用神器Lantern和Nydus(20元一个月),感觉还不错,但是各有各的不足! 于是开始自己动手折腾用VPS搭建VPN... 上网逛了一圈,最后选择了搬瓦工的VPS:512RAM,10G ...
- CentOS 6.x 一键安装PPTP VPN脚本
环境 CentOS 6.x 32位/64位XEN/KVM/OpenVZ 步骤 依次运行下列命令 #wget http://www.hi-vps.com/shell/vpn_centos6.sh #ch ...
随机推荐
- mokoid android open source HAL hacking in a picture
/************************************************************************** * mokoid android HAL hac ...
- SSH思路
hibernate的配置写到spring的配置中,用spring管理和调用hibernate的工厂和session等.struts的话,通常有2中.一种是用spring中的一个工厂类代替struts的 ...
- uimodalpresentationformsheet resize ios7
CROHomeCRAAddController *temp =[[CROHomeCRAAddControlleralloc] init]; temp.modalTransitionStyle = UI ...
- Edit Control的Enter响应函数
Edit Control的Enter响应函数 在dialog中添加edit control ,选择“Multi_Line mode” MFC Class Wizard中添加Virtual Fu ...
- hive部署手册
安装环境: 机器 只需要安装一台机器 操作系统:Ubuntu 11.04 64操作系统 hadoop:版本是1.0.2,安装在/usr/local/hadoop sun ...
- unity, setting standard shader by script
http://forum.unity3d.com/threads/change-standard-shader-render-mode-in-runtime.318815/
- Apache加载PHP.ini顺序
网上找到一份关于Apache加载PHP.ini顺序的文档: (1) apache的httpd.conf中的PhpIniDir: (2) 注册表键值:HKEY_LOCAL_MACHINE->SOF ...
- Event/window.Event属性和方法
type:事件的类型,如onlick中的click:srcElement/target:事件源,就是发生事件的元素:button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下 ...
- bootstrap按钮加载状态改变
bootstrap里面有个激活按钮的时候,按钮变成不可用的: 按照官网里面的方法介绍是在button按钮加个data-loading-text="Loading..."属性,然后j ...
- ArcGIS Engine 捕捉
原文 ArcGIS Engine 捕捉 bool bCreateElement = true; ;//时间间隔 ;//初始值 IElement m_element = null; //界面绘制点元素 ...