起因
最近由于全国防控原因,需要居家办公,但SVN是内网的,所以有了转发外网的需求。
这里使用开源反向代理软件frp来实现简单好用。
这里只简单介绍使用frp对svn进行转发的说明,实际frp非常强大,可以实现非常多类型的需求。有兴趣了解更多使用方式的,可以直达项目主页:
简单介绍
frp分为 服务端 frps
和 客户端 frpc
两部分 。
-
frps
运行在服务端,需要一个有公网 IP 的服务器,可以使用 腾讯云或者阿里云的VPS -
frpc
运行在一台内网主机上
svn://
协议的默认端口是 3690
, 所以实际上是使用 frp 转发 3690
端口即可。
如果自定义了 svn 的协议端口,在 frpc.ini
中将 3690
端口改成相应端口即可。
下载frp
frp
是用 golang
写的,几乎可以跨所有平台。
并且 服务端和客户端都在一个文件包
里,区别只是执行文件和配置文件不同。
-
frp服务端对应文件
- frps 服务端的执行文件
- frps.ini 服务端的配置文件
-
frp客户端对应文件
- frpc 客户端的执行文件
- frpc.ini 客户端的配置文件
到 release 下载对应平台的 frp
即可。
配置
-
frps.ini 配置
[common] bind_port = 6900 log_filr = ./frps.log
-
frpc.ini 配置
[common] server_addr = 运行frps的服务器的公网ip server_port = 6900 [svn] type = tcp local_ip = 172.16.0.18 local_port = 3690 remote_port = 6690
启动frp
-
服务端启动 frps
./frps -c frps.ini
-
客户端启动 frps
./frpc -c frpc.ini
效果
- 至此,可以在外网通过
6690
端口访问内网的 svn 服务了。