ubuntu下一键安装pptpd
1 #!/bin/bash
2 # Quick and dirty pptp VPN install script
3 # Ubuntu 12+ or Debain 7+
4 # Reference http://jesin.tk/setup-pptp-vpn-server-debian-ubuntu/
5 # Referrence https://github.com/tititake/MyShellScripts/blob/master/ubuntu-pptpd.sh
6
7
8 WANIF=`ip route get 8.8.8.8 | awk '{ for(f=0;f<NF;f++){if($f=="dev"){print $(f+1);exit;}} }'`
9 WANIP=`ip route get 8.8.8.8 | awk '{ print $NF; exit }'`
10 VPNUSER="pptp"
11 VPNPASS="eeettt888"
12
13 function error() {
14 echo -e "\e[0;31m $* \e[0m"
15 exit 1
16 }
17
18 function info() {
19 echo -e "\e[0;32m $* \e[0m"
20 }
21
22 cat /dev/ppp 2>&1 | grep "No such device" > /dev/null || \
23 error "Error : PPP is not enabled, abort."
24 [[ $EUID -eq 0 ]] || error "Error : This script must be run as root!"
25
26 echo "####################################"
27 echo "Server IP : $WANIP"
28 echo "VPN User : $VPNUSER"
29 echo "VPN Password : $VPNPASS"
30 echo "####################################"
31
32 read -p "Press [ENTER] to continue..."
33
34 dpkg-query -l iptables pptpd> /dev/null || ( \
35 apt-get update ; \
36 apt-get install -y iptables pptpd)
37
38 pptpd_conf="
39 option /etc/ppp/pptpd-options
40 logwtmp
41 localip 172.20.1.1
42 remoteip 172.20.1.2-254"
43
44 echo "$pptpd_conf" > /etc/pptpd.conf
45
46 pptpd_options="
47 name pptpd
48 refuse-pap
49 refuse-chap
50 refuse-mschap
51 require-mschap-v2
52 require-mppe-128
53 proxyarp
54 nodefaultroute
55 lock
56 nobsdcomp
57 novj
58 novjccomp
59 nologfd
60 ms-dns 8.8.8.8
61 ms-dns 8.8.4.4"
62
63 echo "$pptpd_options" > /etc/ppp/pptpd-options
64
65 chap_secrets="
66 $VPNUSER * $VPNPASS *
67 "
68 echo "$chap_secrets" > /etc/ppp/chap-secrets
69
70 echo 1 > /proc/sys/net/ipv4/ip_forward
71 grep '^net.ipv4.ip_forward.*=.*1$' /etc/sysctl.conf > /dev/null || \
72 echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
73
74 iptables --list -t nat | grep 172.20.1.0 | grep MASQUERADE > /dev/null || \
75 iptables -t nat -A POSTROUTING -s 172.20.1.0/24 -o $WANIF -j MASQUERADE
76 iptables --list | grep 172.20.1.0 | grep TCPMSS > /dev/null || \
77 iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 172.20.1.0/24 -j TCPMSS --clamp-mss-to-pmtu
78
79 iptables-save > /etc/iptables.conf
80 echo '#!/bin/sh' > /etc/network/if-up.d/iptables
81 echo "iptables-restore < /etc/iptables.conf" >> /etc/network/if-up.d/iptables
82 chmod +x /etc/network/if-up.d/iptables
83
84 echo '#!/bin/sh' > /etc/ppp/ip-up.d/set_pptp_mtu
85 echo "ifconfig ppp0 mtu 1500" >> /etc/ppp/ip-up.d/set_pptp_mtu
86 chmod +x /etc/ppp/ip-up.d/set_pptp_mtu
87
88 service pptpd restart
89
90 netstat -anp|grep pptpd|grep 1723 > /dev/null 2>&1 && \
91 info "pptpd service is running, seems everything is OK." || \
92 error "pptpd service is not running, something wrong happend."
Ubuntu下快速安装pptpd
ubuntu下一键安装pptpd的更多相关文章
- CentOS下一键安装Openstack
CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...
- 在Ubuntu下编译安装GreatSQL
在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...
- Torch7在Ubuntu下的安装与配置
Torch7的本系列教程的主要目的是介绍Torch的入门使用.今天首先分享一下Torch7的安装.(在Ubuntu14.04安装torch7) 为什么选择Torch Torch的目标是在建立科学算法的 ...
- ubuntu下git安装及使用
ubuntu下git安装及使用 其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...
- premake Ubuntu下的安装
premake是个跨平台的编译工具,先看看在Ubuntu下怎么安装. 首先下载,在/usr目录下: sudo wget -O premake-4.4-beta4-linux.tar.gz http:/ ...
- linux,windows,ubuntu下git安装与使用
ubuntu下git安装与使用:首先应该检查本地是否已经安装了git ,如果没有安装的话,在命令模式下输入 sudo apt-get install git 进行安装 输入git命令查看安装状态及常用 ...
- Linux 64位下一键安装scipy等科学计算环境
Linux 64位下一键安装scipy等科学计算环境 采用scipy.org的各种方法试过了,安装还是失败.找到了一键式安装包Anaconda,基本python要用到的库都齐了,而且还可以选择安装到其 ...
- ubuntu下如何安装codeblocks集成开发环境
codeblocks是一个十分优秀的C/C++开发IDE,虽然后起之秀codelite目前来看大有超越之势哦. 不过在ubuntu下安装codeblocks却比较麻烦,不像其他linux发行版,比如s ...
- ubuntu下makeinfo安装,其实真正安装的是texinfo包
操作系统环境:ubuntu 在终端中执行命令:sudo apt-get install texinfo 今天在打包的时候有个包需要 makeinfo,当时就各种搜结果就没有 makeinfo 这个 ...
随机推荐
- 【Eclipse+PyDev】使用Python的IDE安装及配置详解
转的文章 https://blog.csdn.net/jkwwwwwwwwww/article/details/51338230 https://blog.csdn.net/Jkwwwwwwwwww/ ...
- zero:如何找到SEO流量的突破口
http://www.wocaoseo.com/thread-326-1-1.html 之前一篇文章已有提到过,SEO可以分为两个阶段: 一个阶段是了解点SEO知识,然后就到网站上去找页面,看哪些招式 ...
- 力扣leetcode 435. 无重叠区间 - 贪心
非常经典的区间贪心思想 -- 详见博文: 贪心思想之区间贪心 本题给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] ...
- go语言之抛出异常
一: panic和recover 作用:panic 用来主动抛出错误: recover 用来捕获 panic 抛出的错误. 概述: ,引发panic有两种情况 )程序主动调用panic函数 )程序产生 ...
- 构建docker私有仓库+k8s-pod应用
环境版本系统:centos7.4docker-compose version 1.26.2docker-py version: 4.3.0CPython version: 2.7.5docker-ve ...
- MockMvc编写单测
目录 MockMvc 注意点 code 待测试的controller 测试类 github MockMvc 注意点 1.通过spring上下文获取mockmvc对象 @BeforeEach publi ...
- Python程序结构
Python程序结构 分支结构 条件语句: if 判断: .....满足判断条件执行的代码块 else: .....不满足判断条件执行的代码块 if 判断1: .....满足判断条件1执行的代码块 e ...
- vue实现局部预览打印
html <div id="subOutputRank-print"> <h1></h1> </div> js doPrint(e) ...
- Redis Linux 安装部署
Redis部署文档 Redis部署文档 准备软件: 开始部署: 解压tar包[root@localhost redis]# tar -zxvf redis-3.2.8.tar.gz 进入Redis ...
- springcloudalibaba与nacos服务注册流程图
springboot + springcloud + springcloudalibaba + nacos 服务注册流程图: springboot ①WebApplicationContext ②st ...