openVPN之Luci及tap模式
一、
1、复制luci-sc-openvpn源码到/home/tingpan/openwrt/barrier_breaker/feeds/luci/applications文件夹下。
二、
/home/tingpan/openwrt/barrier_breaker/feeds/luci/contrib/package/luci-addons中的Makefile文件添加如下内容:
$(eval $(call application,sc-openvpn,LuCI Support for OpenVPN,openvpn))
三、在/home/tingpan/openwrt/barrier_breaker/feeds /luci.index添加
Package: luci-app-sc-openvpn Submenu: . Applications Version: -ea67bd1- Depends: +libc +USE_EGLIBC:librt +USE_EGLIBC:libpthread +PACKAGE_luci-app-sc-openvpn:openvpn Menu-Depends: Provides: Build-Depends: lua/host Section: luci Category: LuCI Title: LuCI Support for OpenVPN Maintainer: LuCI Development Team <luci@lists.subsignal.org> Source: Type: ipkg Description: LuCI Support for OpenVPN http://luci.subsignal.org/ LuCI Development Team <luci@lists.subsignal.org> @@
四、编译
│ -> Network │
│ -> VPN

->Luci
-> Applications

五、配置
1、客户端配置
1.1 用scp将openVPN\openvpn_configfile\client\openvpn中的文件上传至/etc/openvpn文件夹下;
1.2 将openVPN\openvpn_configfile\client\config中的文件覆盖/etc/config中的同名文件;
1.3 登陆Luci界面,更改remote 参数;
1.4 重启网络
/etc/init.d/network restart
2、服务端配置
2.1 用scp将openVPN\openvpn_configfile\client\openvpn中的文件上传至/etc/openvpn文件夹下;
2.2 将openVPN\openvpn_configfile\client\config中的文件覆盖/etc/config中的同名文件;
2.3 更改tap模式的脚本文件的权限
chmod +x /etc/openvpn/startupscript
1.4 重启
reboot
六、证书生成
如果要生成新的证书,则:
在服务器端
修改基本配置文件
vi /etc/openvpn/easy-rsa/vars
#让key生成到/etc/openvpn/keys目录下 export KEY_DIR="/etc/openvpn/keys" #定义所在的国家 export KEY_COUNTRY="CN" #定义所在的省份 export KEY_PROVINCE="SH" #定义所在的城市 export KEY_CITY="ShangHai" #定义所在的组织 export KEY_ORG="H3C" #定义你的电子邮件 export KEY_EMAIL="test@h3c.com"
相关代码及配置文件下载:
http://pan.baidu.com/s/1c0daam0
参考:
http://wiki.openwrt.org/doc/howto/vpn.openvpn
openVPN之Luci及tap模式的更多相关文章
- openvpn中tun和tap的区别
openvpn有dev tun和dev tap模式的区别,cookbook的解释是:A TUN device is used mostly for VPN tunnels where only IP- ...
- C# 5.0 TAP 模式下的HTTP Get和Post
标题有点瘆人,换了工作之后很少写代码了,之前由于签了保密协议,不敢把代码拿出来分享给大家,只能摘抄网上的, 今斗胆拿出来晒晒,跪求指点,直接上代码吧 public class HTTPHelper : ...
- 玩转Linux网络namespace-单机自环測试与策略路由
上周有厂商到公司測试,拿了一块据说非常猛的网络处理加速PCIe板卡,拎在手里沉甸甸的非常有分量,最让人意淫的是那4个万兆光口,于是我迫不及待的想要一览光口转发时那种看不见的震撼. 可是,仅凭4个光口怎 ...
- 异步编程系列06章 以Task为基础的异步模式(TAP)
p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...
- .NET 基于任务的异步模式(Task-based Asynchronous Pattern,TAP) async await
本文内容 概述 编写异步方法 异步程序中的控制流 API 异步方法 线程 异步和等待 返回类型和参数 参考资料 下载 Demo 下载 Demo TPL 与 APM 和 EAP 结合(APM 和 EAP ...
- 基于任务的异步编程模式(TAP)
异步编程是C#5.0的一个重要改进,提供两个关键字:async和await.使用异步编程,方法的调用是在后台运行(通常在线程或任务的帮助下),但不会阻塞调用线程.异步模式分为3种:异步模式.基于事件的 ...
- .NET三种异步模式(APM、EAP、TAP)
APM模式: .net 1.0时期就提出的一种异步模式,并且基于IAsyncResult接口实现BeginXXX和EndXXX类似的方法. .net中有很多类实现了该模式(比如HttpWebReque ...
- 通过使用OpenVPN来构建一个VPN
首先我们需要简单熟悉一下OpenVPN和VPN概念,方便我们在使用OpenVPN构建VPN时的操作~ VPN概述 VPN,即虚拟专用网络,其功能是:在公用网络上建立专用网络,进行加密通讯.在企业网络 ...
- 烂泥:openvpn配置文件详解
本文由秀依林枫提供友情赞助,首发于烂泥行天下 在上一篇文章<烂泥:ubuntu 14.04搭建OpenVPN服务器>中,我们主要讲解了openvpn的搭建与使用,这篇文章我们来详细介绍下有 ...
随机推荐
- dubbo provider如何对invoker进行export
如何把provider的invoker export出去:1)为原始对象加wrapper,生成invoker:2)给invoker加各种filter,启动监听服务:3)注册服务地址 以HelloSer ...
- flex布局学习总结
最近项目主要是小程序,小程序里面的布局主要采用flex布局,之前对flex 布局只是稍作了解,总结下flex 布局的常用套路 容器 Flex是Flexible Box的缩写,意为"弹性布局& ...
- 快速切题 sgu113 Nearly prime numbers 难度:0
113. Nearly prime numbers time limit per test: 0.25 sec. memory limit per test: 4096 KB Nearly prime ...
- JAXP/DOM demo
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- 玩转X-CTR100 l STM32F4 l HMC5983/HMC5883L三轴磁力计传感器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 扩展HMC ...
- jquery中使用jsonp
1 .关于jsonp的原理等,请看下面的文章,说的很明白. http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery. ...
- spring事务管理及相关知识
最近在项目中遇到了spring事务的注解及相关知识,突然间感觉自己对于这部分知识只停留在表面的理解层次上,于是乎花些时间上网搜索了一些文章,以及对于源码的解读,整理如下: 一.既然谈到事务,那就先搞清 ...
- anu - pureComponent
import { inherit } from "./util"; import { Component } from "./Component"; impor ...
- Python id
# id()函数可以帮我们查看一个变量的内存地址 a = 10 b = 30 print(id(a)) print(id(b)) lst = ["周杰伦","麻花藤&qu ...
- SWIFT中函数返回值为Tuple
在playgroundm内键入以下代码,求一个成绩数组内最大分值和最小分值 func maxminScore(scores:Array<Int>) -> (maxScore:Int, ...