很多公司,尤其是跨国大公司,会要求员工连接VPN(或者到办公室)来进入到一个10段的大内网。在这个内网内方能访问各种公司内部的资源,比如GitLab、Confluence、Jira之类的。
这种情况下就是做了私有DNS解析,这个解析记录并不会发布到公网上,就像你家路由器对于主机名为home这台设备的解析一样,只有进入了你家的网络才有。
在使用Cloudflare Zero Trust的情况下,我们也可以做到私有DNS解析,并且完全免费!使用Cloudflare Zero Trust,零成本的创建你的工作网络环境,如此简单!
设置DNS服务器
既然要设置私有DNS解析,那么毫无疑问需要设置一个由我们掌控的DNS服务器。简单起见,这里我直接在路由器上设置解析。如果你使用的也是LEDE/OpenWRT,那么在 网络-DHCP/DNS,最下面 「自定义域名挟持」中填入你的域名和解析到的IP地址。当然这个IPv4地址也可以写到公网IP,只不过这样有些搞笑🥸
添加保存之后,刷新一下本地的DNS缓存,就应该发现已经能ping通了
注册WARP
具体可以参考这篇文章《使用Cloudflare Zero Trust创建大内网》,简单的说就是配置Cloudflared Tunnel、创建WARP设备注册权限、创建WARP Profile、选择Split Tunnel的模式,然后下载WARP认证连接。这里WARP就相当于公司给你安装的VPN了。
再提一下include和exclude这两种Split Tunnel的区别:
- Include:类似于WireGuard的
allowIP=192.168.7.0/24
, 其他非指定网段的流量会直接从你的网络出去,不走Cloudflare,可以理解成非全局VPN。此时你需要去include的规则中添加你的192.168.7.0/24
- Exclude:所有流量都要走Cloudflare,类似全局VPN。此时你需要去exclude的规则中删除你的
192.168.7.0/24
无论你是选择include还是exclude,确保连接WARP后,能够ping通内网的IP就可以进行下一步了。
配置DNS fallback
在Zero Trust网页上,进入到Profile配置页面,下拉能找到 Local Domain Fallback
点击Manage,左侧添加域名、DNS服务器和备注。这个DNS服务器就是上面配置好的那个。
测试
内网测试
我现在连到了家里的网络,因此肯定能解析 samba.dmesg.app
这个域名的,此处没有任何问题
外网测试
手机开个热点,电脑连接上
连接WARP!
私有解析完成!
总结
感谢Cloudflare为我们提供了这么好用的网络服务。小公司可以直接用Cloudflare Zero Trust 组建自己的内网了,然后用Firewall Policies进行适当的权限控制。