作者:邓聪聪

  本章是为了工作之需要,所做的一个学习心得,也为自己留下相关印记以便日后留用。

1:安装服务
yum install ppp -y
yum install pptpd -y
由于yum源没有pptp的rpm包,所以在网上下载了一个(pptpd-1.4.0-3.el6.x86_64.rpm)
链接: https://pan.baidu.com/s/1dF5x7A5 密码: ti9c
2:配置dns
vim /etc/ppp/options.pptpd  #添加
dns
----------------------------
ms-dns 219.141.140.10
ms-dns 114.114.114.114
3:增加vpn用户
vim /etc/ppp/chap-secrets #添加VPN账户
----------------------------
# Secrets for authentication using CHAP
# client server secret IP addresses
####### system-config-network will overwrite this part!!! (begin) ##########
####### system-config-network will overwrite this part!!! (end) ############
#
"test1"  pptpd  "123456"  *
4:分配客户端ip地址范围、修改内核设置
vim /etc/pptpd.conf   #添加vpn客户端获得ip的范围
----------------------------------------------
 localip 192.168.2.3  #本地VPN服务器的IP
remoteip 10.1.1.100-200  #客户端被分配的IP范围
vim /etc/sysctl.conf  #修改内核设置,使其支持转发
-------------------------------------------
net.ipv4.ip_forward = 1
-------------------------------------------
5:启动服务、开机自启动
[root@zxserver101 ~]# /etc/init.d/pptpd start
Starting pptpd: [ OK ]
[root@zxserver101 ~]# chkconfig pptpd on
6:使能vpn网段通其他网段
iptables -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.2.3/24 -j TCPMSS --set-mss 1356           #172.16.1.0,服务端本地ip段
iptables-save
-A POSTROUTING -s 10.1.1.0/24 -j SNAT --to-source 192.168.2.3
7:建立日志目录、登记登录,登出信息
mkdir /var/log/pptpdlog #输出日志文件位置
---------------------------
vi /etc/ppp/ip-up

ip-up中写入以下代码:
LOG_DIR="/var/log/pptpdlog" #输出日志文件位置
curDay=`date +"%Y%m%d"`
logFile="${LOG_DIR}/pptpd${curDay}.log"

echo "##################################" >> $logFile
echo "Now User $PEERNAME is connected!!!" >> $logFile
echo "##################################" >> $logFile
echo "time: `date +"%F %T"`" >> $logFile
echo "clientIP: $6" >> $logFile
echo "username: $PEERNAME" >> $logFile
echo "device: $1" >> $logFile
echo "vpnIP: $4" >> $logFile
echo "assignIP: $5" >> $logFile

ip-down中写入以下代码:
LOG_DIR="/var/log/pptpdlog" #输出日志文件位置
curDay=`date +"%Y%m%d"`
logFile="${LOG_DIR}/pptpd${curDay}.log"

echo "#####################################" >> $logFile
echo "Now User $PEERNAME is disconnected!!!" >> $logFile
echo "#####################################" >> $logFile
echo "time: `date +"%F %T"`" >> $logFile
echo "clientIP: $6" >> $logFile
echo "username: $PEERNAME" >> $logFile
echo "device: $1" >> $logFile
echo "vpnIP: $4" >> $logFile
echo "assignIP: $5" >> $logFile
echo "connect time: $CONNECT_TIME s" >> $logFile
echo "bytes sent: $BYTES_SENT B" >> $logFile
echo "bytes rcvd: $BYTES_RCVD B" >> $logFile
sum_bytes=$(($BYTES_SENT+$BYTES_RCVD))
sum=`echo "scale=2;$sum_bytes/1024/1024"|bc`
echo "bytes sum: $sum MB" >> $logFile
ave=`echo "scale=2;$sum_bytes/1024/$CONNECT_TIME"|bc`
echo "average speed: $ave KB/s" >> $logFile
===============================
查看日志信息的内容:
tail /var/log/pptpdlog/pptpd20170929.log

Liunx之始的更多相关文章

  1. liunx中组合查询的命令

    今天无聊,把以前的liunx命令拿过练练,尤其是一些组合命令并带有逻辑的.这里的script是一个文件夹. 1.查看一个文件的最后3行的第一行. [root@localhost home]# tail ...

  2. liunx作业一

    一.linux发行版 linux发行版是以linux为内核,包含了系统软件和应用软件.简化系统安装的工具.软件安装升级的集成管理器. 典型的linux发行版包括:linux内核,一些GNU程序库和工具 ...

  3. strace追踪未开始或者来不及捕获pid的进程(译)

    我的个人博客网站最近被攻击了,被用来发送一些垃圾邮件.但是我不知道这个进程是怎么来的,用top查看发现一个不知道干什么的perl脚本,决定给用strace查看一下. strace可以追踪一个进程的系统 ...

  4. liunx中计算机壳层

    什么是shell?shell是用C语言编写的程序.既是一种命令语言,又是一种程序设计语言.shell是一种应用程序,这个应用程序提供一个界面,用户通过这个界面访问系统内核的服务.在计算机科学中,She ...

  5. Liunx下的有关于tomcat的相关操作 && Liunx 常用指令

    先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...

  6. liunx ln -s 软连接

    项目中遇到不同项目中上传图片共享问题 解决方法就用到了 liunx的ln -s 的软连接, 用法: liunx ln -s 文件路径 实现共享思路:不同的目录都软连接到同一个目录

  7. Liunx下安装jdk

    Liunx下安装jdk 1.首先进入ROOT权限  命令 sudo su  输入密码进入 root 权限 2.看下当前liunx 是否存在jdk 环境 ,输入命令 javac,如果存在则会显示对应jd ...

  8. liunx 下 部署并运行java项目(非web)

    1. 将这三个包上传到liunx上,之后写一个run.sh 的脚本文件,然后在lib包中上传包<sunjce-provider.jar>包. 2.启动run.sh( ./run.sh st ...

  9. Liunx 常用命令

    Liunx 常用命令================================================================================ 1. 远程拷贝文件 ...

随机推荐

  1. Elastic Stack之FileBeat使用实战

    Elastic Stack之FileBeat使用实战 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任.   本篇博客数据流走向:FileBeat ===>logstash == ...

  2. C#设计模式(12)——组合模式

    1.组合模式 在软件开发中我们经常会遇到处理部分与整体的情况,如我们经常见到的树形菜单,一个菜单项的子节点可以指向具体的内容,也可以是子菜单.类似的情况还有文件夹,文件夹的下级可以是文件夹也可以是文件 ...

  3. DotNet 资源大全中文版

    https://blog.csdn.net/fhzh520/article/details/52637545 目录 算法与数据结构(Algorithms and Data structures) 应用 ...

  4. ant design环境搭建过程中遇到的问题--Windows-dva-cli

    基础的此处略去,nodejs和npm是前提. 1.官网介绍的是脚手架工具是antd-init,但是又建议真实项目中用dva-cli,所以博主就直接装的是dva-cli,这里主要是简单介绍下博主在Win ...

  5. protobuf使用简介

    官网:https://github.com/google/protobuf 环境:windows,java 1. protobuf概述protobuf是Google开发一种数据描述格式,能够将结构化数 ...

  6. MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数

    一,问题描述 [使用 unwind 操作符 “解包” Document 里面的Array中的每个元素,然后使用 group 分组统计,最后使用 sort 对分组结果排序] 从 images.json ...

  7. SQL Server进阶(十一)临时表、表变量

    临时表 本地临时表 适合开销昂贵   结果集是个非常小的集合 -- Local Temporary Tables IF OBJECT_ID('tempdb.dbo.#MyOrderTotalsByYe ...

  8. glide:4.7.1 与 26.1.0冲突

    implementation 'com.android.support:support-v4:26.1.0'implementation 'com.github.bumptech.glide:glid ...

  9. Tomcat配置到JEE版eclipse中

    接我上篇文中的tomcat下载,及环境变量配置,http://blog.csdn.net/qq_40223688/article/details/79451468 这篇文章我就讲一下怎么把tomcat ...

  10. Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week2, Optimization algorithms

    Gradient descent Batch Gradient Decent, Mini-batch gradient descent, Stochastic gradient descent 还有很 ...