centos7搭建pptp

2023-11-15

1、检查是否支持
终端输入:modprobe ppp-compress-18 && echo yes
返回 yes 表示支持 pptp

2、安装组件

yum install epel-release -y
yum install ppp iptables pptpd -y

编辑pptpd.conf

vim /etc/pptpd.conf

找到下面的两行,去掉注释并修改:

localip 192.168.1.56(本机)
remoteip 192.168.250.200-254

编辑options.pptpd

vim /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 114.114.114.114

配置文件举例:

1.name pptpd                        #自行设定的VPN服务器的名字,可以任意
2.#refuse-pap                        #拒绝pap身份验证
3.#refuse-chap                      #拒绝chap身份验证
4.#refuse-mschap                 #拒绝mschap身份验证
5.require-mschap-v2             #为了最高的安全性,我们使用mschap-v2身份验证方法
6.require-mppe-128              #使用128位MPPE加密
7.ms-dns 8.8.8.8                   #设置DNS
8.ms-dns 8.8.4.4
9.proxyarp                            #启用ARP代理,如果分配给客户端的IP与内网卡同一个子网
10.#debug                              #关闭debug
11.lock
12.nobsdcomp
13.novj
14.novjccomp
15.#nologfd                            #不输入运行信息到stderr
16.logfile /var/log/pptpd.log    #存放pptpd服务运行的的日志

设置账号密码

vim /etc/ppp/chap-secrets
test      pptpd    test   *

修改内核

vim /etc/sysctl.conf
net.ipv4.ip_forward=1

这条命令的意思是使内核支持转发,还需要下面一条命令来使修改生效:

sysctl -p

添加转发规则

iptables -t nat -A POSTROUTING -s 192.168.250.0/24 -o eth0 -j MASQUERADE
iptables -I FORWARD  -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

补充:

iptables -X -t nat 清除转发规则(iptables -F);
iptables -t nat -L 可以查看 NAT 表是否已经生效
1.#带行号查看当前所有规则 
2.iptables -L -n --line-numbers
3.#清除所有规则
4.iptables -F
5.#删除指定行号(以下命令中的“5”为指定行号)规则
6.iptables -D 5
7.#保存当前配置;相当于旧版/etc/init.d/iptables save
8.service iptables save
9.#重启iptables;相当于旧版本/etc/init.d/iptables restart
10.service iptables restart
11.#注册iptables服务;相当于旧版 chkconfig iptables on
12.systemctl enable iptables.service
13.#开启服务
14.systemctl start iptables.service
15.#查看状态
16.systemctl status iptables.service

这应该很全了,ipdables 配置文件位于 /etc/sysconfig/iptables
启动服务

systemctl start pptpd
systemctl enabled pptpd

连不上VPN
检查是否开放了 1723 端口,一般是因为这个原因吧,其他错误见参考的连接
打不开网页

vim /etc/ppp/ip-up
在 exit 0 前写入 : ifconfig $1 mtu 1500

这样就解决无法访问网页的问题了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos7搭建pptp 的相关文章

  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 如何根据标签将单个 XML 文件拆分为多个

    我有一个带有标签的 XML 文件 我想像这样分割文件
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • Linux/POSIX:为什么 fork() 不分叉*所有*线程

    众所周知 POSIX下创建新进程的默认方式是使用fork 在 Linux 下 这在内部映射到clone 我想知道的是 众所周知 当一个人打电话时fork 子进程是用单个线程创建的 调用的线程fork cf https linux die n
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读

随机推荐