ZiCheng Liu

Code Is Life


  • 首页

  • 归档

  • 标签

  • 公益404

wireguard vpn安装mac客户端

发表于 2019-02-18 | 分类于 wireguard , mac

Wireguard VPN For MacOS

此篇文档主要适用于有简单Shell基础的人使用,主要介绍了如何在MacOS下安装wireguard客户端。

1.生成配置文件

登录服务器,生成配置文件,以张三为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

$ ssh genee@123.59.41.56

genee@vpn.genee.cn:~$ cd /etc/wireguard/

genee@vpn.genee.cn:/etc/wireguard$ sudo ./keygen.sh san.zhang@geneegroup.com

Please input 0/1 to choose the user[0:server,1:staff]:1 #输入 1

10.2.9.51

Please input the ip address[default:10.2.9.51]: #默认回车即可

10.2.9.51

#生成配置文件在如下位置

genee@vpn.genee.cn:/etc/wireguard$ cat keys/san.zhang@geneegroup.com/san.zhang@geneegroup.com.conf

[Interface]

PrivateKey = oLBo/xEvslojoibjodjfxlkcjklS+2zMfzSMnhRkUvkV5vnE=

Address = 10.2.9.51/16

DNS = 114.114.114.114

MTU = 1420



[Peer]

PublicKey = q+EO9Sdpt/sg//r/u9jdlkf(pndflk4KtoDBCuM1/GLxge2o=

Endpoint = 123.59.41.56:33690

AllowedIPs = 10.2.0.0/16,10.1.0.0/16,10.0.0.0/16

PersistentKeepalive = 25

复制文件内容备用(此文档的内容为示例,不要复制使用)

退出vpn服务器

1
2

genee@vpn.genee.cn:/etc/wireguard$ exit

在自己的mac电脑上安装wireguard

以下安装过程中出现的要求输入的密码皆是笔记本的用户密码

首先安装Homebrew,打开tem终端命令行,复制命令执行

1
2

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

接着安装wireguard-tool

1
2

brew install wireguard-tools

开始配置wireguard客户端

1
2

sudo mkdir /usr/local/etc/wireguard/

新建/usr/local/etc/wireguard/wg0.conf文件,将获得的配置文件内容写入到此文件

1
2

sudo vim /usr/local/etc/wireguard/wg0.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

[Interface]

PrivateKey = oLBo/xEvslojoibjodjfxlkcjklS+2zMfzSMnhRkUvkV5vnE=

Address = 10.2.9.51/16

DNS = 114.114.114.114

MTU = 1420



[Peer]

PublicKey = q+EO9Sdpt/sg//r/u9jdlkf(pndflk4KtoDBCuM1/GLxge2o=

Endpoint = 123.59.41.56:33690

AllowedIPs = 10.2.0.0/16,10.1.0.0/16,10.0.0.0/16

PersistentKeepalive = 25

安装图形界面软件:

下载链接: WireGuardStatusbar

如果出现mac系统禁止打开互联网上下载的程序的现象,进入系统偏好设置 -> 安全性与隐私 -> 通用 -> 仍要打开

连接此客户端可同时连接openvpn与ipsec vpn的隧道,如果安装了之前的vpn客户端,可以卸载掉。

对于现场工程师用户,如果有现场排查网络需求,请注意关闭vpn,因为vpn配置的本机路由可能会影响测试结果。

Strongswan 制作 VPN 一键安装包

发表于 2017-10-17 | 分类于 Ubuntu
目前新vpn服务采用的是strongswan,当前可分配虚拟IP段为10.1.0.0/16,请工程师们在设定局域网时尽量避免此网段,其中10.1.0.1-10.1.9.254为职工用IP段,10.1.10.1-10.1.254.254为主机用IP段。
阅读全文 »

Debian下安装PHP的OCI8扩展 (基于alien、rpm)

发表于 2017-09-14 | 分类于 Ubuntu
Debian下安装PHP的OCI8扩展 (基于alien、rpm), 基于 PHP5.X 版本环境。
阅读全文 »

Q框架 - Lua函数

发表于 2017-04-06 | 分类于 Lua
LIMS暴露函数整理,此篇文档主要适用于有简单Lua基础的人阅读。读此文章前务必先通读[Lua 基础](http://dev.genee.cn/doku.php/public/luabasic.md)
阅读全文 »

Lua基础设置

发表于 2017-04-06 | 分类于 Lua
Lua 是一种轻量小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能.在LIMS系统中,无需进行lua环境的安装搭建,只需在编辑器(win系统推荐notepad++)中写好再粘贴到网页中即可,甚至可以直接在网页中直接编写...
阅读全文 »

ES6/ES205基础点掌握

发表于 2017-03-15 | 分类于 JS
ECMAScript6(以下简称ES6)是JavaScript语言的下一代标准,因为当前版本的ES6是在2015年发布的,遵循ECMAScript 2015标准。我们也可以这么说,ES6就是ES2015......
阅读全文 »

Ubuntu 16.04 for network

发表于 2016-12-12 | 分类于 Ubuntu

ubuntu16.04修改网卡名称为eth0

修改Grub配置文件

1
sudo nano /etc/default/grub

找到GRUB_CMDLINE_LINUX=””
改为GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0”
然后:

1
sudo grub-mkconfig -o /boot/grub/grub.cfg

打开ubuntu的/etc/network/interfaces文件默认的内容如下:

1
2
3
4
5
6
7
8
9
10
11
auto lo 
iface lo inet loopback
//获取动态配置:
auto eth0
iface eth0 inet dhcp
//获取静态配置:
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1

重启

1
sudo reboot

Ubuntu Openvpn for Genee

发表于 2016-09-05 | 分类于 Ubuntu

Openvpn部署文档

服务端生成新的key

登陆vpn服务器

1
ssh genee@123.59.41.56

进入到对应的easy目录

1
cd ~/docker/easy-rsa

执行命令进入到对应docker容器

1
2
genee@vpn.genee.cn:~/docker/easy-rsa$ sudo ./run.sh
easy-rsa easy-rsa $ source vars

生成Key

1
easy-rsa easy-rsa $ ./build-key e163601.server.genee.cn
e163601是根据当前年、周、顺序等三个因素决定,server.genee.cn为后缀词,需要加上
一路回车,最后两步输入 y。
如遇到TXT_DB error问题:
编辑/opt/easy-rsa/keys/index.txt文件,将对应记录e163601删除,再次执行build-key命令

退出Docker镜像

1
easy-rsa easy-rsa $ exit

打包出来可放置服务器上部署的tar包

进入到打包目录

1
cd /home/genee/vpnpackage-template

执行打包命令

1
sudo ./package.sh e163601.server.genee.cn
此时就能看见e163601.server.genee.cn.tar.gz的tar包文件在/home/genee目录下已经成功生成,可以先通过公网或者本地等各类方式传到需要部署的服务器上

配置vpn静态IP及重启vpn服务

进入到openvpn的clients目录

1
cd /etc/openvpn/client.d

生成ip配置文件

1
2
3
4
sudo touch e163604.server.genee.cn
sudo chmod 777 e163604.server.genee.cn
echo "ifconfig-push 10.0.10.194 10.0.10.255" > e163604.server.genee.cn
sudo chmod 644 e163604.server.genee.cn
10.0.10.194这个IP为目前client依次排列下去的ip,这个地址可以在本地servers.genee.cn中查看目前最大的ip值来确认

重启openvpn服务

1
sudo service openvpn restart

Ubuntu Two Network Setting

发表于 2016-06-30 | 分类于 Ubuntu

概述 Overview

双网卡(内外网配置)

1
2
3
4
5
6
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.8.219
netmask 255.255.255.0
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.8.1

内网配置 后面的route需要默认增加让10.*网段数据均走内网网卡

1
2
3
4
5
6
7
8
# The primary network interface
auto eth1
iface eth1 inet static
address 10.10.10.231
netmask 255.255.255.0
gateway 10.10.10.254

up route add default gw 10.10.10.254 eth1

外网配置 后面的route需要默认增加让default数据均走外网网卡

Q框架

发表于 2016-06-21 | 分类于 Framework

Shorter Than SQL
https://github.com/iamfat/qf

概述 Overview

Q框架简介

Q框架简述
  • Q框架是一个非常优秀的PHP开发框架;
  • Q框架提供了丰富的类库、助手函数和常规的JavaScript操作;
  • Q框架提供了简单易懂API接口可供使用.
  • Write Less, Do More!
Q框架模型设计
  • Q框架使用了MVC的设计模式;
  • Q框架引入了Schema的概念;
  • Q框架应用逻辑层和表现层更好的分离.
Q框架基于PHP5运行
  • Q框架包含了PHP5魔术方法和魔术常量;
  • Q框架包含了抽象类,接口等很多高级特性;
  • Q框架在运行效率方面有着更好的性能.
Q框架是单一入口
  • 单一入口通常是指一个项目或者应用具有一个统一(但并不一定是唯一)的入口文件,也就是说项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的。
  • 单一入口的好处是项目整体比较规范,因为同一个入口,往往其不同操作之间具有相同的规则。另外一个方面就是单一入口带来的好处是控制较为灵活,因为拦截方便了,类似如一些权限控制、用户登录方面的判断和操作可以统一处理了。
  • 单一入口带来的最明显问题可能就是程序配置文件重复加载;鉴于此,目前Q框架采用redis、memcached等各类缓存技术来进行控制文件单次加载,重复利用,大大减少了程序在资源上的浪费。
Q框架的特色
  • Q语句操作数据库:Shorter Than SQL;
  • Q语句类似CSS selector, 对数据库进行模拟html查询方式, 使数据对象的查询更直观;
  • Q语句是对关系型数据进行查询的最快捷书写语法语言.

Q框架加载

Q框架的WEB模式是单入口的,首先执行的文件为public/index.php. 任何一个访问都会经过下列流程。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try {
Core::setup(); // 内核启动
Core::bind_events(); // 绑定内核事件
Event::trigger('system.setup'); // 系统初始化事件
Event::trigger('system.ready'); // 系统就绪事件
Core::dispatch(); // 分派控制器
}
catch(Exit_Exception $e) { // 正常退出
}
catch(Error_Exception $e) { // 出错退出 记录错误日志
Log::add($e->getMessage(), 'error');
}

Event::trigger('system.output'); // 系统显示事件
Event::trigger('system.shutdown'); // 系统关闭事件
Core::shutdown(); // 内核关闭

开发人员可以同过对system.setup, system.ready, system.display, system.shutdown的事件绑定来在不同阶段加载自己的模块

CLI模式下, 用户通过自行定义ROOT_PATH定位Q框架位置, 并加载core/cli.php用于在CLI环境下使用Q的相关模块

1
2
define(ROOT_PATH, "/var/www/q");
require(ROOT_PATH.'core/cli.php');

在CLI模式下, 启动流程与WEB流程一致 但是关闭时需要根据需要调用CLI::shutdown()来正常关闭框架

1
2
3
4
5
6
define(ROOT_PATH, "/var/www/q");
require(ROOT_PATH.'core/cli.php');

// do something

CLI::shutdown();

常规 General

目录加载

URL地址

Q控制器

数据模型

数据视图

常用工具

核心库 Core Libraries

Q选择器

Database 数据库

Email 邮件

Controller 控制器

View 视图

I18N 多语言

Event 事件

Auth 验证

Properties 扩展属性

Cipher 加密辅助类

Input 输入辅助类

Form 表单辅助类

Config 配置文件辅助类

Date 时间辅助类

CSS 辅助类

CURL 下载辅助类

File 文件辅助类

JavaScript 辅助类

Log 日志辅助类

Misc 辅助类

Output 输出辅助类

Session 会话辅助类

URI 路径辅助类

其他库 Misc Libraries

Image 图像处理

HTTP

Widget 装饰件

Models

ORM_Model 数据模型

Javascript

AJAX框架

12
Unpc

Unpc

11 日志
6 分类
14 标签
GitHub E-Mail
© 2019 Unpc
由 Hexo 强力驱动
|
主题 — NexT.Pisces