公司内网搭建代理DNS使用内网域名代替ip地址

简介: 企业场景 一般在企业内部(科帮网),开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问。

007

企业场景

一般在企业内部(科帮网),开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问。然而随着项目的增多,对于开发和测试人员记住如此多的内网地址,无疑是一件头疼的事情(当然你也可以使用浏览器书签管理器或者记录在某个地方)。但是你不永远不会确定,那天由于升级突然改了IP,我们可能又要重新撸一遍配置,所以内网域名还是非常有必要的。

内网域名具体有哪些优点:

  • 方便记忆
  • 变更IP,只需要修改DNS即可

服务器环境

192.168.1.170(开发)
192.168.1.180(测试)
192.168.1.190(预生产)
192.168.1.125(DNS+Nginx)

DNS安装

安装容器

为了方便,我们使用docker环境手动搭建一个DNS服务器。

选择andyshinn/dnsmasq的docker镜像,2.75版本,执行命令:

docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75

执行完毕以后,通过命令查看是否创建并运行成功:

[root@test125 ~]# docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                                    NAMES
38ae71377ef1        andyshinn/dnsmasq:2.75   "dnsmasq -k"        22 hours ago        Up About an hour    0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp   dns-server

配置DNS

进入容器:

docker exec -it dns-server /bin/sh

创建代理文件:

vi /etc/resolv.dnsmasq

添加内容:

nameserver 114.114.114.114
nameserver 8.8.8.8

新建本地解析规则配置:

vi /etc/dnsmasqhosts

添加解析规则:

192.168.1.125  dev.52itstyle.com test.52itstyle.com sit.52itstyle.com

修改dnsmasq配置文件,指定使用上述两个我们自定义的配置文件:

vi /etc/dnsmasq.conf

追加下述两个配置

resolv-file=/etc/resolv.dnsmasq
addn-hosts=/etc/dnsmasqhosts

退出容器:

exit

重启容器:

docker restart dns-server

Nginx安装

安装OpenResty之前需要下载一些必备的依赖:

yum install readline-devel pcre-devel openssl-devel -y
yum install wget perl gcc -y

下载最新版本:

wget https://openresty.org/download/openresty-1.13.6.1.tar.gz

解压:

tar -xvf openresty-1.13.6.1.tar.gz

安装配置:

./configure

您可以使用下面的命令来编译安装:

make && make install

如果您的电脑支持多核 make 工作的特性, 您可以这样编译安装:

make && make install   -j2

为了方便启动,建立软连接:

ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx

在/usr/local/openresty/nginx/conf文件夹下创建vhosts目录,然后依次创建一下文件(演示文件,正式环境中会有多个项目转发)。

dev.52itstyle.com.conf:

server{
    listen 80;
    server_name dev.52itstyle.com;
    proxy_set_header            Host $host;
    location /{
         proxy_pass http://192.168.1.170:8080;
    }
}

test.52itstyle.com.conf:

server{
    listen 80;
    server_name test.52itstyle.com;
    proxy_set_header            Host $host;
    location /{
         proxy_pass http://192.168.1.180:8080;
    }
}

sit.52itstyle.com.conf:

server{
    listen 80;
    server_name sit.52itstyle.com;
    proxy_set_header            Host $host;
    location /{
         proxy_pass http://192.168.1.190:8080;
    }
}

配置文件:

vi /usr/local/openresty/nginx/conf/nginx.conf
worker_processes  2;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    #导入各个环境
    include vhosts/*.conf;
}

启动服务:执行 nginx命令即可。

本机验证

那么如何验证这些域名可以解析到我们的内网项目,只需要修改本机dns服务器地址即可:

98971855

配置完成后,我们就可以通过dev.52itstyle.com等相关域名访问我们的内网项目了。

当然,最好是可以直接修改路由器的DNS,这样就不用每个电脑都配置DNS了。

作者: 小柒2012

欢迎关注: https://blog.52itstyle.com

目录
相关文章
|
11月前
|
存储 缓存 网络协议
探讨域名与IP地址的关联性
总结起来说:每次你输入一个易读易记得名称即可方便地让计算机帮你找到那串难以记住但却必须用到精确无误数字串——也就完成了从人类语言向计算机语言转化工作使得两者之间沟能顺畅交流无阻碍发生同时保证数据传输精准性及高效率性质维护整体网络环境稳定运行状态。
1946 53
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
671 26
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
1578 31
|
监控 算法 安全
基于 C# 的内网行为管理软件入侵检测算法解析
当下数字化办公环境中,内网行为管理软件已成为企业维护网络安全、提高办公效率的关键工具。它宛如一位恪尽职守的网络守护者,持续监控内网中的各类活动,以确保数据安全及网络稳定。在其诸多功能实现的背后,先进的数据结构与算法发挥着至关重要的作用。本文将深入探究一种应用于内网行为管理软件的 C# 算法 —— 基于二叉搜索树的入侵检测算法,并借助具体代码例程予以解析。
239 4
|
监控 负载均衡 安全
静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
532 1
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
414 10
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
910 11
|
域名解析 安全 数据建模
没有域名只有IP地址怎么申请https证书?
IP 地址 SSL 证书是一种特殊的 SSL/TLS 证书,允许直接为 IP 地址配置 HTTPS 加密,适用于内部服务、私有网络和无域名的设备管理。与基于域名的证书不同,申请过程较为复杂,需选择支持 IP 的证书颁发机构(CA),并完成额外的身份验证步骤。浏览器对 IP 地址的支持有限,可能会显示警告。通过正确配置服务器(如 Nginx 或 Apache),可以确保通信安全。
2109 12
|
安全 测试技术 网络安全
无需域名,如何通过IP地址申请SSL证书保障网站安全
SSL证书不仅适用于域名,还可为IP地址申请,确保无域名或局域网内数据传输安全。本文详解如何为IP地址申请SSL证书:选择支持的CA机构(如JoySSL),完成注册、验证并安装证书。特别适合没有域名、开发测试环境及局域网应用等场景。虽价格较高且供应商较少,但在特定需求下是有效解决方案。
|
存储 算法 安全
基于 Go 语言的公司内网管理软件哈希表算法深度解析与研究
在数字化办公中,公司内网管理软件通过哈希表算法保障信息安全与高效管理。哈希表基于键值对存储和查找,如用户登录验证、设备信息管理和文件权限控制等场景,Go语言实现的哈希表能快速验证用户信息,提升管理效率,确保网络稳定运行。
294 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS