pptp pvn 的部署

2016-08-18 10:39:25来源:oschina作者:求学ing人点击

目的: 通过vpn拨入然后访问内部网络.


配置vpn server机器的系统 centos 6.5


外网(eth1)ip: xxx.xxx.x.xxx内外(eth0)ip: 10.0.4.234

首先安装需要的软件


sudo yum install -y perl ppp iptables


pptp这个服务不能使用yum安装. 它和ppp服务有版本对应的关系


我使用的版本: ppp-2.4.5-10.el6.x86_64 (yum安装)


pptpd-1.4.0-3.el6.x86_64.rpm (手动安装) https://pkgs.org/centos-6/epel-x86_64/pptpd-1.4.0-3.el6.x86_64.rpm.html


sudo rpm -ivh pptpd-1.4.0-3.el6.x86_64.rpm (安装)



开启IPv4转发

编辑/etc/sysctl.conf文件,去掉net.ipv4.ip_forward=1前的注释 运行如下命令,使配置修改生效


sysctl -p

安装对应的版本以后下一步进行配置


一: 用 vi 编辑/etc/pptpd.conf (设置vpn拨入后分配的ip地址) 查找如下内容:


#localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245


把#去掉,然后修改成下面的 (本机的内外ip不在同意网段,我只给了4个ip)


localip 192.168.169.1 remoteip 192.168.169.2-5,192.168.169.245


二 添加PPTP VPN用户

编辑/etc/ppp/chap-secrets 添加如下内容:


username pptpd password *


user1pptpd pw123er *(示例)


其中username为你要添加的VPN帐号的用户名,password为你VPN帐号的密码。


三 添加转发规则


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


四扩展配置: 添加vpn登陆日志


修改下面这两个脚本的内容


/etc/ppp/ip-up成功连接vpn以后会先执行这个脚本


/etc/ppp/ip-down 断开vpn连接的时候会先执行这个脚本


[eer@ip-10-0-4-234~]$ cat /etc/ppp/ip-up #!/bin/bash # This file should not be modified -- make local changes to # /etc/ppp/ip-up.local instead


PATH=/sbin:/usr/sbin:/bin:/usr/bin export PATH


LOGDEVICE=$6 REALDEVICE=$1


[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post --realdevice ${REALDEVICE} ifcfg-${LOGDEVICE}


/etc/ppp/ip-up.ipv6to4 ${LOGDEVICE}


[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"


logfile="/var/log/pptpd" if [ ! -d "$logfile" ]; then mkdir -p "$logfile" fi echo "logintime:`date -d today +%Y-%m-%d`" "`date -d today +%H:%M:%S`" "User:"$PEERNAME" "clientIP:$6 " "assignIP:$5 >> $logfile/pptpd.log


exit 0 ------------------------------------------下面是第二个脚本-------------------------------------------------


[eer@ip-10-0-4-234~]$ cat /etc/ppp/ip-down #!/bin/bash # This file should not be modified -- make local changes to # /etc/ppp/ip-down.local instead


PATH=/sbin:/usr/sbin:/bin:/usr/bin export PATH


LOGDEVICE=$6 REALDEVICE=$1


/etc/ppp/ip-down.ipv6to4 ${LOGDEVICE}


[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local "$@"


/etc/sysconfig/network-scripts/ifdown-post --realdevice ${REALDEVICE} / ifcfg-${LOGDEVICE}


logfile="/var/log/pptpd" if [ ! -d "$logfile" ]; then mkdir -p "$logfile" fi echo downtime:`date -d today +%Y-%m-%d`" "`date -d today +%H:%M:%S`" "User:$PEERNAME" "clientIP:$6" "assignIP:$5" "sent:$BYTES_SENT" "received:$BYTES_RCVD" "online_time:$CONNECT_TIME >> $logfile/pptpd.log


exit 0 -----------------------------这里面只简单记录了登陆ip 用户 时间 和字节等信息(可以自己添加更多的信息)--------------------


到此服务的配置完毕


sudo service pptpd start启动pptp服务

客户端的使用:


正常情况 直接在windows系统里面创建vpn连接信息. 就可以成功连接了. 但是你会发现自己断网了. 只能访问 10.0.4.X 网段的机器.


通过下面两部就可以解决这个问题!


1:添加路由表 (当访问10.0.4.X 网段的机器转发到192.168.169.2-5 这个ip)


Route -p add 10.0.4.0 mask 255.0.0.0 192.168.169.2 Route -p add 10.0.4.0 mask 255.0.0.0 192.168.169.3 Route -p add 10.0.4.0 mask 255.0.0.0 192.168.169.4 Route -p add 10.0.4.0 mask 255.0.0.0 192.168.169.5


2:打开创建的连接去掉默认网关选项


到此圆满结束, 拨入vpn以后可以访问10.0.4.X 网段的机器,也可以访问正常上网!!

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台