frp内网穿透

参考链接:保姆级配置教程
参考链接 阿里云服务器实现frp内网穿透(完整教程)
windows frp保存成bat

使用frp做内网穿透的前提是需要有一台具有公网ip的云主机。
准备

  • 一台具有公网ip的云主机
  • 被控的内网服务器

云服务器端:
去https://github.com/fatedier/frp/releases下载适合你服务器系统的frp软件,我这里是用的是腾讯云64位Ubuntu16.04所以选择frp_0.34.3_linux_amd64.tar.gz,下好之后解压:

tar -zxvf frp_0.34.3_linux_amd64.tar.gz

我们需要编辑的文件是frps.ini :

内容改为:

[common]
 bind_port = 7000 # frp服务的端口号,可以自己定
 dashboard_port = 7500 # frp的web界面的端口号
 dashboard_user = user # web界面的登陆账户,自己修改
 dashboard_pwd = pass # web界面的登陆密码,自己修改
 authentication_method = token
 token = xxxxx # frp客户端连接时的密码,自己修改

保存配置后,使用该命令启动:

 ./frps -c ./frps.ini

在浏览器输入 [云服务器的公网ip]:7500 即可访问到 frp的web管理界面。

注意,可能需要去云服务器控制台配置安全组规则 开放以上涉及到的端口,否则无法访问。
本地的深度学习服务器端:

  1. 下载相应版本的frpc软件包(跟刚刚一样的):Releases · fatedier/frp (github.com),这里选amd64的,下好之后解压到一个临时文件夹。
  2. 修改frpc.ini配置文件,内容如下:
[common]
 server_addr = xx.xx.xx.xx # 你的云服务器的公网ip
 authentication_method = token
 token = xxxxx # 刚刚配置的frp连接密码 
 server_port = 7000 # 刚刚配置的frp服务端口
 
 [Fusion-ssh]
 type = tcp
 local_ip = 127.0.0.1
 local_port = 22
 remote_port = 20022
 
 [Fusion-rdp]
 type = tcp
 local_ip = 127.0.0.1
 local_port = 3389
 remote_port = 23389

通过上面的脚本就可以把对于云服务器特定端口的访问给重定向到本地服务器的某个端口了,简单地讲就是:假如我用SSH客户端访问 [云服务器ip]:20022,就可以经过反向代理直接访问到[本地的训练服务器ip]:22;同理需要连接远程桌面的话,只需要访问[云服务器ip]:23389就可以了。

当然你也可以修改脚本添加更多映射~
3. 添加开机自动启动的脚本,新建一个文件内容如下

文件名/etc/systemd/system/frpc.service,注意修改其中的路径:

 [Fusion]
 Description=Frp Server Daemon
 After=syslog.target network.target
 Wants=network.target
 
 [Service]
 Type=simple
 ExecStart=/usr/local/bin/frp/frpc -c /usr/local/bin/frp/frpc.ini # 修改为你的frp实际安装目录
 ExecStop=/usr/bin/killall frpc
 #启动失败1分钟后再次启动
 RestartSec=1min
 KillMode=control-group
 #重启控制:总是重启
 Restart=always
 
 [Install]
 WantedBy=multi-user.target

然后执行以下命令启用脚本:

sudo systemctl enable frpc.service
sudo systemctl start frpc.service

通过下面的命令查看服务状态,如果是running的话就说明可以了:

sudo systemctl status frpc.service

这里顺便提一下,按照习惯一般把上面的frp软件解压防止在/usr/local/bin目录下。Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的

  • /usr:系统级的目录,可以理解为C:/Windows/
  • /usr/lib:可以理解为C:/Windows/System32
  • /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/,用户自己编译的软件默认会安装到这个目录下
  • /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用

源码放哪里?

  • /usr/src:系统级的源码目录
  • /usr/local/src:用户级的源码目录。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值