安装frp实现内网穿透、端口映射功能。本文的服务器使用CentOS,客户端使用Ubuntu。

安装

frp不需要安装,只需要下载打包文件,解压后修改配置文件,最后直接运行frp即可。

服务器端(CentOS)

下载

[[email protected] ~]# wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz

新建目录,将打包文件复制到新目录。

[[email protected] ~]# mkdir /usr/local/frp
[[email protected] ~]# cp frp_0.24.1_linux_amd64.tar.gz /usr/local/frp/
[[email protected] ~]# cd /usr/local/frp/
[[email protected] frp]# ll
total 7260
-rw-r--r--. 1 root root 7432259 Feb 19 21:08 frp_0.24.1_linux_amd64.tar.gz

解压打包文件

[[email protected] frp]# tar -xzvf frp_0.24.1_linux_amd64.tar.gz 
frp_0.24.1_linux_amd64/
frp_0.24.1_linux_amd64/frps_full.ini
frp_0.24.1_linux_amd64/frps.ini
frp_0.24.1_linux_amd64/frpc
frp_0.24.1_linux_amd64/frpc_full.ini
frp_0.24.1_linux_amd64/frps
frp_0.24.1_linux_amd64/LICENSE
frp_0.24.1_linux_amd64/frpc.ini

[[email protected] frp]# ll
total 7264
drwxrwxr-x. 2 arben arben 4096 Feb 12 15:08 frp_0.24.1_linux_amd64
-rw-r--r--. 1 root root 7432259 Feb 19 21:08 frp_0.24.1_linux_amd64.tar.gz

[[email protected] frp]# cd frp_0.24.1_linux_amd64

[[email protected] frp_0.24.1_linux_amd64]# ll
total 19436
-rwxrwxr-x. 1 arben arben 9589632 Feb 12 15:06 frpc
-rw-rw-r--. 1 arben arben 6376 Feb 12 15:08 frpc_full.ini
-rw-rw-r--. 1 arben arben 126 Feb 12 15:08 frpc.ini
-rwxrwxr-x. 1 arben arben 10276544 Feb 12 15:06 frps
-rw-rw-r--. 1 arben arben 2199 Feb 12 15:08 frps_full.ini
-rw-rw-r--. 1 arben arben 26 Feb 12 15:08 frps.ini
-rw-rw-r--. 1 arben arben 11358 Feb 12 15:08 LICENSE

客户端(Ubuntu)

方法与服务器端一样。

配置

服务器端

修改配置文件

[[email protected] frp_0.24.1_linux_amd64]# vim frps.ini 
[common]
bind_port = 20321 #监听20321端口,用于与客户端通信
vhost_http_port = 8080 #监听8080端口,相当于映射端口

启动方法
服务器端使用frps命令,配置文件使用frps.ini。下面的命令是在当前登录的shell中运行的,如果关闭了当前的shell,可能会使frp停止运行。

[[email protected] frp_0.24.1_linux_amd64]# ./frps -c ./frps.ini 
2019/02/19 21:12:06 [I] [service.go:124] frps tcp listen on 0.0.0.0:20321
2019/02/19 21:12:06 [I] [service.go:166] http service listen on 0.0.0.0:8080
2019/02/19 21:12:06 [I] [root.go:204] Start frps success

或者使用下面的命令,让frp在后台运行。

[[email protected] frp_0.24.1_linux_amd64]# nohup ./frps -c ./frps.ini &

客户端

客户端使用frpc命令,配置文件使用frpc.ini。

[email protected]:/usr/local/frp/frp_0.24.1_linux_amd64# vim frpc.ini 
[common]
server_addr = 44.55.66.77 #服务器的IP
server_port = 20321 #服务器监听的frp端口

[ssh]
type = tcp
local_ip = 127.0.0.1 #客户端监听的IP
local_port = 22 #客户端应用的端口
remote_port = 5522 #映射到外网的端口,服务器端不必另外配置端口

[web]
type = http #http协议
local_port = 80 #客户端应用的端口,在服务器端要写vhost_http_port
custom_domains = 44.55.66.77 #服务器的IP,此处也可以写域名

运行frp

[email protected]:/usr/local/frp/frp_0.24.1_linux_amd64# nohup ./frpc -c ./frpc.ini &

访问方法

根据以上配置,可以在公网的PC上访问内网设备的ssh,以下是使用Xshell登录内网的系统的过程。

[D:~]$ ssh 44.55.66.77 5522
Connecting to 44.55.66.77:5522…
Connection established.
To escape to local shell, press Ctrl+Alt+].
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.9.40-eve-ng-ukms-2+ x86_64)
Documentation: https://help.ubuntu.com
Management: https://landscape.canonical.com
Support: https://ubuntu.com/advantage
127 packages can be updated.
81 updates are security updates.
New release '18.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
*** System restart required ***
Last login: Thu Feb 22 09:54:18 2018 from 127.0.0.1
[email protected]:~#

44.55.66.77是公网服务器的IP(frp服务器端)
5522是映射到公网的端口
最终访问的是内网服务器的22端口

在公网PC上访问内网的页面(80端口),在浏览器输入公网服务器的IP和端口即可。如http://44.55.66.77:8080,最终访问的是内网服务器的80端口。

在公网PC访问内网服务器页面

参考资料

https://github.com/fatedier/frp/releases

0 Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注