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

BCB-DG's Blog

...

 
 
 

日志

 
 

CentOS5 VPN Server  

2013-12-18 09:44:04|  分类: Setup |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
//agensy
1.修改yum源

[root@agensy /]# vi /etc/yum.repos.d/server.repo

[doylenet]
name=vpn for CentOS
baseurl=http://files.doylenet.net/linux/yum/centos/5/i386/doylenet/
gpgcheck=1
gpgkey=http://files.doylenet.net/linux/yum/centos/RPM-GPG-KEY-rdoyle
enabled=1

2. yum 安装ppp 及 pptpd
[root@agensy /]# yum install ppp
[root@agensy /]# yum install pptpd

3.配置PPP和PPTP的配置文件
[root@agensy ppp]# cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
# 把配置文件options.pptpd备份,防止修改错误方便恢复。
[root@agensy ppp]# vi /etc/ppp/options.pptpd #修改配置文件

name pptpd #pptpd server 的名称。

  refuse-pap #拒绝 pap 身份验证模式。

  refuse-chap #拒绝 chap 身份验证模式。

  refuse-mschap #拒绝 mschap 身份验证模式。

  require-mschap-v2 #在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。

  require-mppe-128 #MPPE 模块使用 128 位加密。

  ms-dns 192.168.0.1

  ms-dns 202.98.96.68

   #ppp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS Master,第二个为 DNS Slave。

  proxyarp #建立 ARP 代理键值。

  debug #开启调试模式,相关信息同样记录在 /var/logs/message 中。

  lock #锁定客户端 PTY 设备文件。

  nobsdcomp #禁用 BSD 压缩模式。

  novj

  novjccomp

   #禁用 Van Jacobson 压缩模式。

  nologfd #禁止将错误信息记录到标准错误输出设备(stderr)


#重要说明,其他的配置都默认不需要更改,需要改动的只是ms-dns 这个按实际需要改动为主备dns服务器


4.修改配置文件配置文件

[root@agensy ppp]# vi /etc/pptpd.conf

option /etc/ppp/options.pptpd

  logwtmp

  localip 192.168.0.254

  remoteip 172.16.1.168-254

注:localip #vpn服务器端IP, 客户端拔号时的ip地址。remoteip为拨入VPN的用户动态分配192.168.9.11~192.168.9.30之间的IP

5.配置文件/etc/ppp/chap-secrets #增加允许登陆vpn服务器的用户
[root@agensy ppp]# vi cha-secrets

# Secrets for authentication using CHAP
# client server secret IP addresses
####### redhat-config-network will overwrite this part!!! (begin) ##########
####### redhat-config-network will overwrite this part!!! (end) ############

rusj pptpd 123456 172.16.1.170

zhanbx pptpd 123456 172.16.1.171

chenzy pptpd 123456 *

#第一列为用户名,第二列为vpn服务器名称,和 “options.pptpd ”这个配置文件服务器名称一致,第三列为用户密码,第四列为用户分配的ip地址,“* ”表示没有限定使用ip。

6.打开内核的IP路由转发功能:

  要使VPN服务器可以作为网络请求的中转代理,能够使客户端通过VPN访问Internet,还需要开启内核的IP转发功能。可以编辑配置文件:

 [root@agensy ppp]# vi /etc/sysctl.conf

  找到其中的行:

  net.ipv4.ip_forward = 0

  修改为:

  net.ipv4.ip_forward = 1

然后执行下面命令使上述修改生效:

  sysctl -p


7.启动pptpd守护进程:

  上面配置完成后,就可以启动pptpd进程并设置自动启动了,和上面iptables的例子类似:

[root@agensy ppp]#  /etc/init.d/pptpd start

 [root@agensy ppp]# chkconfig --level 35 pptpd on

#级别3和5开机启动

8 [root@agensy ~]# netstat -natp
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 6529/pptpd

查看tcp 1723端口有没有在监听,如果没有,需要重新启动服务,及配置iptables 防火墙,配置防火墙的目的一是设置默认丢弃规则,保护服务器的安全;二是放行我们允许的数据包,提供服务;三是通过配置 nat表的POSTROUTING链,增加NAT使得VPN客户端可以通过服务器访问互联网。总之我们的原则就是,只放行我们需要的服务,其他统统拒绝。

  首先介绍跟PPTP VPN相关的几项:

  允许GRE(Generic Route Encapsulation)协议,PPTP使用GRE协议封装PPP数据包,然后封装成IP报文

  放行1723端口的PPTP服务

  放行状态为RELATED,ESTABLISHED的入站数据包(正常提供服务的机器上防火墙应该都已经配置了这一项)

  放行VPN虚拟网络设备所在的172.16.0.0/24网段与服务器网卡eth0之间的数据包转发

  为从VPN网段172.16.1.0/24转往网卡eth0的出站数据包做NAT

  将Linux服务器的1723端口和47端口打开,并打开GRE协议。

Linux服务器的1723端口和47端口打开,并打开GRE协议。

 [root@agensy ~]# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

 [root@agensy ~]# iptables -A INPUT -p tcp --dport 47 -j ACCEPT

 [root@agensy ~]# iptables -A INPUT -p gre -j ACCEPT

    [root@agensy ~]# iptables -A OUTPUT -p gre -j ACCEPT

9.用Iptables做NAT服务

  在VPN客户端成功拨号以后,本地网络的默认网关会变为VPN服务器的VPN内网地址,这样会导致客户端只能够连接VPN服务器及其所在的内 网,而不能访问互联网所以,需要把发往vpn网段的172.16.1.0/24让192.168.0.254作为路由网关,代为转发

[root@agensy ~]#  iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to 192.168.0.254

10.最后,通过在客户端建立一个vpn拨号连接,就可以正常访问到该vpn服务器了。

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

历史上的今天

评论

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

页脚

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