VPN服务器的配置与应用

实验场景 通过将Linux配置VPN服务器允许远程计算机能够访问内网。

我的目的:

现在需要开发第三方接口,而第三方接口有服务器IP地址鉴权配置,这样在本地开发出来的程序每次都要发布到服务器上测试,如果是调试过程中每次这样比较麻烦,所以需要能直接通过VPN拨到这个服务器上,这个本地就可以直接开发调试了。

一、下载并安装VPN服务

1、下载所需安装包

输入:wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm

输入:wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

输入:http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm

因为上面的包官方会经常升级变动,如果下载不到,则根据名称到 http://poptop.sourceforge.net/yum/stable/packages/ 下载

2、依次安装

● 安装gcc,这是c编译类库(如果服务器已经有则不需要安装)

yum -install gcc

如果服务器配置配置好yum,参考 http://www.linuxidc.com/Linux/2012-02/53577.htm 。

● 安装 dkms-2.0.17.5-1.noarch.rpm

rpm -ivh dkms-2.0.17.5-1.noarch.rpm

● 安装 kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

● 安装 pptpd-1.3.4-2.rhel5.x86_64.rpm

rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm

二、配置VPN服务器

1、配置主配置文件

vi /etc/pptpd.conf

在最后追加内容:

debug

ppp /usr/sbin/pppd

option /etc/ppp/options.pptpd

localip 117.34.78.222

remoteip 192.168.0.2-4

2、配置账号文件

vi /etc/ppp/chap-secrets

编辑内容为(IP中*号代表所有):

# Secrets for authentication using CHAP

# client        server  secret                  IP addresses

用户名          pptpd   密码                *

用户名         pptpd   密码               192.168.0.3

用户名         pptpd   密码               192.168.0.4

3、启动服务

service pptpd start

4、查看端口 PPTP使用的1723端口侦听

netstat -ntpl

5、设置NAT并打开Linux内核路由功能

依次执行如下命令:

iptables -t nat -F

iptables -t nat -A POSTROUTING -s 192.168.0.2/24 -j SNAT --to 117.34.78.222

echo 1 > /proc/sys/net/ipv4/ip_forward

6、配置VPN自动启动

执行命令:ntsysv

7、设置iptables允许VPN连接(或禁用防火墙)

依次执行命令:

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

iptables -I INPUT -p tcp --dport 47 -j ACCEPT

iptables -I INPUT -p gre -j ACCEPT

三、使用VPN客户端接入

服务器IP地址就是我们上面配置的117.34.78.22,账号和密码也是配置文件中设置的(我上面用红色涂改液涂改掉的部分,那里自己配置即可),关于win7如何拨号连接VPN这里就不做详细说明了。

结束

Linux下如何搭建VPN服务器(转)的更多相关文章

  1. Linux下快速搭建DNS服务器

    一.术语解释:TTL Time To Live 缓冲保留时间ORIGIN 属于哪个域@ 代指域IN 开头需要空格SOA 一行记录类型的开始参数:forwarders {} 指向自己无法解析的域名跳转到 ...

  2. linux 下安装 搭建 svn服务器

    1.下载svn http://subversion.apache.org/download 下载完成后解压,执行 ./configure --prefix=/usr/svn 提示 configure: ...

  3. 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃

    一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...

  4. [Ubuntu] Ubuntu搭建VPN服务器pptpd

    在 Ubuntu 上搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN. 这三种方式中后两者的安全性比较好,但配置较麻烦.其中 OpenVPN 在 W ...

  5. CentOS 6.5下快速搭建ftp服务器[转]

    CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...

  6. Linux中用postfix搭建邮件服务器实战详解

    Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...

  7. CentOS 6.5下快速搭建ftp服务器

    来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...

  8. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  9. linux下svn 搭建

    linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

随机推荐

  1. Memcached通用类(基于enyim.com Memcached Client)

    一.如果用官方提供的方法,在web.config里面配置好了各个参数和服务器IP.如下图: <?xml version="1.0"?> <configuratio ...

  2. Activiti系列:如何把Activiti工程转换为maven工程以解决依赖项找不到的问题

    在eclipse中安装了Activiti插件之后,就可以新建Activiti工程,但是在实际使用时发现,在该工程中间新建Activiti Diagram,绘制好该图形之后,右键,新建单元测试,选择ju ...

  3. 从0开始学Java——JSP&Servlet——如何在Eclipse中配置Web容器为tomcat

    windows- >Preferences -> Server->runtime Envirement ->Add 点击下一步,然后按照如下设置:  

  4. 使用git推送代码到开源中国以及IDEA环境下使用git

    使用git推送代码到开源中国以及IDEA环境下使用git 在学习Java的过程中我们会使用到git这个工具来将我们本周所编写的代码上传到开源中国进行代码托管,而在使用git的时候有很多的同学由于不会操 ...

  5. 我给出的一份Java服务器端面试题-适合电话面试

    这部分内容,参考了<面试官的七种武器>一文. 电面与face2face的面试还是有区别的,很多考察方式无法使用. 从简历聊起,逐渐进入正题. Java语法 重载与重写的区别? java如何 ...

  6. RVM 解决 Ruby 的版本问题

    RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换. RVM 的官网是 https://rvm.io/. 如果你打算学习 Ruby / Rails, RVM 是必不可少的工 ...

  7. MongoDB驱动之Linq操作

    添加下面命名空间到您的程序中: using MongoDB.Driver.Linq; 声明一变量保存对集合的引用 var collection = database.GetCollection< ...

  8. VS2010版快捷键

    VS2010版快捷键 Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O ...

  9. struts2支持的结果类型

    在struts2-core.jar/struts-default.xml中,我们可以找到关于result-type的一些配置信息,从中可以看出struts2组件默认为我们提供了这 些result-ty ...

  10. [转]DIV+CSS和TABLE的区别

    现在全国大大小小的网站都在搞一场技术“革命”,就是所谓“网站重构”说简单点就是DIV+CSS进行网站制作.用DIV+CSS代替传统的Table制作框架和美化页面.百度搜索优化 在重构之前,肯定要了解为 ...