0. 需求
想要在校外登陆内网的Ubuntu os的台式机,此时就是frp的作用了,这个工具内网穿透很好用,配置简单,详细的文档可以参考github。
官网如下:
https://github.com/fatedier/frp
需要准备:
一个远程的服务器(国外的vps),我的是digital ocean的vps
校内的服务器,我的台式机(Ubuntu os)
1. 下载软件配置
下载地址为https://github.com/fatedier/frp/releases
,我使用的是frp_0.33.0_linux_amd64.tar.gz
,该软件更新还是很快的,目前已经更新到 v0.44.0
。
在上面的地址下载安装包,将安装包同时放在vps服务器和我的Ubuntu中各一份
解压缩文件如下:
frpc*
frpc_full.ini
frpc.ini
frpc.ini2 ## 这个文件是我在校内台式机上自己写的
frps*
frps_full.ini
frps.ini
LICENSE
systemd/
2. 配置sever端(转接vps服务器)
只需要配置frps.ini2,内容如下:
[common]
bind_port = 9000
在vps中运行后台:
nohup ./frps -c frps.ini2 > frps.log 2>&1 &
3. 配置client端(校内Ubuntu电脑或校内网台式机)
内容如下:
[common]
server_addr = 157.245.176.63 ## 我的vps ip,中间跳转的远程服务器
server_port = 9000 ## 与上面server的bind_port 要相同
[ssh]
type = tcp
local_ip = 10.2.14.99 ## 本地内网Ubuntu ip
local_port = 22 ## 本地 port,通常为22
remote_port = 6000 ## 转换开放的端口,连接时使用这个端口
运行:
nohup ./frpc -c frpc.ini > frps.log 2>&1 &
这样使用外部的链接服务器就可以登陆了,如果是在terminal中,可以使用:
ssh -oPort=6000 username@remoteIP_address # (125.3.4.23 )
输入Ubuntu台式机的密码即可
4. 出现的问题
(1)server和client的bind_port要一致
(2)查看防火墙,关闭防火墙,否则出现no route to host
我的vps 是Centos的,查看防火墙,firewall-cmd --state , 出现running
使用systemctl stop firewalld.service 关闭
firewall-cmd --state , 出现not running
(3)确保两端都能联网,端口正确,如果server和client都能正确运行,基本没问题
综合以上操作,就能适用vps服务器的ip地址进入校内网了,配置还是比较简单的。
参考
https://github.com/fatedier/frp