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. Redis数据类型、两种模型、事务、内部命令

    1.redis数据类型 a.字符串,使用场景:常规key-value缓存应用 set name lixiang get name append name 123 # 字符串追加 mset key va ...

  2. JAVA 父类与子类初始化顺序问题

    main方法-->子类对象的初始化语句(new className()语句)--->子类构造[因为继承的缘故,它先不会执行]--->父类构造[这一步先不会执行]--->父类静态 ...

  3. 【strork】HAOI2017旅游记

    乘着大巴踏上归程,看着赛后落寞的一些人,赛后轻松的一些人,感触颇多. [爪机被lsj坑了,照片等周末再放...] 4月22: 早上起床不用跑操,到了教室我就看见LSJ跑过来,不用想,果然:“早上nin ...

  4. CSS背景属性background

    background属性是所有背景属性的缩写: 以下是这些背景属性: background-color:背景颜色 你可以通过颜色名称(red/green/blue)来设置 也可以用十六进制(#fff/ ...

  5. .Net强大的列表控件XPTable [转]

    .Net强大的列表控件XPTable http://blog.csdn.net/bodybo/article/details/7359531 XPTable的大名,想必C#开发的人都有所耳闻,使用下来 ...

  6. spring aop expression支持多个表达式配置

    <!-- 配置那些类的方法进行事务管理 --> <aop:config> <aop:pointcut id="allServiceMethod" ex ...

  7. JavaWeb教程路线

    主要内容大概例如以下: 1.开发环境搭建 2.servlet/jsp解说 3.mysql解说 4.JDBC解说 5.ssh解说 6.整合开发 7.样例具体解释

  8. mvn 更改打包的名称

    在pom.xml中加入以下代码 <build> <finalName>moon</finalName> <pluginManagement> <p ...

  9. UI_UITableView_搭建

    创建 tableView UITableViewStyle 有两种选择 #pragma mark - 创建 tableView - (void)createTableView { // 枚举类型共同拥 ...

  10. 倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 81.0怎么办

    同步周期有问题   请确认MOTION的伺服周期是一致的,最好跟MAIN主程序也一样,所有周期都是2ms即可     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.yo ...