注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

CentOS VPN(PPTP) Server 安装部署  

2013-06-18 15:24:23|  分类: VPN |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


作者:hesiway   发布:2013-01-11 15:32   分类:Linux   阅读:1    259 阅览   抢沙发  

http://sourceforge.net/projects/poptop/files/ 下载资源

1、检查系统内核是否支持MPPE补丁

modprobe ppp-compress-18 &&echo success
显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel
yum install kernel-devel

如果显示:“FATAL: Could not load /lib/modules/2.6.18-194.26.1.el5.028stab079.2/modules.dep:
No such file or directory”一类致命错误,那么很遗憾你的VPS内核不支持MPPE
检测是为了看你的PPTPD能否支持加密连接,所以即使不支持mppe,也没关系,因为不用加密连接你的PPTPD仍然是可用的。

2、检查系统是否开启TUN/TAP支持
cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state #系统为英文版本
cat: /dev/net/tun: 文件描述符处于错误状态 #系统为简体中文版本
如果没有,需要VPS服务商开通TUN/TAP功能,一般VPS默认都开启此功能

3、 检查PPP是否支持MPPE:

strings ‘/usr/sbin/pppd’|grep -i mppe|wc -l

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,如果不支持则需要更新系统的PPP组件

4、安装ppp和iptables #PPTP需要这两个软件包,一般centOS自带
yum install -y ppp iptables

5、安装PPTP
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 #安装

6、配置PPTP

(1)、
vi /etc/ppp/options.pptpd #编辑,保存
name pptpd   #————————-自行设定的VPN服务器的名字,可以任意
auth   #———————————启用身份验证,为了安全,肯定需要进行身份验证
refuse-pap  #————————拒绝pap身份验证
refuse-chap  #———————-拒绝chap身份验证
refuse-mschap  #——————拒绝mschap身份验证
refuse-eap   #———————–拒绝eap身份验证,这种方式本身不错,但这里不使用
require-mschap-v2  #————为了最高的安全性,我们使用mschap-v2身份验证方法
require-mppe-128  #————-要求128位MPPE加密,还可以是require-mppe
nomppe-stateful  #—————-无状态,有状态有mppe-stateful
proxyarp  #————————-启用ARP代理,如果分配给客户端的IP与内网卡同一个子网
logfile /var/log/pptpd.log  #—–存放pptpd服务运行的的日志
debug  #—————————-debug
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4 #设置DNS

#一般只要设置DNS即可
(2)、
vi /etc/ppp/chap-secrets #编辑,保存
test pptpd 123456 * #设置用户名:test 密码:123456

或者 vpnuser add test 123456

(3)、

vi /etc/pptpd.conf #编辑,保存
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.1.1 #设置VPN服务器IP地址
remoteip 192.168.1.100-199 #为拨入VPN的用户动态分配192.168.1.100~192.168.1.199之间的IP

6、开启系统路由模式
vi /etc/sysctl.conf #编辑
net.ipv4.ip_forward = 1 #找到此行 去点前面#,把0改成1 开启路由模式
/sbin/sysctl -p #使设置立刻生效

7、配置防火墙Nat转发
iptables –t nat –F——-可以先清除nat表中所有规则(选)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT –to 192.168.1.1
意思是对即将发送出去的数据包进行修改,对来自设备eth0且源地址是192.168.1.0/24的数据包,把源地址修改为192.168.1.1(即VPN地址)
iptables -t nat -L #完成后可以查看NAT表是否已经生效
PS:这里要注意VPS服务器的网口不一定是eth0,用netstat -i 查看
/etc/init.d/iptables save #保存防火墙设置
/etc/init.d/iptables restart #重启防火墙
chkconfig iptables on #设置开机启动

8、设置PPTP开机启动
service pptpd start #启动
service pptpd restart
chkconfig pptpd on #设置开机启动
pptpd服务使用的端口是1723,这个端口是系统固定分配的,可以通过查看该端口检查pptpd服务的运行情况,由于VPS服务器上默认没有对防火墙端口进行设置,所以全部端口都是开放的。
命令:netstat –ntpl

至此,VPN服务器搭建完成,可以在Windows客户端建立VPN连接,输入服务器外网IP地址,用上面配置的账号、密码进行连接了。

本文固定链接: http://hesiwei.cn/709 | 思维博客

该日志由 hesiway 于2013年01月11日发表在 Linux 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。 
原创文章转载请注明: CentOS VPN(PPTP) Server 安装部署 | 思维博客


CentOS 5.6下pptpd vpn 服务器搭建
2012-05-13 11:39:02
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/862195

一、需求

1.有时候我们在外地出差,需要连到公司的内网办公,这个时候就需要一个VPN服务器了。

2.我们内网的pc想出外网也是可以通过VPN服务器出去的

二、测试环境:
1.服务器:外网IP eth0:10.20.230.46

    内网IP eth1:192.168.9.1
2.VPN外网客户端:IP:10.20.230.48

   VPN内网客户端:192.168.9.100

3.VPV客户端分配的IP网段:172.28.29.11-30
三、服务端安装:

yum install -y ppp iptables
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm

四、修改配置文件:
1.配置文件/etc/ppp/options.pptpd
mv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
vi /etc/ppp/options.pptpd
输入如下内容:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4
2.配置文件/etc/ppp/chap-secrets
mv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
vi /etc/ppp/chap-secrets
输入如下内容:
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
test              pptpd  123             *

注:这里的test和123即为PPTP VPN的登录用户名和密码
3.配置文件/etc/pptpd.conf
mv /etc/pptpd.conf /etc/pptpd.conf.bak
vi /etc/pptpd.conf
输入以下内容:
option /etc/ppp/options.pptpd
logwtmp
localip 10.20.230.46
remoteip 172.28.29.11-30
注:为拨入VPN的用户动态分配172.28.9.11~172.28.9.30之间的IP,特别强调:客户端要拨入的IP是:10.20.230.46
4.配置文件/etc/sysctl.conf
vi /etc/sysctl.conf
修改以下内容:
net.ipv4.ip_forward = 1
保存、退出后执行:/sbin/sysctl -p
五、启动服务:
/sbin/service pptpd start
六、防火墙设置:
iptables -t nat -A POSTROUTING -s 172.28.29.0/255.255.255.0 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -s 172.28.29.0/255.255.255.0 -p tcp -m state --state NEW -m tcp -j ACCEPT
客户端连上VPN后不能上公网,解决办法有两个:一、把VPN拨号连接属性-网络-高级-把使用默认网关的勾去掉;二、在VPN服务器上做以上防火墙设置。
下面我把我的iptables的配置贴一下吧:
 
 [root@localhost ~]# iptables-save 
# Generated by iptables-save v1.3.5 on Sun May 13 11:30:41 2012
*nat
:PREROUTING ACCEPT [3581:1078915]
:POSTROUTING ACCEPT [9:593]
:OUTPUT ACCEPT [9:593]
-A POSTROUTING -s 172.28.29.0/255.255.255.0 -o eth0 -j MASQUERADE 
COMMIT
# Completed on Sun May 13 11:30:41 2012
# Generated by iptables-save v1.3.5 on Sun May 13 11:30:41 2012
*filter
:INPUT ACCEPT [3475:1092039]
:FORWARD DROP [23:928]
:OUTPUT ACCEPT [5142:1575131]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT 
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT 
-A FORWARD -j RH-Firewall-1-INPUT 
-A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT 
-A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT 
-A RH-Firewall-1-INPUT -i lo -j ACCEPT 
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A RH-Firewall-1-INPUT -s 0.0.0.0/255.255.255.0 -p tcp -m state --state NEW -m tcp -j ACCEPT 
-A RH-Firewall-1-INPUT -s 172.28.29.0/255.255.255.0 -p tcp -m state --state NEW -m tcp -j ACCEPT 
COMMIT
# Completed on Sun May 13 11:30:41 2012
七、Windows 下 PPTP VPN 客户端配置:

 

  

外网用户通过拨VPN的外网IP进入内网办公

 

  

内网用户通过拨VPN的内网IP出去上网

 

 

  

在内网的机器上ping一下百度,看看可以上网不:

ok,成功了。

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/862195

  评论这张
 
阅读(1247)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018