我最近有一个很特殊的需求:【我要在家里使用公司的服务器代理上网】,但是呢,公司的服务器是在内网中的,所以这个需求就拆分成了两个子需求了:
1、将内网设备反向代理使其可通过公网访问。 2、在内网设备架设 V2ray 服务端供外网访问。
这个需求其实可以通过各种方法实现,但我因为对 FRP 和 V2ray 比较熟悉,所以本文将以这两个软件作例子。别问干啥用的,问就是测试用😏。
这个需求的两端分别是公司服务器和家的电脑,都是内网设备无法互相直连,所以需要一个云服务器作 FRP 中转。
家:Windows 系统,已安装V2rayN。 云端:Ubuntu 20.04 系统。用以安装 FRP 服务端 公司:Ubuntu 20.04 系统。用以安装 V2ray 服务端、FRP客户端。
简单架构如下图:
因为所有的设备都在大陆,所以本文所使用的所有链接都是可以大陆直接访问的。
首先需要在云端服务器部署 FRP 服务端,然后再新建一个frp文件及,将服务端用得上的文件复制进去,方便以后调用。
wget https://ghproxy.com/https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz mkdir /usr/local/frp tar -zxvf frp_0.48.0_linux_amd64.tar.gz cd frp_0.48.0_linux_amd64 cp frps frps.ini frps_full.ini /usr/local/frp cd /usr/local/frp
然后编辑配置文件 frps.ini 将下述代码填入其中,7000 的意思是指与客户端联络的地址:
frps.ini
7000
[common] bind_port = 7000
最后使用以下代码将云端服务器运行起来:
./frps -c ./frps.ini
这样云端服务器就配置好了,不要忘记在云端服务器防火墙上放通 7000 端口。
公司服务器上的操作和云端类似,但是是按照客户端配置的。
wget https://ghproxy.com/https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz mkdir /usr/local/frp tar -zxvf frp_0.48.0_linux_amd64.tar.gz cd frp_0.48.0_linux_amd64 cp frpc frpc.ini frpc_full.ini /usr/local/frp cd /usr/local/frp
编辑配置文件 frpc.ini 将下述代码填入其中:
frpc.ini
[common] server_addr = 1.1.1.1 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 [v2] type = tcp local_ip = 127.0.0.1 local_port = 11111 remote_port = 11111
我解释以下配置的意思,[common] 中的 addr 和 port 指的是云端服务器的ip和配置中的端口,[ssh] 中的remote-port 指的是从远端服务器这个端口可以访问到本地服务器的 local-ip 和 local-port 对应服务器的ip和端口。
[common]
addr
port
[ssh]
remote-port
local-ip
local-port
最后使用以下代码将反向代理运行起来:
./frpc -c ./frpc.ini
反向代理配置好了,我们还需要在公司 Ubuntu上安装 V2ray 以中转流量,否则就只能访问本地服务。
使用以下命令手动部署V2ray:
wget https://ghproxy.com/https://github.com/v2fly/v2ray-core/releases/download/v4.31.0/v2ray-linux-64.zip unzip v2ray-linux-64.zip -d ./v2 cd v2 mkdir /usr/bin/v2ray/ mkdir /etc/v2ray cp v2ray /usr/bin/v2ray/v2ray cp v2ctl /usr/bin/v2ray/v2ctl cp geoip.dat /usr/bin/v2ray/geoip.dat cp geosite.dat /usr/bin/v2ray/geosite.dat cp vpoint_vmess_freedom.json /etc/v2ray/config.json
根据需求自行修改 /etc/v2ray/config.json 文件。
/etc/v2ray/config.json
启动命令,复制粘贴以下命令启动v2ray:
nohup /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json >/dev/null 2>&1 &
这样一顿操作后,我终于可以在家里使用公司的网络上网了,查看出口ip也是公司的ip,可能看起来这样并没有什么卵用,但折腾本身不就挺有意思的么。
最近安装了一个自己不想要的第三方软件,但是不知道怎么删除,找到了解决方案,做个备份。
本着能省一点时间就省一点时间的原则,花了几个小时撸了个轮子,其实我什么都没做,只是把好几个api整合到了一起。
整理更新一下家里 Home-Dev 的网络升级吧。
来自SaltyLeo的十月份的闲言碎语
本文主要内容为家用服务的配置选型建议。
目录
热门标签
页面
更多语言
站点信息