请参考以下步骤:(centos6.5中测试通过)

1、服务器端安装软件

1.1 首先安装ppp,命令:

[root@test ~]#yum install -y ppp

提示Complete! ,表示安装成功;

1.2 安装pptpd,安装命令如下:

[root@test ~]#yum clean all

[root@test ~]#yum makecache

[root@test ~]#yum -y install pptpd

2、配置pptpd

2.1编辑/etc/pptpd.conf,命令如下

[root@test ~]#vi /etc/pptpd.conf

#localip 192.168.0.1

#remoteip 192.168.0.234-238

修改成

#用100网段是因为大多数路由器的内网都是192.168.0.0的网段,避免冲突

localip 192.168.100.1

remoteip 192.168.100.234-238,192.168.100.245

即将这两行第一个字符“#”去掉,保存退出。

注: 以上设置的IP地址: localip 192.168.100.1和remoteip 192.168.100.2-200分别是vpn服务器的地址和vpn客户端获取地址段,也可以自行设置。

2.2编辑/etc/ppp/options.pptpd,命令如下

[root@test ~]#vi /etc/ppp/options.pptpd

#ms-dns 10.0.0.1

#ms-dns 10.0.0.2

改成

ms-dns 223.5.5.5

ms-dns 223.6.6.6

即将这两行第一个字符“#”去掉,而后修改DNS的IP。

注: ms-dns 223.5.5.5和 ms-dns  223.6.6.6是设置的dns地址,可以设置成其他的,例如:ms-dns 114.114.114.114等。

2.3设置使用pptp的用户名和密码命令:

[root@test ~]#vi /etc/ppp/chap-secrets

打开后只有两行,而且一个账号都没有

# Secrets for authentication using CHAP

# client server secret IP addresses

根据需要添加账号,每行一个。按照:“用户名 pptpd  密码 ip地址”的格式输入,每一项之间用空格分开,例如:test pptpd 123456 *  (*表示所有IP),保存并退出。

3、修改内核设置,以支持数据转发:

[root@test ~]#vi /etc/sysctl.conf

将net.ipv4.ip_forward=0 改成net.ipv4.ip_forward=1

保存并退出

执行以下命令使修改后的参数生效

[root@test ~]#sysctl -p

4、添加iptables转发规则

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 外网ip地址/或者内网IP地址

注: 如果本地需要访问云服务中的ECS、RDS、OSS内网,可以设置为内网IP地址,如果是本地需要通过VPN端访问公网,可以设置为外网IP地址

nat规则清除: iptables -t nat -F ,如果需要修改最好先清除一下,否则问题多。

另外要注意的是,如果你的Iptables限制vpn段的IP可以访问80端口,那么使用http://外网IP:80 这样是不能访问的,因为服务器检测到要连接80端口的IP不是vpn段的IP。可以将域名解析到192.168.100.1 即vpn的网关上来访问80端口。

添加好转发规则后,使用如下命令保存设置并重启防火墙

[root@test ~]#/etc/init.d/iptables save  

[root@test ~]#/etc/init.d/iptables restart

5、重启pptp服务

[root@test ~]#/etc/init.d/pptpd restart

此处要注意,其实此时pptp还没运行起来,所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。

6、设置pptp和iptables随系统启动

[root@test ~]#chkconfig pptpd on 

[root@test ~]#chkconfig iptables on

至此,pptp服务端安装结束。

在本地计算机“网络和共享中心”,设置新的连接或网络,即可访问VPN。

7. 设置一下防火墙,保证192.168.100.0/24可以正常访问服务。

#!/bin/bash

iptables -F

iptables -X

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp -s 192.168.100.0/24 --dport 80 -j ACCEPT

#iptables -A INPUT -p tcp -s 123.125.174.237 --dport 8080 -j ACCEPT

#svn server port

#iptables -A INPUT -p tcp --dport 3690 -j ACCEPT

#iptables -A INPUT -p icmp -j ACCEPT

#pptp

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 10.44.12.223

iptables -A INPUT -i lo -p all -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

iptables-save > /etc/sysconfig/iptables

最新文章

  1. jQuery插件库代码分享 - 进阶者系列 - 学习者系列文章
  2. TCP中close和shutdown之间的区别
  3. Android开发者的Git&Github(一)
  4. 双机倒换(NewStartHA,SKYbility,hacmp,hp unix双机)
  5. bzoj 3218 a + b Problem(最小割+主席树)
  6. bat(传参情况下)取得当前bat所在的目录路径
  7. 解决adb server is out of date. killing...问题
  8. UVa 10341 - Solve It
  9. 通过批处理 安装 mongodb和设置身份验证
  10. AVL树的插入与删除
  11. Linux系统软件安装的几种方式
  12. 【Python 18】BMR计算器2.0(数值类型转换与while循环)
  13. liunx驱动----USB驱动
  14. oracle查看某表字段类型
  15. MD5盐值加密
  16. Linux下Zookeeper的安装
  17. do while
  18. Oracle 表空间和数据文件之间的关系
  19. 5.Dubbo2.5.3泛化引用和泛化实现
  20. 20155233 《网络对抗》 Exp5 MSF基础应用

热门文章

  1. ramips芯片,openwrt安装njit8021xclient
  2. Java——泛型(最易懂的方式讲解泛型)
  3. FMX架构图
  4. XML学习笔记(2)--dom4j操作XML
  5. 栈的简单应用 HDU 1022 http://acm.hdu.edu.cn/showproblem.php?pid=1022
  6. How to organize the Template Files in C++
  7. PostgreSQL的 initdb 源代码分析之十
  8. 使用C# 生成word记录
  9. 根据字符串创建FTP本地目录 并按照日期建立子目录返回路径
  10. Struts2 学习笔记 11 Result part2