利用Frp实现非局域网远程连接

前言

本文介绍如何解决不同局域网下两台电脑远程连接的问题。对于windows平台来说,直接用Google的远程桌面即可,体验不错。但对于Linux系统,Google目前的支持很差,还是回归ssh连接的老套路,但是直接使用ssh连接只能用于同一局域网下,为了实现外网的访问,利用frp来解决。

ubuntu安装ssh服务端

首先在要作为服务器的ubuntu主机上安装ssh服务端

1
sudo apt-get install openssh-server

然后确认sshserver是否启动了:(或用“netstat -tlp”命令)

1
ps -e|grep ssh

如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。 

如果没有则可以这样启动:

1
sudo/etc/init.d/ssh start

frp所需要的材料

一个有公网ip的服务器做转发用,此处称之为外网服务器。
可以去vultr https://my.vultr.com/# 购买,便宜好用,还可以用于shadowsocks 翻墙。
一个要当作服务器被远程访问的内网电脑,此处称之为内网服务器。

外网服务器设置

此处外网服务器时centsOS系统
下载frp

1
wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz

解压:

1
2
tar zxf frp_0.27.0_linux_amd64.tar.gz

修改配置(如果只作为ssh用则不需要修改):

1
2
3
4
# 进入文件
cd frp_0.27.0_linux_amd64/
# 修改配置
vi frps.ini

默认配置为:

1
2
[common]
bind_port = 7000

关闭防火墙(如果不做,内网服务器启动frp时会报no route to host 错误):

1
systemctl stop firewalld.service

启动服务,后台运行:

1
nohup ./frps -c frps.ini &

内网服务器设置

下载frp

1
wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz

解压:

1
tar zxf frp_0.27.0_linux_amd64.tar.gz

修改我们的客户端配置文件frpc.ini

1
2
3
4
# 进入文件
cd frp_0.27.0_linux_amd64/
# 修改配置
vi frpc.ini

可以看到客户端默认配置如下:

1
2
3
4
5
6
7
8
9
[common]
server_addr = 120.79.17.158
server_port = 7000

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

[common]表示以下配置信息是一些公用配置信息
server_addr是我们服务端即外网服务器的公网访问ip
server_port是我们前面在服务端配置的frps.ini中bind_port中对应的端口。需保持两边一致
[ssh]表示以下配置信息是我们使用ssh连接内网服务器时需要的一些配置信息
type 是连接类型,ssh方式连接就用tcp
local_ip 是本机ip,直接使用127.0.0.1即可
local_port 是本地ssh端口,ssh默认端口为22
remote_port 是外网服务器请求过来的端口

启动服务:

1
nohup ./frpc -c frpc.ini &

看到start proxy success 则成功

尝试远程连接

用另一台电脑尝试连接内网服务器:

1
ssh x.x.x.x(外网服务器ip) -p 6000(上面设定的remote_port)

密码就是ubuntu登录用户的密码。连接成功即可远程操作家里的Ubuntu主机啦。

参考连接

Ubuntu环境下SSH的安装及使用:https://blog.csdn.net/netwalk/article/details/12952051
CentOS下搭建Frp内网穿透服务: https://blog.csdn.net/kxwinxp/article/details/88428053
十分钟快速搭建frp的ssh和http的内网穿透: https://blog.csdn.net/u012198893/article/details/82348605

Author: Shuchen
Link: http://yoursite.com/2019/07/21/%E5%88%A9%E7%94%A8frp%E5%AE%9E%E7%8E%B0%E9%9D%9E%E5%B1%80%E5%9F%9F%E7%BD%91%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.