xunuan

一,Linux服务器端:

    1.配置文件(frps.ini)

[common]
bind_port = 7000
#用浏览器访问frp后台的端口及账号密码(用服务器的ip+7501访问)
dashboard_port = 7501
dashboard_user = XXXX
dashboard_pwd = XXXX
vhost_http_port = 8080 #配置http8080端口 用于访问自己的80端口服务,比如tomcat

auto_token=abcd  #配置电脑端自动连接的令牌 此处改为自己的

 

      2.启动命令:

  ./frps -c ./frps.ini

3.自启动

# 需要先 cd 到 frp 解压目录.

# 复制文件
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini

# 编写 frp service 文件,以 centos7 为例,适用于 debian
vim /usr/lib/systemd/system/frps.service
# 内容如下
[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

# 启动 frp 并设置开机启动
systemctl enable frps
systemctl start frps
systemctl status frps

# 部分服务器上,可能需要加 .service 后缀来操作,即:
systemctl enable frps.service
systemctl start frps.service

二.树莓派端:

   1.配置文件(frpc.ini)

[common]
server_addr = 94.191.49.38
server_port = 7000
login_fail_exit = false

[ssh]
#穿透类型
type = tcp
#需穿透服务本地访问地址
local_ip = 192.168.31.75
#需穿透服务本地访问端口
local_port = 22
#是否使用通讯加密,默认false
use_encryption = false
#是否使用通讯压缩,默认false
use_compression = false
#穿透后外网访问端口。
remote_port = 6001

[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5900

[udp]
type = udp
local_ip = 127.0.0.1
local_port = 13487
use_compression = false
use_encryption = false
remote_port = 13480

2.启动命令:

./frpc-c ./frpc.ini

3.自启动

sudo nano /etc/rc.local
#添加如下内容:
nohup /home/pi/frp/frp_0.21.0_linux_arm/frpc -c /home/pi/frp/frp_0.21.0_linux_arm/frpc.ini &

 

三.Windows端配置

 1.配置文件(frps.ini)

[common]
server_addr = 94.191.49.38
server_port = 7000

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

auto_token= abcd #配置电脑端自动连接的令牌 此处改为自己的 

[abcd]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 #此处改为自己的
remote_port = 3389 #此处改为自己的

2.启动命令:

一下用自己的路径就好。

C:\Users\Administered\frp_0.27.0_windows_amd64>frpc.exe -c frpc.ini   

 

3.Windows配置自启动服务

 第一种方式(推荐使第一种)

(1)服务器端:创建一个frps.vbs

    Set ws = CreateObject("Wscript.Shell")
    ws.run "cmd /c c:\Users\Administered\frp_0.27.0_windows_amd64\frps.exe -c c:\Users\Administered\frp_0.27.0_windows_amd64\frps.ini",vbhide

(2)客户端:创建一个frpc.vbs

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c c:\Users\Administered\frp_0.27.0_windows_amd64\frpc.exe -c c:\Users\Administered\frp_0.27.0_windows_amd64\frpc.ini",vbhide

(3)把vbs放到启动项目录即可

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

 第二中方式

(1)首先要下载winsw,下载地址:Github release

(2)下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。

下面只说说配置。我这里是将winsw.exe和frpc.exe放到了一起,这样只需要直接填写程序名称。然后在和winsw.exe同级的目录下,新建winsw.xml文件,输入以下内容。

 

 

<service>

<id>frp</id>

<name>frp</name>

<description>用frp发布本地电脑网站到外网</description>

<executable>frpc</executable>

<arguments>-c frpc.ini</arguments>

<logmode>reset</logmode>

</service>

 

 

(3)然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。(执行winsw install如果返回值为0,说明已将程序注册为服务)

winsw install

winsw start

说明:如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。

 

四.登陆ssh

1.用服务器的ssh服务登陆客户端(比如自己的虚拟机,树莓派)
  
ssh -oPort=6000 username@server_addr(此处为服务器的ip)
或者
ssh -p 6000 username@server_addr (此处为服务器的ip)
ssh -oPort=6000 pi@服务器ip
  
上面登录使用的 username 是内网机器的用户名,server_addr是公网服务器的IP,port 6000就是设置的 remote_port,最后的登录密码是内网机器的密码,而不是公网机器的密码,这一点一定要注意。
2.Frp下载地址:https://github.com/fatedier/frp/releases

 

以上是我结合自己的使用写的一篇,在这里也借鉴了许多博主的一些知识。

 

分类:

技术点:

相关文章: