linux 下 PPTP VPN

1、安装相关软件
32位版:
yum -y install ppp
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel5/i386/pptpd-1.3.4-2.rhel5.i386.rpm
64位版:‍‍
rpm -Uvh ‍http://poptop.sourceforge.net/yum/stable/rhel5/x86_64/pptpd-1.3.4-2.rhel5.x86_64.rpm
2、配置文件编写
(1)配置文件/etc/ppp/options.pptpd
vim /etc/ppp/options.pptpd
输入以下内容:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4
(2)vim /etc/ppp/chap-secrets
输入以下内容
# Secrets for authentication using CHAP
# client server secret IP addresses
myusername pptpd mypassword *
注:这里的myusername和mypassword即为PPTP VPN的登录用户名和密码
(3)配置文件/etc/pptpd.conf
vim /etc/pptpd.conf
输入以下内容:
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.9.1
remoteip 192.168.9.11-30
注:为拨入VPN的用户动态分配192.168.9.11~192.168.9.30之间的IP
(4)配置文件/etc/sysctl.conf
vi /etc/sysctl.conf
修改以下内容:
net.ipv4.ip_forward = 1
保存、退出后执行:
sysctl -p
3、启动PPTP VPN 服务器端,开机启动:
service pptpd start

如果启动时提示有类似端口占用的提示,使用service pptpd restart-kill
再用service pptpd start 启动就好`~!!
chkconfig pptpd on
4、添加iptables策略:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j MASQUERADE

常见问题

1.无法上外网解决办法

请确保你的MS-DNS和防火墙已经正确配置:

防火墙按照下面方法配置:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你的公网IP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

 

若出现无法连接,可以尝试按照上面解决619错误的设置方法设置

vi /etc/ppp/options.pptpd:

去掉ms-dns前面的#,并修改成如下字段:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

2、编辑/etc/sysctl.conf

将“net.ipv4.ip_forward”改为1

同时在“net.ipv4.tcp_syncookies = 1”前面加#

3、执行下面的命令

 sysctl -p
 

2.解决PPTP错误:ppp:compressor dropped pkt

使用VPN访问大部分网站都是正常的,但是我需要访问这个网站的时候就无法访问了:www.wellsfargo.com,这个站点出故障的几率和中500万的几率差不多,所以还是VPN的问题,那么问题就来了,找根本原因吧。
经内事百度,外事谷歌后得知:
     原因是由于MTU的原因,具体问题请自行google.解决办法是通过打补丁,但是我们没搞明白,更没有去动手。

那解决办法不就是改变MTU吗?那我手动修改后可以正常访问富国银行了,但是下一次拔号后还是1396,没有从根本上解决,那就需要从根本解决问题。
    临时解决办法就是编写一个修改MTU的脚本(网上找的脚本,感谢作者),如下:

 #!/bin/sh
CURRENT_MTU="`ifconfig $1 | grep -Po '(?<=MTU:)([0-9]+)'`"
FIXED_MTU="`expr $CURRENT_MTU + 4`"
ifconfig $ mtu $FIXED_MTU
echo "Increased MTU for $1 to $FIXED_MTU (from $CURRENT_MTU) to fix MPPE Microsoft Point-to-Point bug #330973"

经过一翻努力和实验,终于找到了解决办法。
解决方法:

    • /etc/pptp/ip-up这个文件有点意思,可能就是拔号是运行的一个脚本,那么我们看一下。
    • vim /etc/pptp/ip-up
 
 #!/bin/bash
# This file should not be modified -- make local changes to
# /etc/ppp/ip-up.local instead
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
LOGDEVICE=$
REALDEVICE=$
[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post --realdevice ${REALDEVICE} ifcfg-${LOGDEVICE}
/etc/ppp/ip-up.ipv6to4 ${LOGDEVICE}
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
exit

ip-up

ip-up文件中有一行显示的是# /etc/ppp/ip-up.local instead和[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local 就是提示可以运行ip-up.local的脚本,那么我们将刚才的脚本放到这个位置,并命名为ip-up.local,加上+x权限。

service pptpd restart

VPN重新拔号,MTU已变成1400了。

ppp0      Link encap:Point-to-Point Protocol
inet addr:192.168.9.1 P-t-P:192.168.9.204 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (4.3 MiB) TX bytes: (69.5 MiB)

3.win7 pptp VPN使用过程中总是掉线的解决办法

一:为什么我的服务器是正常运行着,线路也没ping过了没有任何丢包,可是为什么VPN连接还经常断线。折腾了几天后终于找到了头绪,原来是客户端设置有问题。

解决办法

第一步:在桌面上“网络”右键“属性”-更改适配器配置

2、找到VPN链接图标右键“属性”

3、选择“选项”选择重拨间隔为1秒

4、选择“安全”去掉“要求数据加密(没有就断开)”前的勾号

二:为什么在win7上用PPTP上线两三分钟就掉线。而在xp中则没有此问题

解决办法

点击右下角“连接”,“打开网络和共享中心”-“更改高级共享设置”-“家庭和工作/公用”-“关闭网络共享发现”。

4.如果vpn上网很慢,尝试用下面:

/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356

linux pptp 服务端安装并正常上网的更多相关文章

  1. PPTP服务端与客户端 修改默认PPTP默认端口1723

    linux pptp服务端:我们在Linux下建立的pptpd端口号默认是1723,有时候这个端口并不是那么的好用,不是麽?所以服务端修改端口号比较简单 修改 /etc/services 文件查找 1 ...

  2. Linux centosVMware NFS介绍、NFS服务端安装配置、NFS配置选项

    一.NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版 ...

  3. 开源入侵检测系统OSSEC搭建之一:服务端安装

    OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中.主要功能有日志分析.完整性检查.rootkit检测 ...

  4. git 在linux下服务端搭建

    本文以centos为例,其他linux请自行参照对应方式. 1. 服务端安装git yum install git 2. 服务端添加无shell登录权限的用户,将username替换为要添加的用户 u ...

  5. Linux多线程服务端编程一些总结

    能接触这本书是因为上一个项目是用c++开发基于Linux的消息服务器,公司没有使用第三方的网络库,卷起袖子就开撸了.个人因为从业经验较短,主 要负责的是业务方面的编码.本着兴趣自己找了这本书.拿到书就 ...

  6. 《Linux 多线程服务端编程:使用 muduo C++ 网络库》电子版上市

    <Linux 多线程服务端编程:使用 muduo C++ 网络库> 电子版已在京东和亚马逊上市销售. 京东购买地址:http://e.jd.com/30149978.html 亚马逊Kin ...

  7. 《Linux多线程服务端编程:使用muduo C++网络库》上市半年重印两次,总印数达到了9000册

    <Linux多线程服务端编程:使用muduo C++网络库>这本书自今年一月上市以来,半年之内已经重印两次(加上首印,一共是三次印刷),总印数达到了9000册,这在技术书里已经算是相当不错 ...

  8. 《Linux多线程服务端编程》笔记——多线程服务器的适用场合

    如果要在一台多核机器上提供一种服务或执行一个任务,可用的模式有 运行一个单线程的进程 运行一个多线程的进程 运行多个单线程的进程 运行多个多线程的进程 这些模式之间的比较已经是老生常谈,简单地总结 模 ...

  9. 《Linux多线程服务端编程》笔记——线程同步精要

    并发编程基本模型 message passing和shared memory. 线程同步的四项原则 尽量最低限度地共享对象,减少需要同步的场合.如果确实需要,优先考虑共享 immutable 对象. ...

随机推荐

  1. mac-command-line-doing

    创建文件夹 mkdir myDirectory 新建文件 touch a.html 编辑文件 vim a.html 删除文件 rm a.html 删除整个文件夹 rm -rf myDirectory ...

  2. POJ 2482 Stars in Your Window 离散化+扫描法 线段树应用

    遇见poj上最浪漫的题目..题目里图片以上几百词为一篇模板级英文情书.这情感和细腻的文笔深深地打动了我..不会写情书的童鞋速度进来学习.传送门 题意:坐标系内有n个星星,每个星星都有一个亮度c (1& ...

  3. [JOISC2016]サンドイッチ

    题目大意: 一个$n\times m(n,m\leq400)$的网格图中,每个格子上放了两个三明治,摆放的方式分为'N'和'Z'两种.一个三明治可以被拿走当且仅当与该三明治的两条直角边相邻的三明治均被 ...

  4. Systemd入门教程:命令篇(转)

    作者: 阮一峰 日期: 2016年3月 7日 Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置. 本文介绍它的基本用法,分为上下两篇.今天介绍它的主要命令,下一 ...

  5. 微服务实施Spring Boot/Spring Cloud中踩过的坑(转)

    http://tietang.wang/2016/09/08/%E5%BE%AE%E6%9C%8D%E5%8A%A1/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%AE%9E%E6%9 ...

  6. 查看linux内核版本及操作系统版本的命令

    一.查看内核版本命令: (1)[root@localhost ~]#cat/proc/version Linux version 2.6.18-238.el5 (mockbuild@x86-012.b ...

  7. nginx -- 启动, 重启, 关闭

    Nginx的启动.停止与重启 重启:  nginx -s reload 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin] ...

  8. 用ASP实现JS的decodeURIComponent()函数

    <% response.write jsDecodeURIComponent( "%E6%B5%8B%E8%AF%95" ) %> <script languag ...

  9. 资源的GPUAddress

    BufferAddress CommandHandle TextureHandle 给shader采样的 ImageHandle 给shader  load store的.../imageLoad() ...

  10. HDFS源码分析之UnderReplicatedBlocks(一)

    http://blog.csdn.net/lipeng_bigdata/article/details/51160359 UnderReplicatedBlocks是HDFS中关于块复制的一个重要数据 ...