Linux服务器所以Frp实现内网穿透(阿里云Ubuntu)
Song •
2762 次浏览 •
0个评论 •
2019年03月19日
有时候我们需要让内网的服务器允许访问,但是自己内网家庭常用带宽,我发直接访问IP,所以我们只能进行内网穿透,使用花生壳等软件是付费的,所以我们选择了frp
作为内网穿透工具,配置如下,你需要的东西有:
- 公网服务器,具有外网IP(如阿里云,腾讯云等服务器)
- 内网服务器,能联网即可。
一、下载Frp项目
分别下载frp
到公网服务器和内网服务器:
wget https://github.com/fatedier/frp/releases/download/v0.25.0/frp_0.25.0_linux_amd64.tar.gz
然后解压并进入服务器,
tar zxvf ./frp_0.25.0_linux_amd64.tar.gz
cd frp_0.25.0_linux_amd64/
# 目录内容如下
# LICENSE frpc frpc.ini frpc_full.ini frps frps.ini frps_full.ini
二、配置公网服务器
进入公网IP服务器中修改目录中的frps.ini
配置文件, 将bind_port
改为随意可用端口
[common]
bind_port = 7000
三、修改内网服务器
在内网IP服务器中修改frpc.ini
配置文件:
[common]
server_addr = 123.123.123.123
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
其中解释如下:
- common表示基本配置
- server_addr:公网服务器地址
- server_port:公网bind_port配置的端口
- ssh表示使用ssh登录内网服务器
- type:tcp即可
- local_ip:本地iP,127.0.0.1即可
- local_port: ssh端口
- remote_port:ssh链接端口
四、分别启动内网公网服务器FRP
1、在公网服务器中启动frps服务端:
为了方便调试,我们先启动桌面版:
cd frp_0.25.0_linux_amd64/
./frps -c ./frps.ini
# 链接成功会出现如下内容
# 2019/03/19 16:41:16 [I] [service.go:88] frps tcp listen on 0.0.0.0:7000
# 2019/03/19 16:41:16 [I] [main.go:112] Start frps success
# 2019/03/19 16:41:16 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues
生产使用中可使用如下命令在后台运行:
nohup ./frps -c ./frps.ini > /dev/null 2>&1 &
2、在内网服务器中启动frpc客户端:
公网服务器启动成功后,在内网服务器中启动frpc
,为了方便调试,我们一样启动桌面版:
cd frp_0.25.0_linux_amd64/
./frpc -c ./frpc.ini
# 链接成功会出现如下内容
# 2019/03/19 17:43:44 [I] [control.go:276] [f094394cf61f02fe] login to server success, get run id [f094394cf61f02fe]
# 2019/03/19 17:43:44 [I] [control.go:411] [f094394cf61f02fe] [ssh] start proxy success
生产使用中可使用如下命令在后台运行:
nohup ./frpc -c ./frpc.ini > /dev/null 2>&1 &
五、ssh登录服务器
如果配置成功,在进入本地服务器就相对容易了,与以前的ssh
一样:
ssh root@公网IP -p 6000
也可以使用
ssh -oPort=6000 test@公网IP
六、常见问题与解决方案
1、内网服务器无法连接frpc客户端:
此问题一般情况是公网IP没有开放bind_port
设置的7000
端口,此时可以检查防火墙是否允许以及查看服务器安全规则,如阿里云需要设置安全组规则允许访问。
2、ssh无法使用内网账号密码登录,只能使用公网密码登录
ssh无法使用内网账号密码登录,只能使用公网密码登录;一登录直接跳转到外网服务器,没有实现穿透效果,此时需要设置内网服务器
的frpc.ini
文件,修改local_ip = 127.0.0.1
。
3、ssh无法登录到frp服务器,提示超时
此问题的原因是公网未开放ssh
配置的端口,开放一下即可,如我的是阿里云,ssh
端口为6000
,我去阿里云安全组规则允许访问6000端口才搞定。
更多信息:
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
更多相关好文