在不同局域网实现跨网访问。
现在有电脑A,B,C
A位于192.168.3.* 局域网下,C位于192.168.3.* 局域网下,现需要A远程访问C。
本博客中介绍的方案是:用阿里云服务器作为服务端,即桥梁B,实现A与C的通信。这里的客户端是C。
打开终端执行下面命令,下载:
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
解压:
tar -xzvf frp_0.36.2_linux_amd64.tar.gz
每个压缩包都包含以下文件及一个systemd文件夹:
- frpc —— 客户端可执行二进制文件
- frpc_full.ini —— 包含全部配置项的客户端配置文件
- frpc.ini —— 客户端使用的配置文件,包含最简配置
- frps —— 服务端可执行二进制文件
- frps_full.ini —— 包含全部配置项的服务端配置文件
- frps.ini —— 服务端使用的配置文件,包含最简配置
- systemd —— 文件夹,用于将frpc和frps添加为服务的配置,linux下使用systemd作为守护程序、mac os使用launchd作为守护程序
sudo gedit frps.ini
[common]
bind_port = 7000 #bind_port端口为frp服务端和客户端连接通信的端口,默认为7000。
vhost_http_port = 8080 #vhost_http_port监听的端口不能被占用,否则会导致frps不能启动,端口可根据实际需要修改。
token = my_token_name #与服务器中的保持一致
sudo ./frps -c ./frps.ini
sudo gedit frpc.ini
[common]
server_addr = 36.152.44.96 #为服务器的ip地址,可通过ping或者nslookup域名看到
server_port = 7000
token = my_token_name #与服务器中的保持一致[lab_ssh] #这里的名字可以随意命名,但不能重复
type = tcp
local_ip = 192.168.1.150
local_port = 22
remote_port = 5111
[lab_mstc]
type = tcp
local_ip = 192.168.1.150
local_port = 3389
remote_port = 5211
[lab_ftp1]
type = tcp
local_ip = 192.168.1.150
local_port = 20
remote_port = 5311
[lab_ftp2]
type = tcp
local_ip = 192.168.1.150
local_port = 21
remote_port = 5312
sudo ./frpc -c ./frpc.ini
在/home/host_name/frp/目录下,创建frpc.sh文件
#!/bin/sh
sleep 20s #开机20秒后启动脚本
sudo /home/host_name/frp/frpc -c /home/host_name/frp/frpc.ini
sudo vim /etc/systemd/system/frpc.service
[Unit]
Description=start_frpc[Service]
ExecStart=/home/host_name/frp/frpc.sh
ExecReload=/home/host_name/frp/frpc.sh[Install]
WantedBy=multi-user.target
# 启动frp
sudo systemctl start frpc
# 开机自启动
sudo systemctl enable frpc
# 重启
sudo systemctl restart frpc
# 停止
sudo systemctl stop frpc
# 查看日志
sudo systemctl status frpc
上一篇:华为OD机试 - 旋转骰子(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
下一篇:华为OD机试 - 网上商城优惠活动(一)(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】