使用 Linux 搭建 VPN
http://blog.csdn.net/catoop/article/details/7537012
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,参考我另一篇博客有配置,或网上查找资料配置yum。



● 安装 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的更多相关文章
- linux 搭建vpn (pptp)
一.VPN服务器环境说明 操作系统:CentOS release 6.4 (Final) 本地网卡: 复制代码 代码如下: # ifconfig em1 Link encap:Ethernet HWa ...
- Linux下搭建VPN服务器(CentOS、pptp)转
先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...
- 转载-Linux下搭建VPN服务器(CentOS、pptp)
转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建 ...
- Linux下如何搭建VPN服务器(转)
VPN服务器的配置与应用 实验场景 通过将Linux配置VPN服务器允许远程计算机能够访问内网. 我的目的: 现在需要开发第三方接口,而第三方接口有服务器IP地址鉴权配置,这样在本地开发出来的程序每次 ...
- VPS搭建VPN、BLOG
FQ的正确姿势,你掌握了多少?老司机带你去墙外看看,来开车了坐稳! 购买VPS主机(服务端) 推荐性价比较高的VPS 搬瓦工https://bandwagonhost.com/ 上面的链接如果你打不开 ...
- 两台装有Ubuntu系统的服务器搭建VPN(一台为本地服务器,另一台为云服务器)
我们搭建VPN采用的是openvpn,搭建过程总体需要经过三大步骤: 1.openvpn的安装与配置 2.端口转发 3.系统重启iptables规则自动生效 注意:以下所有名令在ro ...
- 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃
一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...
- [Ubuntu] Ubuntu搭建VPN服务器pptpd
在 Ubuntu 上搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN. 这三种方式中后两者的安全性比较好,但配置较麻烦.其中 OpenVPN 在 W ...
- 搭建vpn环境:centos7+openvpn
vpn的含义:virtual private network vpn的作用/使用场景:最常见的一个作用,你通过公网来访问某个局域网里的主机/服务,其实就是搭建一个隧道,用公网传递你的数据包,等数据包到 ...
随机推荐
- Xamarin.Android开发实践(十)
Xamarin.Android之SQLiteOpenHelper 一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数 据库帮助我们存储离线数据,以便在用户未使用网络 ...
- hdu 3336 kmp+next数组应用
分析转自:http://972169909-qq-com.iteye.com/blog/1114968 十分易懂 题意:求字串中[前缀+跟前缀相同的子串]的个数? Sample Input 1 4 a ...
- Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段(转)
摘自:http://blog.csdn.net/shakespeare001/article/details/7926783 Adapter是连接后端数据和前端显示的适配器接口,是数据Data和UI( ...
- 在getView方法产生给用户item的视图以及数据
在getView方法产生给用户item的视图以及数据
- Android调用WebService(转)
Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...
- android实现断点续传
代码如下: package com.example.downloaderstopsart; import java.util.ArrayList; import java.util.HashMap; ...
- 关于hive的str_to_map
我之前用的是有问题的... 应该是这样用: str_to_map('a=b c=d f=e',' ','=') 这样就会拆成map,等号前面是key,后面是value
- WireShark抓包过程
wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了. 为了安全考虑 ...
- android native开发时:java.lang.UnsatisfiedLinkError: Native method not found的处理
这个异常一般是由于JNI的链接器不能正常识别C++的函数名造成的.处理的方法是用exern "C" {},来包裹需要export的C++的native方法. 如果native的方法 ...
- JavaScript有哪些延迟加载的方式?
defer和async,动态创建DOM方式(用得最多),按需异步载入js.