Title

frp内网穿透,通过云服务器公网ip实现内网远程连接

1、下载frp部署包,并修改配置

地址:https://github.com/fatedier/frp/releases寻找适合自己的架构,arm的架构也能与amd架构服务器相互连接

将包放到带有公网IP的云服务器上并解压
[root@ubt-server ~]# cd frp_0.65.0_linux_amd64       
root@iZ2zegcfdpex614g0z6yy6Z:~/frp_0.65.0_linux_amd64# cat frps.ini         # 将配置文件添加进去,这个“#”后的中文在写入配置中的时候都去掉
[common]                       # 连接-必填             
bind_port = 7000               # frp服务相互通信的端口,安全组需要开放该端口         
dashboard_port = 7500          # 图形化端口,安全组需要开放该端口
dashboard_user = admin         # 图形化页面用户
dashboard_pwd = 123456         # 密码
token = 123456                 # 认证密码,建议写的安全一点,测试完修改

vhost_http_port = 8080         # http服务端口,安全组需要开放该端口
vhost_https_port = 8443        # https服务端口,安全组需要开放该端口


将包在内网服务器上解压一份,并测试与公网IP之间的连通性(ping一下ip就行)
[root@ubt-server frp_0.65.0_linux_amd64]# cat frpc.ini                      # 将配置文件添加进去,这个“#”后的中文在写入配置中的时候都去掉
[common]
server_addr = 你的公网IP
server_port = 7000             # frp服务相互通信的端口,上面的
token = 123456                 # 上面的认证密码

[ssh]
type = tcp
local_ip = 127.0.0.1           # 填写本地的IP
local_port = 22                # 本地端口
remote_port = 6000             # 远程连接IP

2、运行服务并测试

# 服务端-公网服务器
./frps -c ./frps.ini       # 运行命令,运行后不要点contrl+c退出

# 客户端-内网服务器
./frpc -c ./frpc.ini       # 运行命令,运行后不要点contrl+c退出

# 先在本地的windows上“telnet 公网IP 7000”,“telnet 公网IP 7500”,看看安全组是否放开
# 以上操作都做了以后再远程连接公网服务器的6000端口,密码填内网服务器的密码,检查IP是否为内网IP

3、访问内网的https服务

# 客户端-内网服务器
[root@ubt-server frp_0.65.0_linux_amd64]# cat frpc.ini                      
[common]
server_addr = 你的公网IP
server_port = 7000             
token = 123456                 

[ssh]
type = tcp
local_ip = 127.0.0.1        
local_port = 22                
remote_port = 6000   

# 添加进去
[web]
type = https
local_ip = 127.0.0.1
local_port = 443
custom_domains = xxxx.com        # 你在内网访问的域名  



# 运行  ./frpc -c ./frpc.ini ,随后访问https://xxx.com:8443

4、服务器代理多个端口

root@iZ2zegcfdpex614g0z6yy6Z:~/frp_0.65.0_linux_amd64# cat frps.ini    # 配置文件除了密码不做更改     
[common]                     
bind_port = 7000                     
dashboard_port = 7500    
dashboard_user = admin      
dashboard_pwd = 123456      
token = xxxxxxxxxxxxx  # 改复杂一点              

vhost_http_port = 8080   
vhost_https_port = 8443      

# 云服务器预先放行端口安全组6001-6005作为远程端口,将安全组访问限制到自己使用的IP

# 客户端-内网服务器
[root@ubt-server frp_0.65.0_linux_amd64]# cat frpc.ini
[common]           
server_addr = 39.105.130.0
server_port = 7000
token = 123456

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[mysql]                # 示例           
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 6001    

[dm]                   # 示例   
type = tcp
local_ip = 127.0.0.1
local_port = 5236
remote_port = 6002

# 运行客户端与服务端,再尝试连接,后续如果需要代理其他的内网服务,只需要将客户端的包拷贝到对应的内网服务器上,将内容填成实例的样子,
# 再占用一个未使用的安全组端口运行服务即可,连接方式仍是“公网IP+端口”
posted @ 2025-11-26 15:49  xwk123  阅读(38)  评论(0)    收藏  举报