Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >公司内网搭建代理DNS使用内网域名代替ip地址

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

作者头像
小柒2012
发布于 2018-05-15 09:36:58
发布于 2018-05-15 09:36:58
12.7K00
代码可运行
举报
文章被收录于专栏:IT笔记IT笔记
运行总次数:0
代码可运行

企业场景

一般在企业内部,开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的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版本,执行命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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

进入容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker exec -it dns-server /bin/sh

创建代理文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/resolv.dnsmasq

添加内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nameserver 114.114.114.114
nameserver 8.8.8.8

新建本地解析规则配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/dnsmasqhosts

添加解析规则:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
192.168.1.125  dev.52itstyle.com test.52itstyle.com sit.52itstyle.com

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/dnsmasq.conf

追加下述两个配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
resolv-file=/etc/resolv.dnsmasq
addn-hosts=/etc/dnsmasqhosts

退出容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
exit

重启容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker restart dns-server

Nginx安装

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install readline-devel pcre-devel openssl-devel -y
yum install wget perl gcc -y

下载最新版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://openresty.org/download/openresty-1.13.6.1.tar.gz

解压:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -xvf openresty-1.13.6.1.tar.gz

安装配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./configure

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make && make install

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make && make install   -j2

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx

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

dev.52itstyle.com.conf:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server{
    listen 80;
    server_name sit.52itstyle.com;
    proxy_set_header            Host $host;
    location /{
         proxy_pass http://192.168.1.190:8080;
    }
}

配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /usr/local/openresty/nginx/conf/nginx.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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服务器地址即可:

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
内网文库搭建备忘录
环境 内网服务器:192.168.1.125 相关操作 执行以下docker命令: [root@test125 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 66021e1feeb8 andyshinn/dnsm
小柒2012
2018/07/04
4480
快速自建 DoH ( DNS over HTTPS) 服务
DoH(DNS over HTTPS),顾名思义,suoyis,除了最常用的UDP外,还有DoT(DNS over TLS),DNS over HTTP(服务提供商自定义)等方案,对比如下:
公众号: 云原生生态圈
2022/05/24
7.1K2
快速自建 DoH ( DNS over HTTPS) 服务
CentOS7利用DNS和Nginx代理做内网域名解析
1,为了将生产环境和开发区分开,方便开发,将利用DNS和Nginx代理做内网域名解析。
拓荒者
2019/03/15
5.4K0
CentOS7利用DNS和Nginx代理做内网域名解析
公司125相关工具搭建备忘录
详见:https://blog.52itstyle.vip/archives/3135/
小柒2012
2019/12/09
3620
公司125相关工具搭建备忘录
公司125相关工具搭建备忘录
详见:https://blog.52itstyle.com/archives/3135/
小柒2012
2018/10/11
4430
公司125相关工具搭建备忘录
JavaWeb项目架构之FastDFS分布式文件系统
概述 分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。 FastDFS是用c语言编写的一款开源的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB < file_
小柒2012
2018/04/13
9260
JavaWeb项目架构之FastDFS分布式文件系统
「玩转树莓派」搭建属于自己内网穿透服务
好吧,我承认这个跟树莓派没有半毛关系,但是为了以后众多内网应用可以被访问,还是想强行发生一波关系。
小柒2012
2019/12/09
1.1K0
「玩转树莓派」搭建属于自己内网穿透服务
CentOs下安装Nginx与反向代理Tomcat
vi /usr/local/nginx/conf/nginx.conf ,添加如下配置:
热心的程序员
2018/08/30
1.1K0
cobaltstrike 流量隐藏
监听器配置填入地址 service-cv4vqio3-1307700818.sh.apigw.tencentcs.com
黑战士
2024/04/17
2530
docker安装nginx并配置https
配置完后,访问example.com、www.example.com 的请求会被转发到服务器的8090端口
Java那些事儿
2020/07/21
15.9K3
docker安装nginx并配置https
Docker学习之搭建Nginx容器服务
OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
小柒2012
2018/03/31
1.6K10
Docker学习之搭建Nginx容器服务
博客搭建(三):域名配置及SSL证书配置
> 现在大多数网站都支持 https 连接,而且 chrome 浏览器要求网站必须提供 https 连接,否则会提示警告(此网站不安全),所以说以后网站支持 https 连接是必不可少的。
子晋
2022/01/18
9060
Neutron 理解(5):Nova 虚机固定IP地址分配
特别说明:本文于2015年基于OpenStack M版本发表于本人博客,现转发到公众号。因为时间关系,本文部分内容可能已过时甚至不正确,请注意。
SammyLiu
2019/06/28
2.3K0
Neutron 理解(5):Nova 虚机固定IP地址分配
Kubernetes 泛域名动态 Service 转发解决方案
集群对外暴露了一个公网IP作为流量入口(可以是 Ingress 或 Service),DNS 解析配置了一个泛域名指向该IP(比如 *.test.imroc.io),现希望根据请求中不同 Host 转发到不同的后端 Service。比如 a.test.imroc.io 的请求被转发到 my-svc-a,b.test.imroc.io 的请求转发到 my-svc-b
imroc
2018/12/22
5K0
如何使用Nginx实现CDSW的跨网段访问
在企业安装了CDSW后,由于服务安装在生产网络,考虑到集群的安全企业不允许将生产环境的网络直接放通给办公网或外网访问,如果需要在办公网或是外网访问则需要通过反向代理的方式来实现,本篇文章主要介绍如何使用Nginx反向代理CDSW服务。具体实现流程:
Fayson
2018/03/29
3.1K0
DNSmasq详细解析及详细配置
Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。
小俊是我
2018/08/02
146.4K0
DNSmasq详细解析及详细配置
「实战篇」开源项目docker化运维部署-前端java部署(八)
PS:前后端部署基本是一样的都是按照思路,先启动多个容器,然后建立2个负载,负载内安装keepalived做热备。重点是想好端口。但是说实话,这是平常练习和个人项目,如果是多台机器,就不能这么搞了,下次一起通过docker swarm的网络方式让多台机器。
IT架构圈
2019/07/08
4920
「实战篇」开源项目docker化运维部署-前端java部署(八)
内网穿透神器:Ngrok在支付中的正确使用姿势
随着互联网的发展,无论是web服务还是移动APP越来越多的都集成了第三方支付(支付宝、微信、银联)。通常作为服务提供方,支付成功以后都会有一个后端回调URL来通知是否调用者是否支付成功,这个URL必须是公网环境,并且可以被访问到。然而在实际开发测试环境中,我们一般都是在内网开发,所以说对于支付测试是一件比较麻烦的事情。
小柒2012
2019/12/09
2.9K0
内网穿透神器:Ngrok在支付中的正确使用姿势
自建dns实现tke集群apiserver域名内网自动解析
腾讯云tke集群访问apiserver地址都是域名来访问的,支持内网和公网访问apiserver,如果是公网访问会创建一个公网的类型的clb,然后将域名自动解析到clb的vip上。如果是内网访问会创建一个内网clb类型的service,default命名空间下的kube-user,但是内网不会做域名的自动解析,所以通常需要配置在客户端配置hosts解析才能访问集群。客户端机器较多的时候,需要每一台配置host解析就比较麻烦,能否实现tke集群apiserver域名做内网的自动解析?
聂伟星
2021/10/11
4.2K0
云原生家庭网络(四):部署 dnsmasq 启用 DHCP 与 DNS 缓存
DHCP 与 DNS 服务需在主路由上开启,如果用的主路由方案,可用云原生的方式部署一个 DHCP 和 DNS 服务,dnsmasq 是一个同时支持这两种功能的开源软件,我们可以用下面的方法进行部署。
imroc
2024/05/16
4000
云原生家庭网络(四):部署 dnsmasq 启用 DHCP 与 DNS 缓存
推荐阅读
相关推荐
内网文库搭建备忘录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验