IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Open*** + Frp 搭建本地局域网 -> 正文阅读

[系统运维]Open*** + Frp 搭建本地局域网

序言

使用 Open*** + Frp 技术搭建本地局域网,需准备好本地服务器环境,一台用于搭建 Open*** 服务端、Frp 客户端;以及一台云服务器(提供公网 IP),用于搭建 Frp 服务端。Frp 可将本地 Open*** Server 监听的 1194 端口放到公网服务器上,用于外网用户进行拨号。

\本地服务器(192.168.2.157)云服务器(公网 IP)
Frp Server
Frp Client
Open*** Server

一、安装 Open***

1.更新 yum 源

更新 Base 源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

更新 epel 源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2.安装软件包

yum -y install open*** easy-rsa

3.配置 easy-rsa-3 及 Open***

3.1.生成 server 端证书

# 依次执行以下命令
cp -r /usr/share/easy-rsa/ /etc/open***/easy-rsa
cd /etc/open***/easy-rsa/
\rm 3 3.0
cd 3.0.8/
cp /usr/share/doc/easy-rsa-3.0.8/vars.example ./vars

# 创建 pki 目录以及 ca 证书
./easyrsa init-pki    # 创建 pki 目录
./easyrsa build-ca nopass # 创建 ca 证书,不使用密码,默认回车

# 创建 server 端证书
./easyrsa gen-req server nopass # 默认回车

# 签名 server 端证书
./easyrsa sign server server # 输入 yes

# 生成 dh 验证文件
./easyrsa gen-dh

3.2.生成 client 端证书

# 依次执行以下命令
cp -r /usr/share/easy-rsa/ /etc/open***/client/easy-rsa
cd /etc/open***/client/easy-rsa/
\rm 3 3.0 
cd 3.0.8/
cp /usr/share/doc/easy-rsa-3.0.8/vars.example ./vars

# 创建 pki 目录
./easyrsa init-pki

# 创建 client 端证书
./easyrsa gen-req client nopass # 默认回车

# 签名 client 端证书
cd /etc/open***/easy-rsa/3.0.8/

./easyrsa import-req /etc/open***/client/easy-rsa/3.0.8/pki/reqs/client.req client

./easyrsa sign client client # 输入 yes

3.3.整理证书

# server 端所需证书

mkdir /etc/open***/certs
cd /etc/open***/certs

# 生成 ta.key (拒绝服务攻击证书)
open*** --genkey --secret ta.key

cp /etc/open***/easy-rsa/3.0.8/pki/dh.pem ./
cp /etc/open***/easy-rsa/3.0.8/pki/ca.crt ./
cp /etc/open***/easy-rsa/3.0.8/pki/issued/server.crt ./
cp /etc/open***/easy-rsa/3.0.8/pki/private/server.key ./

[root@node1 certs]# ll
总用量 24
-rw-------. 1 root root 1172 726 15:08 ca.crt
-rw-------. 1 root root  424 726 15:08 dh.pem
-rw-------. 1 root root 4552 726 15:08 server.crt
-rw-------. 1 root root 1704 726 15:09 server.key
-rw-------. 1 root root  636 726 14:59 ta.key

# client 端所需证书
mkdir /etc/open***/client/client
cd /etc/open***/client/client/
cp /etc/open***/certs/ta.key ./
cp /etc/open***/easy-rsa/3.0.8/pki/ca.crt ./
cp /etc/open***/easy-rsa/3.0.8/pki/issued/client.crt ./
cp /etc/open***/client/easy-rsa/3.0.8/pki/private/client.key ./

[root@node1 client]# ll
总用量 20
-rw-------. 1 root root 1172 726 15:09 ca.crt
-rw-------. 1 root root 4432 726 15:10 client.crt
-rw-------. 1 root root 1704 726 15:10 client.key
-rw-------. 1 root root  636 726 15:11 ta.key

3.4.编辑 server 端配置文件

vim /etc/open***/server.conf

port 1194
proto tcp
dev tun

ca /etc/open***/certs/ca.crt
cert /etc/open***/certs/server.crt
key /etc/open***/certs/server.key
dh /etc/open***/certs/dh.pem

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push "route 10.8.0.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
push "dhcp-option DNS 223.5.5.5"
push "dhcp-option DNS 223.6.6.6"

client-to-client
keepalive 10 120
tls-auth /etc/open***/certs/ta.key 0

cipher AES-256-GCM
comp-lzo
max-clients 100
persist-key
persist-tun

status open***-status.log
log         open***.log
verb 3

3.5.编辑 client 端配置文件

vim /etc/open***/client.ovpn

client
dev tun
proto tcp

remote 公网IP 9411
resolv-retry infinite

nobind
persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key

remote-cert-tls server

tls-auth ta.key 1
cipher AES-256-GCM
comp-lzo

auth-nocache

verb 4

4.配置路由转发 及 iptables

# 执行以下命令

# 启用路由转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

sysctl -p # 出现下面一行说明设置成功
net.ipv4.ip_forward = 1

# 配置 iptables
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

iptables -t nat -L # 出现以下结果说明成功
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  10.8.0.0/24          anywhere

5.启动 Open*** 服务

# 启动服务
systemctl start open***@server

# 查看状态
systemctl status open***@server

到这里已经结束了 Open*** Server 端的搭建,接下来需要配置的是 Frp 以及 Open*** Client 端进行连接。

二、安装 Frp

下载地址 https://github.com/fatedier/frp/releases

1.云服务器上部署

# 解压安装包
tar -zxvf frp_0.37.0_linux_amd64.tar.gz

cd /usr/software/frp_0.37.0_linux_amd64/

# 编辑 frps.ini 文件
vim frps.ini

[common]
bind_port = 7000
token = abc123

# frp管理后台端口
dashboard_port = 1402
# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = admin123
enable_prometheus = true

# frp日志配置
log_file = /usr/software/frp_0.37.0_linux_amd64/frps.log
log_level = info
log_max_days = 3

# 保存退出
:wq

# 控制台启动 frp
./frps -c ./frps.ini

# 后台启动
nohup ./frps -c frps.ini &

# 配置服务开机自启动
cp frps /usr/bin/
mkdir /etc/frp
cp frps.ini /etc/frp/
cp systemd/frps.service /usr/lib/systemd/system/

systemctl enable frps # 设置开机自启动

systemctl start frps # 启动 frps 即 frp server

systemctl status frps # 查看 frps 状态

2.本地服务器上部署

# 解压安装包
tar -zxvf frp_0.37.0_linux_amd64.tar.gz

cd /usr/software/frp_0.37.0_linux_amd64/

# 编辑 frpc.ini 文件
vim frpc.ini

[common]
server_addr = 公网IP
server_port = 7000
token = abc123

[vpn]
type = tcp
local_ip = 192.168.2.157
local_port = 1194
remote_port = 9411 # 将本地 1194 端口映射到 公网 9411 端口

# 保存退出
:wq

# 控制台启动 frp
./frpc -c ./frpc.ini

# 后台启动
nohup ./frpc -c frpc.ini &

# 配置服务开机自启动
cp frpc /usr/bin/
mkdir /etc/frp
cp frpc.ini /etc/frp/
cp systemd/frpc.service /usr/lib/systemd/system/

systemctl enable frpc # 设置开机自启动

systemctl start frpc # 启动 frpc 即 frp client

systemctl status frpc # 查看 frpc 状态

三、连接测试

  • 依次检查 Open*** Server 端、Frps、Frpc 是否正常启动
  • 将上面生成的 Open*** Client 端的证书以及配置文件(client.ovpn),分发到模拟的外网用户中(证书与配置文件需在同一目录下)
  • 使用 Open*** Client 进行连接

下载地址 https://openv***.net/community-downloads/

四、问题总结

  1. Write to TUN/TAP:Unknown error(code=122)

因为在 Open*** Server 配置文件中使用了 comp-lzo 压缩,而 Client 端配置文件中没有 开启。

  1. WARNING: this configuration may cache passwords in memory – use the auth-nocache option to prevent this

Open*** Client 端配置文件加上 auth-nocache

参考资料 : https://www.xionghaier.cn/archives/367.html

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:51:53  更:2021-08-01 14:52:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:29:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码