frp centos 系统穿透内网提供web和ssh服务

简介: 通过frp来实现内网穿透,可以远程公司或家中的服务器,同时可以提供web服务器。这里对这一顿操作进行一个简简单单的介绍和记录... 调试了一个晚上了。

通过frp来实现内网穿透,可以访问公司或家中的web服务,同时可以对服务器进行ssh连接登录。当然,内网穿透还可以在你进行公众号开发的时候提供一些很方便的作用。
以下只说我的情况,目标:搭建FRP进行内网穿透。

准备

  • 公网服务器,拥有独立不变的IP
  • 内网服务器(我这是centos 7)
  • frp 客户端和服务器端
  • 域名

开始

服务器搭建

参考文档 : https://github.com/fatedier/frp/blob/master/README_zh.md#通过自定义域名访问部署于内网的-web-服务

#### 服务端安装
//1. 将frp 服务器端下载
$ wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz

$ tar -xzvf frp_0.20.0_linux_amd64.tar.gz

$ cd frp_0.20.0_linux_amd64 

//修改下端口
# frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080

//启动
$ ./frps -c ./frps.ini 

划重点:vhost_http_port 和 bind_port 如果是云服务器的话,都需要在安全组中开放出来端口。

客户端安装

下载对应客户端压缩包(同服务端),解压后,修改frpc.ini 的配置

修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名 www.yourdomain.com:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

//启动,通过cmd 启动
./frpc -c ./frpc.ini

启动的时候,要注意,本地的80端口要能够访问或提供服务。同时,也开启了SSH服务,本地端口一般都是22,remote_port为远程链接使用的端口。
当全部启动完毕后,访问web服务,就可以看到本地服务器提供的服务了。

SSH连接

根据公网IP地址和frpc.ini 中配置的remote_port 来进行远程连接本地服务器。

hostname : x.x.x.x //为公网服务器IP地址
port : 6000 // 在frpc.ini中配置的remote_port
username : //则是本地服务器的用户名

就这么些了,等后面有空再写写折磨了我半天的重启自动执行的问题...

相关文章
|
6月前
|
安全 Linux Shell
【内网—内网转发】——代理转发_SSH代理转发
【内网—内网转发】——代理转发_SSH代理转发
284 5
|
7月前
|
Shell 网络安全 数据安全/隐私保护
MacOS Sonoma14.2.1系统SSH免密登录
【7月更文挑战第9天】在MacOS Sonoma 14.2.1中设置SSH免密登录,包括:1) 使用`ssh-keygen`生成RSA密钥对;2) 使用`ssh-copy-id`将公钥传到远程主机;3) 用`ssh-add --apple-use-keychain`添加私钥到ssh-agent,并为重启后自动添加配置自动化脚本;4) 可选地,编辑`~/.ssh/config`设置别名简化登录。确保远程主机的`.ssh/authorized_keys`文件权限为600。
188 4
|
6月前
|
网络协议 NoSQL 网络安全
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
|
6月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
294 0
|
8月前
|
网络协议 Linux 网络安全
蓝易云 - centos用ssh登录连接缓慢处理
请根据自己的实际情况尝试以上方法,找出导致SSH登录缓慢的原因,并进行相应的处理。
72 1
|
8月前
|
网络协议 Linux 网络安全
CentOS7增加或修改SSH端口号
CentOS7增加或修改SSH端口号
433 1
|
8月前
|
网络协议 Linux Shell
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
296 0
|
8月前
|
存储 安全 Unix
【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取
【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取
|
8月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
118 0
|
9月前
|
机器学习/深度学习 Linux 网络安全
ssh远程访问windows系统下的jupyterlab
ssh远程访问windows系统下的jupyterlab
174 3