Ubuntu系统配置FRP内网穿透

本文介绍了如何使用FRP工具,配合具备公网IP的服务器和内网主机,实现工控机的远程访问,包括服务器端和工控机端的配置步骤,以及如何通过SSH进行远程连接。
摘要由CSDN通过智能技术生成

【使用背景】

公司的机器人上配备了一个4G路由器,工控机连上路由器后就可以访问公网,因为这个机器人是用来室外作业的,所以我就在寻思能不能坐在办公室,远程通过公网进到工控机中的ubuntu系统里去调试机器人。果然,这样的工具早有大佬做出并开源造福世人,那就是今天的主角——FRP !FRP 可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;FRP 有服务端和客户端,服务端需要装在有公网IP的服务器上,客户端装在内网主机上。

【使用前提】

1、一台具备公网IP的服务器(阿里云、腾讯云、华为云等)

2、一台内网主机

3、FRP工具包

【工具下载】

Releases · fatedier/frp · GitHubA fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - Releases · fatedier/frpicon-default.png?t=N7T8https://github.com/fatedier/frp/releases选择合适的版本下载并解压到 /home 目录下,我这边使用的是0.51.2,切记服务器和工控机要使用相同版本的 FRP !

【服务器端】

1、修改配置文件

#
打开服务器端配置文件
vim ./frps.ini
#
我的填写内容如下:
[common]
bind_port = 7000 #服务端与客户端通信端口
dashboard_port = 7500 #后台管理端口
dashboard_user = admin #后台登录用户名
dashboard_pwd = admin
vhost_http_port = 7002 # http穿透端口
vhost_https_port = 7003 # https穿透端口
max_pool_count = 50
token = aaa123 #身份验证令牌,frpc要与frps一致
tcp_mux = true
log_file = /usr/local/frp/frps.log #日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0 #服务器与客户端时间相差15min会连接失败,0表示不验证
subdomain_host = test.xyz #注册的域名
privilege_mode = true

 2、设置FRP开机自启动

#需要先 cd到 frp解压目录.
#复制文件
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
#编写 frp service 文件,以 ubuntu 为例
vim /usr/lib/systemd/system/frps.service #有时候需要手动创建system文件夹
# frps.service内容如下
[Unit]
Description=frps
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
#启动 frp 并设置开机启动
systemctl enable frps
systemctl start frps
systemctl status frps
#部分服务器上,可能需要加 .service后缀来操作,即:
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service

【工控机端】

1、修改配置文件

#打开客户端配置文件
vim ./frpc.ini
#我的填写内容如下:
[common]
server_addr = 10.10.xxx.xxx #公网服务器ip
server_port = 7000 #公网服务端通信端口
token = aaa123 #令牌,与公网服务端保持一致
tcp_mux = true
log_file = /usr/local/frp/frpc.log #日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0 #服务器与客户端时间相差15min会连接失败,0表示不验证
[ssh] #添加ssh节点
type = tcp
local_ip = 192.168.xxx.xxx
local_port = 22
remote_port = 7001 #指明由公网服务器的7001端口代理

2、设置FRP开机自启动

#需要先 cd frp 解压目录.
#复制文件
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini
#编写 frp service文件,以 ubuntu20.04 为例
vim /usr/lib/systemd/system/frpc.service #有时候需要手动创建system文件夹
# frpc.service内容如下
[Unit]
Description=frpc
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill $MAINPID
KillMode=process
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
#启动 frp并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc
#部分服务器上,可以需要加 .service 后缀来操作,即:
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service

【SSH使用】

在我的工作机中输入以下命令就可以远程访问工控机啦!完结撒花~

ssh admin@10.10.xx.xx -p 7001

【博客参考】

FRP搭建内网穿透(亲测有效)_locyanfrp-CSDN博客

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值