疫情期间居家办公怎么访问公司的内网

场景描述

如果面对这样的公司你该怎么办?

OA,邮件,代码仓库服务只能在内网服务。外网如果想访问内网需要使用vpn,并且需要使用公司的笔记本电脑。笔记本电脑也不是每个人都配的。

当疫情来临,你被隔离,又没有公司的笔记本,一堆的Task、Bug,作为一名码畜,你是不是很绝望!!!

该怎么办

难道公司要用这种方式劝退?不行,作为一名码畜,你唯一能做的就是逆天改命。用自己的电脑访问公司的内网。

前期准备

硬件:

公网服务器,有公网IP(我这里用的是腾讯云的Ubuntu系统)两台电脑(一台模拟公司的主机,一台模拟家里的主机)

软件:

frp:一款内网穿透工具 https://github.com/fatedier/frpshadowsocks一款开源对的隧道代理工具,你懂得!

公网服务配置

下载frp工具并且解压

ubuntu@VM-0-2-ubuntu:~/frp_0.39.0_linux_amd64$ ls LICENSEfrpc.ini frps frps_full.ini frpc frpc_full.ini frps.inisystemd

修改frps.ini文件如下,主要是修改bind_port端口,修改的大点可以绕过防火墙的限制

[common] bind_add = 0.0.0.0 bind_port = 39001

开启frps服务

ubuntu@VM-0-2-ubuntu:~/frp_0.39.0_linux_amd64$ ./frps -c ./frps.ini 2022/03/11 17:47:59 [I] [root.go:200] frps uses config file: ./frps.ini 2022/03/11 17:47:59 [I] [service.go:192] frps tcp listen on 0.0.0.0:39001 2022/03/11 17:47:59 [I] [root.go:209] frps started successfully

公司内网主机配置

同样下载frp工具并且解压

这里我用的是笔记本是mac的,windows请看相关文档。

➜frp_0.39.1_darwin_amd64 ls LICENSE frpc.inifrpsfrps_full.ini frpcfrpc_full.ini frps.inisystemd

修改配置文件frpc.ini, 如下:

[common] server_addr = 你的公网的IP server_port = 39001 [web] type = tcp local_ip = 127.0.0.1 local_port = 8096 remote_port = 39009

开启frpc服务

➜frp_0.39.1_darwin_amd64 ./frpc -c ./frpc.ini

下载shadowsocks工具

在mac上可以直接用pip3命令安装

pip3 install shadowsocks

在当前目录下创建shadowsocks.json shadowsocks配置文件

在配置文件中,添加如下信息:

{ "server":"0.0.0.0", "server_port":8096, "local_port":1080, "password":"", "timeout":600, "method":"aes-256-cfb" }

开启ssserver服务

➜~ ssserver -c shadowsocks.json INFO: loading config from shadowsocks.json 2022-03-11 18:04:05 INFO loading libcrypto from /usr/lib/libcrypto.dylib 2022-03-11 18:04:05 INFO starting server at 0.0.0.0:8096

这样公司的机器就配置好了,这里注意一下,公司的电脑是需要既可以访问内网,也可以访问外网的。

家里主机配置

下载一个shdowsocks的客户端,github一搜一大把

以上面的截图为例:

Address: 你公网的IPEncryption: 和你在公司主机上shdowsocks,json中的加密方式一致Password: 和你在公司主机上shdowsocks,json中password 一致

好了大功告成,启动你的shdowsocks客户端,然后就可以用浏览器访问公司的内网服务了。记得shadowsocks是选择全局代理。否则的修改浏览器的代理设置。