作者:邓聪聪

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

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. Kafka技术内幕 读书笔记之(四) 新消费者——心跳任务

    消费者拉取数据是在拉取器中完成的,发送心跳是在消费者的协调者上完成的,但并不是说拉取器和消费者的协调者就没有关联关系 . “消费者的协调者”的作用是确保客户端的消费者和服务端的协调者之间的正常通信,如 ...

  2. ES6checker ES6浏览器检测

    检测地址如下: http://ruanyf.github.io/es-checker/index.cn.html Chrome 44检测结果如下:

  3. ACM-ICPC 2018 南京赛区网络预赛 B The writing on the wall(思维)

    https://nanti.jisuanke.com/t/30991 题意 一个n*m的方格矩阵,有的格子被涂成了黑色,问该矩阵中有多少个子矩阵,子矩阵不包含黑色格子. 分析 参考https://bl ...

  4. LeetCode(194.Transpose File)(awk进阶)

    194. Transpose File Given a text file file.txt, transpose its content. You may assume that each row ...

  5. vue watch bug记录

    watch中,写箭头函数,获取不到正确的this 换成function,正确取到this

  6. tomcat自动重新加载应用

    前言 当应用配置文件发生变化时,无需重启tomcat,可以使tomcat重新加载应用. 场景 假设存在一个J2EE应用A,对应war文件名称为A.war,部署在tomcat的webapps目录下,即: ...

  7. docker 系列 - 修改容器的 DNS 服务器

    # 查看容器的 dns 解析设置文件, 也可以检查docker 运行环境 DNS docker run busybox:latest cat /etc/resolv.conf # 为容器 mybusy ...

  8. Ubuntu Server Download

    点击查看所有版本(中国站点) http://mirror.lzu.edu.cn/ubuntu-releases/

  9. SpringBoot入门笔记(三)、热加载

    1.配置热加载环境,在pom.xml添加如下代码 <build> <!--springloader plugin --> <plugins> <plugin& ...

  10. 九、uboot 代码流程分析---relloc_code

    执行完 board_init_f 后,重新跳转回 _main 中执行. 9.1 relloc_code 前 9.1.1 gd 设置 在调用board_init_f()完成板卡与全局结构体变量 gd 的 ...