博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pptpd安装脚本
阅读量:5953 次
发布时间:2019-06-19

本文共 2136 字,大约阅读时间需要 7 分钟。

#!/bin/bash 


function installVPN(){ 

echo "begin to install VPN services"; 

#check wether vps suppot ppp and tun 


yum remove -y pptpd ppp 

iptables --flush POSTROUTING --table nat 

iptables --flush FORWARD 

rm -rf /etc/pptpd.conf 

rm -rf /etc/ppp 


arch=`uname -m` 


wget 
 

wget 
 

wget 
 

wget 
$arch.rpm 

wget 
$arch.rpm 



yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers 

rpm -ivh dkms-2.0.17.5-1.noarch.rpm 

rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm 

rpm -qa kernel_ppp_mppe 

rpm -Uvh ppp-2.4.5-17.0.rhel6.$arch.rpm 

rpm -ivh pptpd-1.3.4-2.el6.$arch.rpm 


mknod /dev/ppp c 108 0 

echo 1 > /proc/sys/net/ipv4/ip_forward 

echo "mknod /dev/ppp c 108 0" >> /etc/rc.local 

echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local 

echo "localip 172.16.36.1" >> /etc/pptpd.conf 

echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf 

echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd 

echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd 


pass=`openssl rand 6 -base64` 

if [ "$1" != "" ] 

then pass=$1 

fi 


echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets 


iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'` 

iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356 

service iptables save 


chkconfig iptables on 

chkconfig pptpd on 


service iptables start 

service pptpd start 


echo "VPN service is installed, your VPN username is vpn, VPN password is ${pass}" 




function repaireVPN(){ 

echo "begin to repaire VPN"; 

mknod /dev/ppp c 108 0 

service iptables restart 

service pptpd start 



function addVPNuser(){ 

echo "input user name:" 

read username 

echo "input password:" 

read userpassword 

echo "${username} pptpd ${userpassword} *" >> /etc/ppp/chap-secrets 

service iptables restart 

service pptpd start 



echo "which do you want to?input the number." 

echo "1. install VPN service" 

echo "2. repaire VPN service" 

echo "3. add VPN user" 

read num 


case "$num" in 

[1] ) (installVPN);; 

[2] ) (repaireVPN);; 

[3] ) (addVPNuser);; 

*) echo "nothing,exit";; 

esac

本文转自谢无赖51CTO博客,原文链接: http://blog.51cto.com/xieping/1569665,如需转载请自行联系原作者

你可能感兴趣的文章
Eclipse Java @Override 报错
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
linux中cacti和nagios整合
查看>>
Parallels Desktop12推出 新增Parallels Toolbox
查看>>
Python高效编程技巧
查看>>
Kafka服务端脚本详解(1)一topics
查看>>
js中var self=this的解释
查看>>
js--字符串reverse
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
android ant Compile failed; see the compiler error
查看>>
项目经理笔记一
查看>>
[原]Jenkins(三)---Jenkins初始配置和插件配置
查看>>
Cache Plugin 实现过程
查看>>
TCP服务器端口转发: netsh
查看>>
nginx实现rtmp,flv,mp4流媒体服务器
查看>>
46.tornado绑定域名或者子域名泛域名的处理
查看>>
文本过滤--sed 1
查看>>
PHP CURL并发,多线程
查看>>
ES 概念及动态索引结构和索引更新机制
查看>>