树莓派3 利用frp内网穿透搭建

                                                                                          树莓派3 利用frp内网穿透搭建


树莓派3 如果不能在外网控制树莓派系统,可玩性也就降低了。这里介绍用frp开源软件进行内网穿透,让你在外面也能控制树莓派系统。


一、软件的准备;

需要一台具有公网IP的机器,对应该机器的frps的软件包,树莓派3的frpc的软件包

由于我是用的公网ip的机器是centos 6.5 ,这里提供了2个软件包,这是githup网址:

https://github.com/wangdamingll/shumeipi3


二、frps 服务器的搭建

1、tar -zxvf frp_0.11.0_linux_amd64.tar.gz

2、cd frp_0.11.0_linux_amd64

3、 vim frps.ini

这是服务端配置文件内容

[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 8080
vhost_https_port = 443
dashboard_port = 7500
auth_token = frp

log_file = ./frps.log
log_level = info

4、启动服务:./frps -c ./frps.ini 

5、查看配置log文件: vim ./frps.log

如果没有什么异常,就是成功的


三、frps 客户端的搭建

1、tar -zxvf frp_0.11.0_linux_arm.tar.gz

2、cd frp_0.11.0_linux_arm

3、 vim frpc.ini

[common]
server_addr = xxx.xxx.xxx.xxx  #你的公网服务器的ip地址
server_port = 7000                  #和服务器的端口一致
local_ip = 127.0.0.1
log_file = ./frpc.log
 
[ssh]                                     #配置ssh内网穿透
type = tcp
local_port = 22  
remote_port = 2200              #端口号,用于外网连接


4、启动客户端:./frpc -c ./frpc.ini 

5、查看log: vim frpc.log 如果没有异常的话就是成功的


四、测试

1、查看服务器监听的所有端口号

netstat -anpt

tcp        0      0 :::7500                     :::*                        LISTEN      14262/./frps        
tcp        0      0 :::8080                     :::*                        LISTEN      14262/./frps        
tcp        0      0 :::22                       :::*                        LISTEN      1429/sshd           
tcp        0      0 :::2200                     :::*                        LISTEN      14262/./frps        
tcp        0      0 :::7000                     :::*                        LISTEN      14262/./frps        
tcp        0      0 :::443                      :::*                        LISTEN      14262/./frps   

看到了吗? 2200穿透端口号!

2、测试服务器穿透端口是否通

telnet xxx.xxx.xxx.xxx 2200    #xxx.xxx.xxx.xxx 是你的服务器ip
Trying xxx.xxx.xxx.xxx... 
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3

这就通了

3、在外网ssh连接内网树莓派系统

ssh pi@xxx.xxx.xxx.xxx -p 2200
pi@xxx.xxx.xxx.xxx's password: 


The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.


Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Aug 20 11:24:08 2017 from 192.168.2.103
pi@xxx:~ $ 

这就成功了


五、补充

1、为了更方便,可以将frp服务开机启动,树莓派系统为例

sudo vim /etc/rc.local

sudo nohup /home/pi/fuzhusoft/frp_0.11.0_linux_arm/frpc -c /home/pi/fuzhusoft/frp_0.11.0_linux_arm/frpc.ini &  >> /dev/null 2>&1

frp具体路径请自行配置

2、这里有几个大坑

1)frpc 连接 frps的时候,一定要保持2台机器的时钟同步,否则是连不上的,报的错误是含有time的关键字!

时间同步:ntpd -s -d 或者 htpdate -t -s ntp.neu.edu.cn ,最好加入到开机启动中

2)开机启动

sudo nohup /home/pi/fuzhusoft/frp_0.11.0_linux_arm/frpc -c /home/pi/fuzhusoft/frp_0.11.0_linux_arm/frpc.ini &  >> /dev/null 2>&1

不要少了sudo,因为需要在 / 目录下面创建 frps.log日志

不要写成 $HOME/fuzhusoft/frp_0.11.0_linux_arm/frpc -c $HOME/fuzhusoft/frp_0.11.0_linux_arm/frpc.ini  

你懂得,最好写绝对路径

注:开启启动的前提是在启动frp之前网络一定要提前连好,这就需要设置树莓派的配置

(1)  sudo raspi-config --> Boot Options -->Wait for Network at Boot Choose whether to wait for network connection during boot --> yes -->finish

猜你喜欢

转载自blog.csdn.net/wangdamingll/article/details/77427458