当前位置:首页 > 技术文章 > 正文内容

CentOS 8 / Ubuntu 22.04 / Suse Linux 15 部署 frp 内网穿透访问 SAP

arlanguage3个月前 (01-31)技术文章23

市面上免费的内网穿透工具有很多,比如:frp、ngrok、nat123、蒲公英,今天分享的是免费开源的frp使用教程。

frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。

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

需求:通过域名或公网IP可访问内网部署的SAP ERP服务以及SSH

一、前置条件

1、一台带公网IP的服务器(可购买便宜的阿里云/腾讯云服务器);

2、内网环境服务(比如SAP服务、WEB服务等)已搭建完毕;

3、购买的阿里云服务器已安装CentOS操作系统;

二、配置教程

配置教程主要分为两个部分,一是服务端(即带公网IP的服务器)的配置;二是客户端(内网服务器)配置。

第一步、公网服务器上安全组端口放开

登录阿里云服务平台,进入实例安全组,开放穿透代理需要的端口,在入方向,点击“手动添加”,为了配合测试,使用自定义TCP,放开了所有端口1-65301

第二步、服务端(即带公网IP的服务器)配置

将下载好的frp程序上传至CentOS系统中/usr/local/目录下并将此目录设置777权限,如下图:

配置服务端frps,编辑 frps.ini 配置以下内容:

[common]
# 设置地址及通信端口
bind_addr = 0.0.0.0
bind_port = 7000

# 设置默认的UDP端口
bind_udp_port = 7001

# 监听7080与7443端口,进行 HTTP 与 HTTPS 代理,HTTP 与 HTTPS 端口可以成设置一样
vhost_http_port = 8080
vhost_https_port = 8443

# 设置查看仪表板服务地址及端口,dashboard_addr不设置,默认与bind_addr一样,如果不设置dashboard_port端口这个服务不会开启
dashboard_addr = 0.0.0.0
dashboard_port = 7500

# 设置仪表盘服务的登录的账号与密码,如果不设置就默认都是 admin
dashboard_user = admin
dashboard_pwd = admin

# 设置云服务器的域名,方便简单的配置代理出去的服务可以通过子域名的方式访问
subdomain_host = example.com
privilege_mode = true

# 服务器与客户端时间相差15min会连接失败,0表示不验证
authentication_timeout = 0

# 设置Token, 尽量配置复杂些,配置 frpc 会用到
token = admin
tcp_mux = true

# 设置日志文件记录路径
log_file = /usr/local/frp/frps.log
# 设置日志记录级别,分别有trace, debug, info, warn, error
log_level = info
# 设置日志记录最大天数
log_max_days = 3

设置开机自启动,在/usr/lib/systemd/system/目录下创建frps.service,编辑frps.service 内容设置以下:

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
ExecStop=/bin/kill $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target

设置开机自启动

systemctl enable frps
systemctl start frps
systemctl status frps
systemctl stop frps

部分操作系统,可能需要加 .service 后缀来操作,即:

systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service
systemctl stop frps.service

查看frp是否启动

ps aux | grep frps

手动启动frp

./frps -c ./frps.ini

如果使用的宝塔Linux面板,请在安全放开要代理的端口

验证服务端是否启动成功

访问:http://公网IP:7500/ 输入用户名和密码,用户名和密码为frps.ini文件中设置的,如果可以访问,可查看连接状态

重启 CentOS 服务器并验证frp是否自启动。

如果上述步骤没有问题,则说明frp的服务端配置成功了,也就意味着内网穿透你已经成功了一半!

第三步、客户端配置

登录SUSE Linux 15 SP3 ,将下载好的frp程序上传至SUSE系统中/usr/local/目录下并将此目录设置777权限,如下图:

配置服务端frpc,编辑 frpc.ini 配置以下内容:

[common]
# 云服务器的公网IP地址及 frps 服务端里面设置的通信端口
server_addr = 139.196.154.163
server_port = 7000

# 授权 token 与 frps 配置的一样
token = admin

# 设置日志文件记录路径
log_file = /usr/local/frp/frpc.log
# 设置日志记录级别,分别有trace, debug, info, warn, error
log_level = info
# 设置日志记录最大天数
log_max_days = 1

# 设置可在浏览器里面配置热更新的服务,192.168.1.88 内网IP地址
admin_addr = 192.168.1.88
admin_port = 7400
admin_user = admin
admin_pwd = admin

# RDP,即Windows的远程桌面,RDP默认端口是3389,协议为TCP
[rdp]
type = tcp
local_ip = 192.168.1.88           
local_port = 3389
remote_port = 7001
subdomain = rdp

# SMB,即Windows文件共享所使用的协议,默认端口号445,协议TCP,本条规则可实现远程文件访问。
#[smb]
#type = tcp
#local_ip = 192.168.1.88
#local_port = 445
#remote_port = 7002

# 代理本机 SSH
[ssh]
type = tcp
local_ip = 192.168.1.88
local_port = 22
remote_port = 7003

# 设置本地端口80 HTTP 服务的代理
# 可通过 frps 里面配置的 subdomain_host 域名
# 访问 sap.example.com 加 HTTP 代理端口,即 http://sap.example.com:8080
[web]
type = http
local_port = 80
subdomain = sap

# 代理SAP服务
[SAP]
type = tcp
local_ip = 192.168.1.88
local_port = 3200
remote_port = 3200

# 代理SAP服务
[SAP1]
type = tcp
local_ip = 192.168.1.88
local_port = 3600
remote_port = 3600

# 代理SAP服务
[SAP2]
type = tcp
local_ip = 192.168.1.88
local_port = 3601
remote_port = 3601

设置开机自启动,在/usr/lib/systemd/system/目录下创建frpc.service,编辑frpc.service 内容设置以下:

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target

设置开机自启动

systemctl enable frps
systemctl start frps
systemctl status frps
systemctl stop frps

重启SUSE Linux 15 SP3并启动SAP服务

现在找一台连接手机共享热点的电脑,访问SAP是否可以?

首先在SAP客户端配置如下:

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1652.html

分享给朋友:

“CentOS 8 / Ubuntu 22.04 / Suse Linux 15 部署 frp 内网穿透访问 SAP” 的相关文章

该如何申请泛域名SSL证书

泛域名SSL证书目前在实际应用过程很多,特别是对于一些企业用户和高校用户,子域名多的情况下使用泛域名SSL证书,可用于保护多个域(主机),由域名字段中的通配符 (*) 指示。这种证书主要用于具有许多子域的组织。通配符证书对主域及其所有次级子域有效且无数量限制,方便集成化管理。了解什么是泛域名SSL证...

Nginx 负载均衡配置教程以及 upstream 详解

一、通用配置在 Nginx 中配置负载均衡非常简单。通过定义一个 upstream 块,你可以指定多个后端服务器用于负载均衡。下面是一个基本的例子:http { upstream myapp { server backend1.example.com;...

如何在 CentOS 8 上安装 Nginx centos8.0安装教程

如何在 CentOS 8 上安装 NginxNginx发音为“ engine x”,是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。它可用作HTTP和非HTTP服务器的独立Web服务器,负载平衡器,内容缓存和反向代理。与Apache[1]相比,Nginx可以...

Python WSGI 高性能服务器 - Gunicorn 简介

一、简介Gunicorn 意即 Green Unicorn,绿色独角兽。它是一个被广泛使用的高性能的 Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目。它具有如下特性:原生支持 WSGI、Django 和 Paster自动工作进程管理简单的 Pytho...

了解PHP-FPM

在服务器上,当我们查看php进程时,全都是php-fpm进程,大家都知道这个就是php的运行环境,那么,它到底是个什么东西呢?PHP-FPM简介PHP-FPM,就是PHP的FastCGI管理器,用于替换PHP FastCGI的大部分附加功能,在PHP5.3.3后已经成为了PHP的标配。有小伙伴要问了...

非常想学黑客技术,但是却又不知道如何入门?看这里就够了

黑客攻防是一个极具魅力的技术领域,但成为一名黑客毫无疑问也并不容易。你必须拥有对新技术的好奇心和积极的学习态度,具备很深的计算机系统、编程语言和操作系统知识,并乐意不断地去学习和进步。如果你想成为一名优秀的黑客,下面是12种最重要的基础条件,请认真阅读:第一点:了解黑客的思维方式我们生活中用到的网站...