文档章节

CentOS 7下安装pptp服务端手记 ok

l
 linjin200
发布于 01/29 10:48
字数 994
阅读 16
收藏 0

CentOS 7下安装pptp服务端手记

  • sa 发布于 2018-03-15
  •  
  • 分类:未分类
  •  
  • 阅读(4030)
  •  
  • 评论(0)
  •  
  •  

文章目录

[隐藏]

环境,初装的阿里云ECS最低配机型,CentOS 7 x64 (兼及linode的CentOS 7

主要配置步骤

1. 安装前检查系统支持

a. 在安装之前查看系统是否支持PPTP

modprobe ppp-compress-18 && echo success

应该输出:success

yum install kernel-devel

b. 是否开启TUN/TAP

cat /dev/net/tun

应该输出:cat: /dev/net/tun: File descriptor in bad state

c. 是否开启ppp

cat /dev/ppp

应该输出:cat: /dev/ppp: No such device or address

如果环境不满足上面3个条件,表示很可能不支持pptp。 例外:linode的xen、kvm服务器,也是支持的pptp的。可能是linode内核是定制的,并不是外部ko模块,与原版CentOS表现有所不一致。

2. 安装必要包

a. 首先安装epel源

yum install epel-release

b. 安装pptp相关包

yum install ppp pptpd net-tools iptables-services

3. 修改相关配置文件

a. 主配置文件 /etc/pptpd.conf

结尾处增加如下两行,分别是pptp服务的虚拟网段网关,及分配给客户端的地址范围。

localip 192.168.9.1
remoteip 192.168.9.101-199

b. pptpd配置文件/etc/ppp/options.pptpd,结尾增加两行,给虚拟网段用的dns服务,可以使用主机商提供的dns服务器地址。

ms-dns 100.100.2.136
ms-dns 100.100.2.138

如果是linode等海外服务器,可以使用谷歌的公共dns服务器地址

ms-dns 8.8.8.8
ms-dns 8.8.4.4

c. 设置pptpd vpn服务器用户名密码,编辑文件 /etc/ppp/chap-secrets, 每行一套帐号,该文件默认有简短说明。一行帐号行示例如下,以空格分隔的4个字段:第1、3是用户名密码,其他两字段是星号

user1 * 111222333 *

d. 服务器允许ip转发内核,编辑配置文件/etc/sysctl.conf,增加如下一行

net.ipv4.ip_forward=1

4. 设置开机自动启动 pptpd, iptables

ln -s /usr/lib/systemd/system/pptpd.service /etc/systemd/system/multi-user.target.wants/
ln -s /usr/lib/systemd/system/iptables.service /etc/systemd/system/multi-user.target.wants

5. iptables配置网络

a. iptables配置,配置虚拟网段NAT支持。如果pptp客户端不需要上网,可以忽略本步骤。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

,注意其中的eth0是本机网卡设备名,按实际情况修改;或按虚拟网段设置NAT,如下

iptables -t nat -I POSTROUTING -s 192.168.9.0/24 -o eth0 -j MASQUERADE

b. 开放pptp端口1723,允许转发

iptables -I INPUT 7 -m state --state NEW -p tcp --dport 1723 -j ACCEPT
iptables -P FORWARD ACCEPT

c. 保存iptables规则

service iptables save

6. 阿里云ECS可能还需要几项特别设置

a. 如果windows下连接pptp,如果遇到519错误,是因为缺少内核模块 ip_nat_pptp ,运行modprobe ip_nat_pptp 即可加载,但最好设置开机自动加载:新建文件 /etc/modules-load.d/ip_nat_pptp.conf 内容为如下一行

ip_nat_pptp

b. 可能还要重建ppp文件:

rm /dev/ppp
mknod /dev/ppp c 108 0

c. 阿里云机器还要修改mtu:修改文件/etc/ppp/ip-up,在exit 0 前加入一行:

ifconfig $1 mtu 1500

d. 阿里云控制台里的安全区域,看上去跟防火墙或iptables类似的东西,要开启相应的端口。

7. 启动服务,加载相关匹配文件等

sysctl -p
systemctl start pptpd

或者单粗暴的reboot重启机器也行

© 著作权归作者所有

l

linjin200

粉丝 26
博文 999
码字总数 1168188
作品 0
福州
程序员
私信 提问
CentOS 7下安装pptp服务端手记

CentOS 7下安装pptp服务端手记 sa 发布于 2018-03-15 分类:未分类 阅读(3990) 评论(0) 文章目录 [隐藏] 主要配置步骤 1. 安装前检查系统支持 2. 安装必要包 3. 修改相关配置文件 4. 设置开机...

linjin200
01/25
12
0
CentOS 7 安装VPN Server 和 Client

CentOS 7 安装VPN Server 和 Client 1. CentOS 7 安装VPN Server 参考 http://www.lkycn.com/2015/03/23/425.html 阿里云的论坛-架设vpn服务器 阿里云论坛-架设vpn客户端 * 先看看你的主机...

linjin200
01/26
683
0
Linode VPS CentOS 5.5 安装 pptpVPN

一、前言 没有什么前言,就是简单介绍一下标题中提到的一些名词 1、Linode VPS:很有名的一家Linux专业VPS供应商,国内访问速度还不错。http://www.linode.com 2、CentOS:著名的Linux发行版...

Jacky.Wang
2011/03/08
11K
16
Centos7 pptp vpn

Centos7 pptp vpn 环境: CentOS7 VPN概述 VPN全称(Virtual Private Network) 虚拟专用网络 依赖ISP和其他的NSP,在公共网络中建立专用的数据通信网络的技术,可以为企业之间或者个人与企业之...

TBWU
2016/10/29
4
0
centos---在CentOS下安装PPTP的VPN

VPN常用有两种,一种是openvpn,另一种PPTP。前者开源跨平台功能强大,后者简单方便Windows下无需安装客户端。而且从安装上看,PPTP比openvpn简单一点,所以决定安装这个试试看。 这里罗嗦一...

durban
2012/03/16
170
0

没有更多内容

加载失败,请刷新页面

加载更多

The POM for xxx is invalid, transitive dependencies (if any) will not be available

The POM for xxx is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details 问题描述 在使用maven打包时,log信息中打印出:[**WARNIN......

lwenhao
18分钟前
2
0
setState() called after dispose() flutter

# 在setState前加入以下判断if (!mounted) return;

zdglf
39分钟前
3
0
docker和docker-compose二种方式安装mysql8.0

Docker方式安装 在命令行下运行 docker run -d -p 3306:3306 --restart always --privileged=true--name mysql-e MYSQL_USER="test" -e MYSQL_PASSWORD="test" -e MYSQL_ROOT_PASSWOR......

小白的成长
47分钟前
9
0
五大网络威胁应对挑战

既然如此,那么威胁的检测和响应过程是否像生产瑞士手表那样高效运行呢?答案远非如此。据ESG报告显示,威胁检测和响应过程充满各种各样的问题。来自372名企业网络安全和IT专家的数据,以下是...

linuxCool
49分钟前
5
0
jQuery 选择器使用大全(标签选择器,ID选择器等)

jQuery的选择器是CSS 1-3,XPath的结合物。jQuery提取这二种查询语言最好的部分,融合后创造出了最终的jQuery表达式查询语言。如果你了解CSS(绝大部分WEB开发者都用到的),那么你学起来就很...

前端老手
54分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部