搭建公司简易的工作网络(包括:DNS服务器)
场景
- 公司内部使用的调试接口,一般使用域名进行联调测试
- 研发/开发资料一般都是在公司内部,员工除了在公司工作之外,在公司之外也有可能工作。
- 在公司工作,使用的网络就是内网,在公司之外要不是连接,无非几种方式:1、连接vpn,2、直接用外网,3、使用远程工具远程回来公司。
- 这里讨论直接搭建内外网络互通情况。
不希望在公司内部使用一个地址,在公司外部使用一个域名
前提条件
1、公司具备外网IP(动态/静态)都可以。(静态IP需要到电信局去购买,动态IP只需要是电信宽带,那么就具有这个功能,需要跟电信师傅确定好端口已经完成映射)
2、有一台服务器/物理机子
3、路由/交换机
4、一个域名
DNS配置过程
1、简单配置:使用docker-compose搭建
version: "3"
services:
dns:
image: sameersbn/bind:latest
container_name: sskj-dns
environment:
- FORWARDERS=8.8.8.8;8.8.4.4
- ROOT_PASSWORD=${DNS_BOARD_PWD}
- ZONE_REFRESH=1H
- ZONE_RETRY=15M
- ZONE_EXPIRE=1W
- ZONE_MINIMUM_TTL=1D
ports:
- "53:53/tcp"
- "53:53/udp"
- "10000:10000"
volumes:
- ./dns/data:/data
restart: always
注意事项:在登录上bind控制台时候,还没找到方案能够过滤部分域名
比如: 创建了一个主区域,名字为:xxx.com,那么没有解析到的域名会出现UnKnown can't find dev.nexus.ts20.cn: Non-existent domain
错误,目前解决方案是,每一个二级域名都建一个主区域。有什么好方法请留言讨论。
内外网互通
使用动态IP时候,需要定时更新IP信息
1、把IP解析到域名上(比如:腾讯云的dnspod、阿里云的)
2、在路由上做端口映射,把外部请求,转发到内部服务器/机子上进行处理。
3、在路由DHCP中配置DNS,让搭建的DNS作为内网DNS解析。
这样就可以达到内部与外部网络互通效果
特别说明
- 非特殊情况下,再公司内部办公环境少部署/不部署生产环境