CentOS7安装PPTP VPN(开启firewall防火墙)

1       准备一个CentOS7服务器

2       检查是否支持PPTP

modprobe ppp-compress- && echo ok #返回OK
zgrep MPPE /proc/config.gz #返回CONFIG_PPP_MPPE=y 或 =m
cat /dev/net/tun #返回cat: /dev/net/tun: File descriptor in bad state

以上三条命令满足一条即为支持PPTP

3       安装PPP

yum install -y ppp

4       安装PPTPD

4.1       添加EPEL源:

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

4.2       安装EPEL源:

rpm -ivh epel-release-latest-.noarch.rpm

4.3       检查是否已添加到源列表中:

yum repolist

4.4       更新源列表:

yum -y update

4.5       安装PPTPD:

yum install -y pptpd

5       编辑/etc/pptpd.conf设置VPN内网IP段

最后IP设置改为:

localip 192.168.0.1
remoteip 192.168.0.214,192.168.0.245

6       编辑/etc/ppp/options.pptpd

6.1       更改DNS项:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

6.2       修改日志记录:

nologfd

logfile /var/log/pptpd.log

7       编辑/etc/ppp/chap-secrets设置VPN账号密码

用户名 pptpd 密码 *//每个字段之间用tab键隔开  *表示用任意IP连接VPN都可以

样例:登录账号为root 密码为123  这样写:

root        pptpd     123         *

8       编辑/etc/sysctl.conf修改内核参数支持内核转发

net.ipv4.ip_forward=1

输入命令生效:sysctl -p

9       修改防火墙设置:

9.1       创建规则文件:touch /usr/lib/firewalld/services/pptpd.xml

9.2       修改规则文件

<?xml version="1.0" encoding="utf-8"?>

<service>

       <short>pptpd</short>

       <description>PPTP</description>

       <port protocol="tcp" port="1723"/>

</service>

9.3       启动或重启防火墙:

systemctl start firewalld.service或firewall-cmd --reload

9.4       添加服务:

firewall-cmd --permanent --zone=public --add-service=pptpd

9.5       允许防火墙伪装IP:

firewall-cmd --add-masquerade

9.6       开启47及1723端口:

firewall-cmd --permanent --zone=public --add-port=/tcp
firewall-cmd --permanent --zone=public --add-port=/tcp

9.7       允许gre协议:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT  -p gre -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT -p gre -j ACCEPT

9.8       设置规则允许数据包由eth0和ppp+接口中进出

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD  -i ppp+ -o eth0 -j ACCEPT

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD  -i eth0 -o ppp+ -j ACCEPT

9.9       设置转发规则,从源地址发出的所有包都进行伪装,改变地址,由eth0发出:

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.0.0/

10     重启服务器:

firewall-cmd --reload
systemctl restart pptpd

CentOS7安装PPTP的更多相关文章

  1. Centos7搭建pptp一键安装脚本

    废话不多说,先上脚本地址:Centos7一键pptp 使用: wget http://files.cnblogs.com/files/wangbin/CentOS7-pptp-host1plus.sh ...

  2. HP服务器 hp 360g5 centos7安装问题

    HP服务器  hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...

  3. CentOS7 安装Mono及Jexus

    CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...

  4. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  5. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  6. 转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用

    本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置 ...

  7. Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法

    问题: CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License i ...

  8. centos7安装eclipse

    centos7安装eclipse Eclipse是一个集成开发环境(IDE),包含一个基工作区和定制环境的可扩展插件系统.大部分使用 Java 编写,Eclipse 可以用来开发应用程序.通过各种插件 ...

  9. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

随机推荐

  1. PHP array_change_key_case

    (PHP 4 >= 4.2.0, PHP 5, PHP 7) 1.函数的作用 : 改变数组所有键值的大小写: 2.参数: 1)array : 应用的数组: 2)case  : 指定转换为大写或者 ...

  2. Spring容器启动源码解析

    1. 前言 最近搭建的工程都是基于SpringBoot,简化配置的感觉真爽.但有个以前的项目还是用SpringMvc写的,看到满满的配置xml文件,却有一种想去深入了解的冲动.折腾了好几天,决心去写这 ...

  3. Vulnhub靶场渗透练习(四) Acid

    利用namp 先进行扫描获取ip nmap  192.168.18.* 获取ip  没发现80端口 主机存活  猜测可以是个2000以后的端口 nmap -p1-65533 192.168.18.14 ...

  4. Uipath 选择页面下拉列表中的选项

    http://www.rpatokyo.com/ 使用Select item Activity选择页面下拉列表中的选项 在open browser中拖入Select Item Activity,配置参 ...

  5. jquery a标签的锚点点击的时候页面上缓慢滚动

    a标签增加一个名字触发效果: $(".transition").click(function(){ if (location.pathname.replace(/^\//, '') ...

  6. Linux及Windows安装Redis(详细)

    Linux及Windows安装Redis 1.Windows安装教程 1.1下载 https://github.com/MSOpenTech/redis/releases 进入github里下载red ...

  7. javascript严格模式的影响

    针对js严格模式会报错的编码操作进行了整理,避免不严谨的代码习惯,面向未来编程(es6+) 变量 1.定义八进制格式的数字 2.不带var的变量定义--包括函数体内的 3.对变量的delete操作-- ...

  8. (day31) Event+协程+进程/线程池

    目录 昨日回顾 GIL全局解释器锁 计算密集型和IO密集型 死锁现象 递归锁 信号量 线程队列 FOFI队列 LIFO队列 优先级队列 今日内容 Event事件 线程池与进程池 异步提交和回调函数 协 ...

  9. Java基础(二十四)Java IO(1)输入/输出流

    在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称为输出流. 输入流的指向称为源,程序从指向源的输入流中读取数据. 输出流的指向是字节要去的目的地, ...

  10. Stringbuilder常用方法

    一.创建Stringbuilder对象StringBuilder strB = new StringBuilder(); 1.append(String str)/append(Char c):字符串 ...