Skip to content

Commit

Permalink
Fix doc image paths
Browse files Browse the repository at this point in the history
  • Loading branch information
WinGeek committed Sep 8, 2024
1 parent 8036488 commit 815e0fa
Show file tree
Hide file tree
Showing 12 changed files with 88 additions and 53 deletions.
2 changes: 1 addition & 1 deletion docs/about.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: About
nav_order: 7
nav_order: 8
permalink: /about/
---

Expand Down
2 changes: 1 addition & 1 deletion docs/build.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: How to Build
nav_order: 4
nav_order: 5
permalink: /build/
---

Expand Down
2 changes: 1 addition & 1 deletion docs/code.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: Understand the Code
nav_order: 5
nav_order: 6
permalink: /code/
---

Expand Down
10 changes: 10 additions & 0 deletions docs/comparison.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
layout: page
title: Comparison
nav_order: 3
permalink: /comparison/
---

# Comparison between NHP and SPA


2 changes: 1 addition & 1 deletion docs/deploy.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: How to Deploy
nav_order: 3
nav_order: 4
permalink: /deploy/
---

Expand Down
2 changes: 1 addition & 1 deletion docs/server_plugin.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: Server Plugins
nav_order: 6
nav_order: 7
permalink: /server_plugin/
---

Expand Down
3 changes: 2 additions & 1 deletion docs/zh-cn/about.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
layout: page
title: 关于我们
parent: 中文版
nav_order: 7
nav_order: 8
permalink: /zh-cn/about/
---

# 关于OpenNHP开源项目


27 changes: 20 additions & 7 deletions docs/zh-cn/build.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@
layout: page
title: 编译源代码
parent: 中文版
nav_order: 4
nav_order: 5
permalink: /zh-cn/build/
---

# 编译OpenNHP

## 1. WSL环境准备

**提示:** Windows 10/11下可以通过`WSL`子系统来运行Linux,详细请见WSL官方文档:<https://learn.microsoft.com/zh-cn/windows/wsl/install>

- **【开启WSL功能】** 在Win10上,需要首先开启WSL才能使用WSL安装Linux,设置界面请见下图。
![Win10上WSL设置](./docs/images/win10wsl.png)
![Win10上WSL设置](../images/win10wsl.png)
- **【WSL上安装Linux】** 推荐在WSL上安装Ubuntu Linux,通过PowerShell运行以下命令安装:

```bat
Expand All @@ -32,9 +34,9 @@ permalink: /zh-cn/build/
| WSL中Linux主机 | `hostname -I \| awk '{print $1}'` |
| WSL宿主Windows主机 | `ip route show \| grep -i default \| awk '{ print $3}'` |

## 系统需求
## 2. 系统需求

- 3.1.1 `Go语言`环境:**Go 1.18** 或以上。安装包下载地址: <https://go.dev/dl/>
- 2.1 `Go语言`环境:**Go 1.18** 或以上。安装包下载地址: <https://go.dev/dl/>
- **Windows与macOS**环境下,通过下载的安装程序来安装Go。
- **Linux**环境下可以直接通过管理工具安装: :`sudo apt install golang `
- 安装成功后,运行命令`go version` 来查看Go版本号。
Expand All @@ -53,13 +55,13 @@ permalink: /zh-cn/build/
```

- 安装成功后,运行命令`go version` 来查看Go版本号。
- `GCC`环境:
- 2.2 `GCC`环境:
- **Linux与macOS****GCC 8.0**或以上。
- 查看GCC版本的命令:`gcc -v`
- 安装GCC: `sudo apt install build-essential`
- **Windows**:
1. 第一步:**安装mingw64**。mingw64可以通过msys2的包管理工具进行下载。安装msys2系统要求、下载与安装教程见:<https://www.msys2.org/>
![install_msys2](./docs/images/install_msys2.png)
![install_msys2](../images/install_msys2.png)

2. 第二步:**安装GCC**。在msys2的控制台输入命令:

Expand All @@ -82,7 +84,8 @@ permalink: /zh-cn/build/
```bat
wsl --install --distribution Ubuntu-22.04
```
## 构建
## 3. 编译
1. 拉取代码仓库
Expand All @@ -102,3 +105,13 @@ permalink: /zh-cn/build/
- **Windows**:运行代码根目录下*BAT*文件
`build.bat`
## 4. 结果
编译出来的二进制文件都在代码目录下的`release`子目录下。
- **NHP-Server**的可执行文件和配置文件: `release\nhp-server` 子目录下
- **NHP-AC**的可执行文件和配置文件: `release\nhp-ac` 子目录下
- **NHP-Agent**的可执行文件和配置文件: `release\nhp-agent` 子目录下
- 所有二进制文件打包成一个`tar`文件: `release\archive` 子目录下
---
2 changes: 1 addition & 1 deletion docs/zh-cn/code.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: page
title: 代码解读
parent: 中文版
nav_order: 5
nav_order: 6
permalink: /zh-cn/code/
---

Expand Down
10 changes: 10 additions & 0 deletions docs/zh-cn/comparison.zh-cn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
layout: page
title: 对比
parent: 中文版
nav_order: 3
permalink: /zh-cn/comparison/
---

# NHP与SPA的对比

77 changes: 39 additions & 38 deletions docs/zh-cn/deploy.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,40 @@
layout: page
title: 部署OpenNHP
parent: 中文版
nav_order: 3
nav_order: 4
permalink: /zh-cn/deploy/
---

# 部署OpenNHP

## OpenNHP组件说明
## 1. OpenNHP组件说明

根据上一章中的构建步骤,构建结果将输出到 *release* 目录下,该目录下的三个子目录分别包含OpenNHP的三大核心组件:*nhp-agent**nhp-server**nhp-ac*

- **nhp-agent代理:** 发起敲门请求的模块,敲门请求中带有数据访问者的身份和设备信息,通常安装在用户终端的设备上。
- **nhp-server服务器:** 处理并验证敲门请求的模块,通常是服务器程序。其功能包括验证敲门请求并与外部授权服务提供商进行交互实现鉴权操作,以及控制NHP门禁进行开门动作。
- **nhp-ac门禁:** 访问控制的执行模块,通常是服务器程序。该模块执行默认“拒绝一切”(deny all)的安全策略并确保被保护资源的网络隐身状态,通常位于被保护资源所在的同一主机上。负责向已授权的NHP代理开放访问权限或向已失去授权的NHP代理关闭访问权限,并根据NHP服务器返回参数执行针对NHP代理的放行动作。

## OpenNHP开发测试环境搭建
## 2. OpenNHP开发测试环境搭建

### 开发测试环境:Windows/MacOS开发主机 + Linux虚拟机
### 2.1 开发测试环境:Windows/MacOS开发主机 + Linux虚拟机

假设开发主机为Windows或者macOS,可通过安装虚拟机环境(如VirualBox)并创建两台Linux虚拟机来搭建简单的OpenNHP测试环境。在创建虚拟机时,请将网卡选项设置为`"Host-only Adapter"`(如下图),可使虚拟机的IP与开发主机IP在同一个网段。

![VirualBox Network](./docs/images/vbnetwork.png)
![VirualBox Network](../images/vbnetwork.png)

**提示:** 如需该虚拟机同时具备访问互联网能力,可以另外增加一个`"NAT"`网卡:
![VirualBox Network](./docs/images/vbnetwork2.png)
![VirualBox Network](../images/vbnetwork2.png)

至此,NHP三大组件的环境搭建如下:

- 【nhp-server】 运行在Linux虚拟主机上,IP地址为*192.168.56.101*
- 【nhp-ac】 运行在Linux虚拟主机上,IP地址为*192.168.56.102*
- 【nhp-agent】 运行在Windows/macOS开发主机上,IP地址为*192.168.56.1*

### 开发测试环境的网络拓扑与基础信息
### 2.2 开发测试环境的网络拓扑与基础信息

![OpenNHP-Dev-WSL](./docs/images/dev_wsl.png)
![OpenNHP-Dev-WSL](../images/dev_wsl.png)

| 服务器名称 | IP地址 | 基础配置信息 |
|:--:|:--:|:--:|
Expand All @@ -47,13 +47,13 @@ permalink: /zh-cn/deploy/

**【提示】** 从0.3.3版本起,各组件配置文件中的大多数字段都支持动态更新,详见各配置文件注释说明。

### NHP-Server的配置与运行
### 2.3 NHP-Server的配置与运行

#### NHP-Server系统要求
#### 2.3.1 NHP-Server系统要求

- Linux服务器或者Windows

#### NHP-Server运行
#### 2.3.2 NHP-Server运行

*release*目录下*nhp-server*目录复制到目标机器上。配置好*etc*目录下 `toml`文件(详细参数见下一节),运行`nhp-serverd run`

Expand All @@ -71,27 +71,27 @@ permalink: /zh-cn/deploy/

*【可选项】* 禁止UDP端口暴露:运行`iptables_default.sh`

#### NHP-Server服务器的配置文件
#### 2.3.3 NHP-Server服务器的配置文件

- 基础配置:[config.toml](server/main/etc/config.toml)
- 门禁peer列表配置:[ac.toml](server/main/etc/ac.toml)
- 客户端peer列表配置:[agent.toml](server/main/etc/agent.toml)
- http服务配置:[http.toml](server/main/etc/http.toml)
- 服务器插件读取配置:[resource.toml](server/main/etc/resource.toml)
- 源地址关联列表:[srcip.toml](server/main/etc/srcip.toml)
- 服务器插件资源配置:[resource.toml](server/plugins/example/etc/resource.toml)
- 基础配置:[config.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/config.toml)
- 门禁peer列表配置:[ac.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/ac.toml)
- 客户端peer列表配置:[agent.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/agent.toml)
- http服务配置:[http.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/http.toml)
- 服务器插件读取配置:[resource.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/resource.toml)
- 源地址关联列表:[srcip.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/srcip.toml)
- 服务器插件资源配置:[resource.toml](https://github.com/OpenNHP/opennhp/tree/main/server/main/etc/resource.toml)

### NHP-AC的配置与运行
### 2.4 NHP-AC的配置与运行

#### NHP-AC系统要求
#### 2.4.1 NHP-AC系统要求

- Linux服务器,内核需支持**ipset**。可通过以下命令查看ipset支持情况

```bash
lsmod | grep ip_set
```

#### NHP-AC运行
#### 2.4.2 NHP-AC运行

*release*目录下*nhp-ac*目录复制到目标机器上。配置好*etc*目录下 `toml`文件(详细参数见下一章),运行`iptables_default.sh`,添加防火墙规则,此时外部连接将无法建立。再运行`nhp-acd run`

Expand All @@ -111,18 +111,18 @@ permalink: /zh-cn/deploy/
iptables -F
```

#### NHP-AC门禁配置文件
#### 2.4.3 NHP-AC门禁配置文件

- 基础配置:[config.toml](ac/main/etc/config.toml)
- 服务器peer列表:[server.toml](ac/main/etc/server.toml)
- 基础配置:[config.toml](https://github.com/OpenNHP/opennhp/tree/main/ac/main/etc/config.toml)
- 服务器peer列表:[server.toml](https://github.com/OpenNHP/opennhp/tree/main/ac/main/etc/server.toml)

### NHP-Agent的配置与运行
### 2.5 NHP-Agent的配置与运行

#### NHP-Agent系统要求
#### 2.5.1 NHP-Agent系统要求

- 所有平台:Windows、Linux、macOS、Android、iOS

#### NHP-Agent运行
#### 2.5.2 NHP-Agent运行

*release*目录下*nhp-agent*目录复制到目标机器上。配置好*etc*目录下 `toml`文件(详细参数见下一章),运行`nhp-agentd run`

Expand All @@ -138,13 +138,13 @@ permalink: /zh-cn/deploy/
nhp-agentd.exe run
```

#### NHP-Agent的配置文件
#### 2.5.3 NHP-Agent的配置文件

- 基础配置:[config.toml](agent/main/etc/config.toml)
- 敲门目标配置:[resource.toml](agent/main/etc/resource.toml)
- 服务器peer列表:[server.toml](agent/main/etc/server.toml)
- 基础配置:[config.toml](https://github.com/OpenNHP/opennhp/tree/main/agent/main/etc/config.toml)
- 敲门目标配置:[resource.toml](https://github.com/OpenNHP/opennhp/tree/main/agent/main/etc/resource.toml)
- 服务器peer列表:[server.toml](https://github.com/OpenNHP/opennhp/tree/main/agent/main/etc/server.toml)

### 测试NHP网络隐身效果
### 2.6 测试NHP网络隐身效果

验证NHP网络隐身效果,可以通过nhp-agent主机 *(IP:192.168.56.1)*进行`ping` nhp-ac主机 *(IP:192.168.56.102)*来测试。

Expand All @@ -153,9 +153,9 @@ permalink: /zh-cn/deploy/
| nhp-agent未运行 |`ping 192.168.56.102` | 测试AC对Agent隐身 | ping 失败 |
| nhp-agent已运行 |`ping 192.168.56.102` | 测试AC对Agent开放 | ping 成功 |

## 日志说明
## 3. 日志说明

### 日志文件位置
### 3.1 日志文件位置

日志文件生成于每个组件各自的*logs*目录下,以日期作为文件名,可通过`tail`命令查看。

Expand All @@ -177,7 +177,7 @@ permalink: /zh-cn/deploy/
tail -f release/nhp-agent/logs/agent-2024-03-10.log
```

### 日志文件格式
### 3.2 日志文件格式

日志的格式如下:

Expand All @@ -193,7 +193,7 @@ permalink: /zh-cn/deploy/
- Info
- Debug

## 附录A:常见问题FAQ
## 4. 附录A:常见问题FAQ

- **Q:** Windows平台上编译错误:`running gcc failed: exec: "gcc": executable file not found in %PATH%`
**A:** 原因是没有安装`gcc`编译工具。请按照上文中3.1.3中步骤安装GCC。
Expand All @@ -206,4 +206,5 @@ permalink: /zh-cn/deploy/
【方法】在nhp-server/plugins/下对应的插件模块中,找到etc/resource.toml文件,里面能配置资源的端口、时长、id等信息;如果用的是nhp-agent敲门,则默认是example插件。如果是微信扫码敲门,用的是wxweb插件。

- 如何检查配置是否生效?
【方法】server和ac的日志里有记录。也可以在ac的系统里输入ipset -L命令查看授权的源ip目的端口和时长。
【方法】server和ac的日志里有记录。也可以在ac的系统里输入ipset -L命令查看授权的源ip目的端口和时长。

2 changes: 1 addition & 1 deletion docs/zh-cn/server_plugin.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: page
title: 服务器插件开发
parent: 中文版
nav_order: 6
nav_order: 7
permalink: /zh-cn/server_plugin/
---

Expand Down

0 comments on commit 815e0fa

Please sign in to comment.