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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 使用frps建立内网穿透从而实现外界连接内网电脑的全教程 -> 正文阅读

[系统运维]使用frps建立内网穿透从而实现外界连接内网电脑的全教程

1. 说明

我有台服务器,但它在内网里,我需要通过ssh方式访问它,目前可以采用:向日葵等商业软件,RustDesk等开源软件。或者,《自建内网穿透服务器》。
本教程把实现上述功能的所有步骤罗列出来,以及避坑攻略。注意,本教程采用Linux(公网服务器端、内网服务器端)。至于你自己ssh远程的客户端就随意了,windows和linux都可以ssh。
本教程参考了:
https://www.bilibili.com/video/BV1D7411q7cA?p=2
https://blog.csdn.net/qq_26290415/article/details/115839191
https://www.ofuni.com/frp-config/
https://blog.csdn.net/jackghq/article/details/54974141
等。

2. 工具准备

a. 带公网IP的公网服务器
b. 需要访问的内网服务器(很多教程叫它客户端,我认为这个实际是我需要访问的内网服务器,所以和其他人叫法有所区别。
c. 客户端(很多教程并未提及这个,实际设置上也有点trick。客户端是你自己的笔记本电脑之类的,你想要从客户端远程接入服务器)

3. 公网服务器申请

阿里云,腾讯云(轻量级应用即可满足一般需求)。截至 2021年11月。Amazon依旧可以申请免费1年的服务器端。
网址:https://aws.amazon.com/cn/campaigns
申请免费1年的EC2。自己申请,具体教程要去找其他教程了。
图1
本教程列出两个必要设置:
(1)EC2控制面板左侧,点击安全组。–》 找到”编辑入站规则“ --》编辑成下图3(所有流量均可访问)
图2
图3
(2)链接外网ip地址。这个ip地址,就是公网服务器的地址,也是你以后都要使用,来访问私网服务器的地址。有些教程是有公网域名的。也是可以的。本教程我们假设你申请到的IP是199.199.199.9
图4

4. 公网服务器端设置

要求,使用root设置。

步骤1. 下载frps

cd ~
wget https://github.com/fatedier/frp/releases/frp_0.30.0_linux_amd64.tar.gz
tar -zxvf frp_0.30.0_linux_amd64.tar.gz
mv frp_0.30.0_linux_amd64 frp
cd frp/
vi frps.ini 

步骤2. 设置frps(请务必注意,这里是frps.ini,后面是frpc.ini,这个坑,耽误了我3个小时)

[common]
bind_port = 7000
token = ttt123

# web online check status of frp
dashboard_port=7500
dashboard_user=sheng
dashboard_pwd=abc123

# point to point 
bind_udp_port = 7001

这里的设置可变的项,有:
token,dashboard_user,dashboard_pwd,你可以设置为你想要的密钥,用户名和密码。后续有用。
你也可以增加其他服务端口,比如其他教程里加的:

# http, https port
vhost_http_port = 8080
vhost_https_port= 443

http
https服务。我不需要,所以没加。

步骤3. 开启服务并测试是否正常开启。

cd ~/frp
./frps -c frps.ini

在外网服务器端开启该服务后,任何一台电脑,输入网址:
http://199.199.199.9:7500 (这个Ip请改成你自己申请到的IP)
输入账户sheng密码abc123(即你写的dashboard_user和dashboard_pwd的设置值)就可以直接访问该frp服务器端。查看状态。

步骤4. 内网服务器端设置。

在你的内网服务器,下载frps,

cd ~
wget https://github.com/fatedier/frp/releases/frp_0.30.0_linux_amd64.tar.gz
tar -zxvf frp_0.30.0_linux_amd64.tar.gz
mv frp_0.30.0_linux_amd64 frp
cd frp/
vi frpc.ini 

设置frpc.ini。请注意:
这里设置的是frpc.ini !!!
这里设置的是frpc.ini !!!
这里设置的是frpc.ini !!!

[common]
server_addr = 199.199.199.9
server_port = 7000
token = ttt123
# frpc客户端管理界面
admin_addr = 127.0.0.1
admin_port = 7400
# 失败重连
login_fail_exit = true

[ssh1]
type = tcp
local_ip = 0.0.0.0
local_port = 22
remote_port = 6001

这里设置的token必须和前面frps的token一致。
linux的ssh端口是22,所以必须使用22.
可以更改的有,
连接名:[ssh1]可以随意更改,以及增加。但不要重复。
local_ip:是你的内网服务器的ip地址。
remote_port可以设置为6000-7000随意。但不要重复。后续要用这个端口来ssh连接内网服务器。

步骤5. 内网服务器端测试

cd ~/frp
./frpc -c frpc.ini

至此,你已经可以在任何一个客户端,访问内网服务器了。

步骤6. 客户端测试

注意坑2:
如果你的内网服务器是Ubuntu,那么需要开启ssh,(默认不开启)。开启ssh,开启ssh,开启ssh!!!
具体见:https://blog.csdn.net/jackghq/article/details/54974141

sudo apt-get install openssh-server
dpkg -l | grep ssh
ps -e | grep ssh

然后,你用内网服务器的用户名和密码,即可访问内网服务器。
Windows:
putty里设置 IP: 199.199.199.9 Port: 6001
Linux:

ssh -p 6001 userid@199.199.199.9

也可以直接访问了。

步骤7:自启动设置(公网和内网服务器均需设置)

公网服务器端

cd /etc/systemd/system/
vi frps.service

在frps.service里输入以下内容:

[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
TimeoutStartSec=30
ExecStart=~/frp/frps -c ~/frp/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
Alias=frps

接着开启自动启动,并开启frps服务:

systemctl enable frps.service
systemctl start frps
systemctl status frps

内网服务器端

cd /etc/systemd/system/
vi frpc.service

在frpc.service里输入以下内容:

[Unit]
Description=frpc daemon
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
TimeoutStartSec=30
ExecStart=~/frp/frpc -c ~/frp/frpc.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
Alias=frpc

接着开启自动启动,并开启frpc服务:

systemctl enable frpc.service
systemctl start frpc
systemctl status frpc

注意:
请自行检查并修改frps和frps.ini文件的路径。
请注意frpc和frps的区别

至此,所有设置完毕。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:45:44  更:2021-11-22 12:47:59 
 
开发: 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/16 0:26:13-

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