前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7下安装pptp服务端手记 ok

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

作者头像
拓荒者
发布2019-03-15 17:20:59
3.3K0
发布2019-03-15 17:20:59
举报
文章被收录于专栏:运维经验分享运维经验分享

主要配置步骤

1. 安装前检查系统支持

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

代码语言:javascript
复制
modprobe ppp-compress-18 && echo success

应该输出:success

代码语言:javascript
复制
yum install kernel-devel

b. 是否开启TUN/TAP

代码语言:javascript
复制
cat /dev/net/tun

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

c. 是否开启ppp

代码语言:javascript
复制
cat /dev/ppp

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

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

2. 安装必要包

a. 首先安装epel源

代码语言:javascript
复制
yum install epel-release

b. 安装pptp相关包

代码语言:javascript
复制
yum install ppp pptpd net-tools iptables-services

3. 修改相关配置文件

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

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

代码语言:javascript
复制
localip 192.168.9.1
remoteip 192.168.9.101-199

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

代码语言:javascript
复制
ms-dns 100.100.2.136
ms-dns 100.100.2.138

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

代码语言:javascript
复制
ms-dns 8.8.8.8
ms-dns 8.8.4.4

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

代码语言:javascript
复制
user1 * 111222333 *

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

代码语言:javascript
复制
net.ipv4.ip_forward=1

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

代码语言:javascript
复制
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客户端不需要上网,可以忽略本步骤。

代码语言:javascript
复制
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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

代码语言:javascript
复制
iptables -t nat -I POSTROUTING -s 192.168.9.0/24 -o eth0 -j MASQUERADE

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

代码语言:javascript
复制
iptables -I INPUT 7 -m state --state NEW -p tcp --dport 1723 -j ACCEPT
iptables -P FORWARD ACCEPT

c. 保存iptables规则

代码语言:javascript
复制
service iptables save

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

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

代码语言:javascript
复制
ip_nat_pptp

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

代码语言:javascript
复制
rm /dev/ppp
mknod /dev/ppp c 108 0

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

代码语言:javascript
复制
ifconfig $1 mtu 1500

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

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

代码语言:javascript
复制
sysctl -p
systemctl start pptpd

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要配置步骤
    • 1. 安装前检查系统支持
      • 2. 安装必要包
        • 3. 修改相关配置文件
          • 4. 设置开机自动启动 pptpd, iptables
            • 5. iptables配置网络
              • 6. 阿里云ECS可能还需要几项特别设置
                • 7. 启动服务,加载相关匹配文件等
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档