清雨影的Blog
  • README
  • 机器学习
    • 一般话题
      • 再谈正则化项
      • 论文阅读:“快把卷积神经网络中的平移不变性带回来”
      • 半监督/无监督学习收集
      • 收藏夹
    • 推荐系统
      • Understanding LightGCN in a visualized way
      • Learning To Rank 之 RankNet
      • 随想: BPR Loss 与 Hinger Loss
      • 关于AA测试和AB测试的一些思考
      • 无采样的矩阵分解
      • 收藏夹
    • 强化学习
      • Re:从零开始的Multi-armed Bandit
  • 高级物理引擎实战指南笔记
    • 弹簧质点系统
    • 光滑粒子法
    • 专题:线性方程组求解
  • 有限单元法
    • 1. 引论
    • 2. 基于直接刚度法的杆系有限元方法
    • 3. 针对复杂几何形状变形体的力学描述(1)
  • Web开发相关技术
    • JWT简介
  • 技术杂文
    • React-Script转Vite时引用路径的问题
    • Let's encrypt -- 让我们一起愉快的使用HTTPS
    • 干掉吸血雷,重塑和谐P2P环境
    • 开源CAN总线信号可编程台架
    • Linux下利用mdadm设置软件 RAID
    • 互不联网时代的自给自足
    • 为什么我劝你不要使用云计算?
    • 科学的公司内网连接技术选型
    • 构建家用NAS过程中的碎碎念
    • 简易的Linux迁移指北
    • 记录一次rsync命令引起的异常
    • 为FFMPEG添加Intel QSV支持
    • 备忘录
    • 福冈外免切替(中国驾照换日本驾照)攻略
    • 记一个离谱的MySQL语句的性能问题
    • 拯救变砖的OpenWRT路由器
    • 使用FRP进行内网穿透
  • 政治不正确
    • 吃屎系列:资本家如何喂员工吃屎
      • 华为251事件记忆
    • 吃屎系列:资本家如何喂用户吃屎
      • 互不联网公司是如何强奸用户的(持续更新)
    • 吃屎系列:大学如何喂学生吃屎
    • 推荐系统如何让我们变得极端
    • 互联网政治圈观察日志
    • 中国网络防火长城简史
    • 《线性代数》(同济版)——教科书中的耻辱柱
    • 杂谈
      • 访谈:为什么毛泽东时代工人的积极性很高?
      • 90年代到21世纪初的商业环境
    • 为什么不应该用国产手机
    • “救救孩子”
  • 随园食单
    • ボロネーゼ
    • 甜酒酿的制作
    • 香草与香料
    • 皮塔饼
    • 韭菜鸡蛋饼
    • 牛肉蔬菜汤
由 GitBook 提供支持
在本页
  • 简介
  • 内网连接方法介绍
  • SSH 隧道
  • HTTPS 代理
  • PPTP/L2TP/OpenVPN/AnyConnect
  • 其他方式
  • 内网穿透
  • 结尾

这有帮助吗?

  1. 技术杂文

科学的公司内网连接技术选型

上一页为什么我劝你不要使用云计算?下一页构建家用NAS过程中的碎碎念

最后更新于2年前

这有帮助吗?

简介

这篇文章主要介绍如何在家、或者在外出差的时候能够连回办公室的内网办公,享受福报。 本文是一个简介性质的文章,具体技术细节网上有很多博客,况且最近还兴起了用Docker搭建的风潮,不能更方便了。 请不要把本文的技术用于其他用途哦,否则后果自负~(手动狗头)

本文中的技术我们主要评价两个方面:

  1. 第一个是方便易用,不能为了连接一个内网弄的很麻烦,这会降低享受福报的效率。

  2. 第二个是安全隐蔽,假设有坏人在你公司的外面拦截了你的通信,进行中间人攻击(比如,据我所知各大运营商都会对HTTP协议做一定的中间人攻击来注入广告),时不时还根据且听的流量给你断断网或者做重放攻击什么的。我们的连接方式要经得起考验,安全可靠而且隐蔽。

(按说没有那么多狗黑客的,可有的时候就是瘸子的屁股——斜了门了……不知道咋回事,这连接就不能稳定,所以第二项也是非常重要的考量因素。)

内网连接方法介绍

首先假设你在公司有一台Linux服务器,可以搭建各种服务。 这里的Linux也可以是Docker或者WSL系统,但是要设置好宿主机的网络设置。

SSH 隧道

这个是最常用的临时方案,SSH隧道建立方便,可以反向代理映射固定的端口,也可以建立socks代理进行访问。

这里姑且假设你在公司有一台Linux服务器,并且你能以SSH登陆(一般是22端口),那这个时候你可以开通一个隧道,只需要在本机执行命令: ssh -qTNf -D 127.0.0.1:1080 <User name>@<Public IP>

这样就构建了一个端口是1080的socks代理。 参数就不作过多的说明了,网上有很多博客有详细的解说。

如果你在用浏览器,可以尝试安装插件:,一般火狐或者Chrome都可以下载。 在配置中使用这个端口连接,就可以达到连接公司内网的目的,这个时候你就可以打开只有在公司内网才能打开的网页。

同时,SSH还可以作为跳板机连接其他内网机器,一般在ssh config里面设置 ProxyCommand ssh -o Compression=no <跳板机> nc %h %p 来做,这里暂时按下不表。

安全性上,SSH采用非对称加密,黑客无法获取通信内容。 缺点是流量特征明显,容易被人刺探到这是个SSH端口(然后经常会收到弱口令攻击),所以密码一定要设置复杂一些。 同时,推荐使用公私钥登陆,而不是密码。

HTTPS 代理

HTTP代理很容易实现,也很容易使用,历史悠久,这里就不赘述了。 但是HTTP代理也存在一个问题:流量透明,别人很轻松就知道你在搞代理,还能知道你在干什么。

所以我们加一层TLS,比如利用Nginx,就可以把一个HTTP的服务转化为HTTPS服务,甚至可以挂在到某个网站的特定的路径下。 如果公司有HTTPS的官网或者博客的话,可以尝试使用这个方法挂载HTTPS代理,记得加上Authentication。这一套都是Nginx反向代理的标准操作了。

并不推荐根路径直接连接作为代理的路径,容易被黑客刺探到这个域名就是做代理的,然后被攻击。

同样,HTTPS代理也可以被SwitchyOmega使用。

PPTP/L2TP/OpenVPN/AnyConnect

这是非常标准的VPN,设计之初也就是为了安全的连接公司内网而设计的,Windows/Linux也有比较好的系统级别的支援。其中L2TP使用的的UDP端口,使用需注意。

唯一的问题在于,如果你的公司或者子公司在海外,因为某种原因(大概是离得太远没信号吧,嗯,一定是),你的PPTP/L2TP/OpenVPN服务会非常不稳定,可以说基本不可用。

如果你有海外公司,但是又一定要享受便利,推荐你配合内网穿透一起使用。

这里的例外是AnyConnect,虽然大家(含SSH)流量特征都很明显,但是由于AnyConnect被大公司使用,海外连接的时候不易出现PPTP那样的不稳定现象。

安全性上基本都没有问题(PPTP除外),只是容易被且听到你在使用的技术。

其他方式

  1. Shadowsocks

Shadowsocks也只是一个协议,有很多的实现。 不过作者喝茶了,加上v2ray也支持ss协议,这里不赘述了。 这里对作者说一句Respect,感谢每一个无私开源的人。

需要说一句的是,ShadowsocksR很火,但是并不推荐使用。

  1. GoProxy

GoProxy可以设置一些基础的代理,但是这个工具更大的作用是创建内网穿透,下文会介绍。

内网穿透

大多数的时候,你可能没有公网IP,或者你没有权限使用公网IP,或者因为某种原因你连接不上这个IP(比如你所在的地区屏蔽了这个IP)。

这个时候就需要内网穿透了,说到内网穿透,比较有名的是花生壳。但是花生壳的收费也并不便宜。 当然你也可以自建,自建内网穿透的前提是:

你有一台服务器,并且这台服务器有公网IP。

最简单的方式就是买了,比如百度腾讯阿里美团各种云,缺点是价格贵,公网带宽价格异常的贵,还不如用花生壳。

和之前一样,这里的服务器可以用个人电脑代替(可以在家里建立机房,想想就兴奋)。

有了服务器,内网穿透的方案大致有(花生壳以外):

  • Ngrok

  • GoProxy

这里我需要评价GoProxy几句:

  1. 这是个开源软件,但是源代码并不是及时更新的,总是晚于二进制包慢一点更新,而且似乎也并不全,所以并不是真正开源。

  2. 曾经在7.8版本的时候我遇到过:

    • GoProxy要自动检查更新

    • 但是GoProxy的更新网址设置了反爬虫的CDN

    • 这个反爬虫CDN会导致自动更新失败

    • 自动更新失败导致整个程序无法使用

我认为这个是很好的工具,堪称代理界瑞士军刀,不输netcat,但是软件稳定性及开源精神方面有待加强。

穿透内网以后,就可以使用上面介绍的内网连接方法了,只要把端口映射出来就好。

内网穿透还有一个好处,比如你直接搭建PPTP服务器,如果你的公司或者子公司在境外的话,服务会非常不稳定,可以说基本不可用,但是如果是通过内网穿透来做,稳定性就会好很多。

结尾

以上就是连接公司内网享受福报的全部方法了,难免有错漏之处,也可能有些新技术没有来得及更新。 不过有机会的话,还请动手尝试一下。

理论上说V-Project只是一套协议规范,核心是。 但是v2ray作为代理工具的确是功能强大,不仅仅是单纯的代理,甚至可以做到规则路由。可以创建诸如A网站使用X代理,B网站不使用,C网站使用Y代理等等复杂规则。 配置过程略痛苦,JSON文件编辑很头疼,经常一写就很长,但是配置好以后使用非常方便。是我强力推荐的工具。 V2Ray在安全上是我见过做的最好的,支持混淆,防止刺探,防止重放攻击。某些黑客基本就是狗拿刺猬——无从下口了。

最好的方法是,尝试在办宽带的时候要求有公网IP(可能会多收钱),如果是静态的IP那就可以直接用IP,如果是动态的IP,那就买个域名做个DDNS。这是我写的阿里云的DDNS方案:,欢迎Fork。

Ngrok的教程网上一搜一大把,GoProxy的资料少一点,参考。

SwitchyOmega
v2ray
V-Mess协议
TsingJyujing/aliyun-ddns-client
官方文档中内网穿透一章