需求:在内网已部署一个苹果CMS,但每次访问都要通过IP很不方便,需要转变为用域名访问


方法一:
给每个需要访问该网站的人添加一条hosts记录;如果只是几个人这方法的确很快,但是如果上百人甚至上千人一个个去添加hosts显然是不理智的行为

方法二:在内网搭建一个DNS服务器添加解析记录即可

IP地址:192.168.111.68
环境:

[root@DNS-Server named]# cat  /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

安装DNS软件

yum install vim bind*-y

修改配置文件

 vim /etc/named.conf


配置域名解析

注:添加的内容可直接填写在/etc/named.conf或填写/etc/named.rfc1912.zones或自定义;本次实验填写在/etc/named.rfc1912.zones中。

 vim /etc/named.rfc1912.zones    # 在/etc/named.conf底部可看到/etc/named.rfc1912.zones被include的


创建正向解析文件

vim virgo.com.zone$TTL 1D
@       IN SOA  virgo.com. root.virgo.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       IN      NS      dns.virgo.com.
dns     IN      A       192.168.111.68       //DNS服务器地址
www     IN      A       192.168.111.58       //视频服务器IP地址

由于暂时用不到反向解析,暂且跳过
重启服务:systemctl restart named
客户端配置DNS:

登录苹果CMS后台配置域名;www.virgo.com

客户端刷新DNS缓存:

测试访问即可

思考:上述搭建DNS仅是内网使用,如果查询的域名在内网DNS并没指向怎么办呢?添加转发地址即可。

options {listen-on port 53 { any; };        //默认是any,表示允许所有网段的主机。可以改成自己所在的内网网段listen-on-v6 port 53 { ::1; };directory "/var/named";               //定义named的固定工作路径dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query     { any; };        //表示接收所有网段recursion yes;forward first;                   //下面这两行配置很重要,这个配置后,当客户端采用我们自己配置的内网DNS的NS服务器后,当访问别的网站,内网NS解析不了的就转发给8.8.8.8的DS服务器解析,保证能正常上网。forwarders {223.5.5.5;             //阿里云的DNS服务器223.6.6.6;8.8.8.8;8.8.4.4;};};

参考文档:https://www.cnblogs.com/kevingrace/p/5570312.html

拓展:搭配nginx代理服务

DNS配置文件:
注:192.168.107.130为DNS服务器、192.168.107.115为nginx服务器

$TTL 1D
@       IN SOA  virgo.com. root.virgo.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@             IN      NS      dns.virgo.com.
dns           IN      A       192.168.107.130
j             IN      A       192.168.107.115
s             IN      A       192.168.107.115
v             IN      A       192.168.107.115
u             IN      A       192.168.107.115
vm            IN      A       192.168.107.115
z             IN      A       192.168.107.115

nginx配置文件:
配置文件中一个server表示一个服务

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;pid        logs/nginx.pid;
#pid       /usr/local/nginx/logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  j.virgo.com;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location / { proxy_pass  http://192.168.111.180;}error_page   500 502 503 504  /50x.html;location = /50x.html {  root   html; }}server {listen       80;server_name  s.virgo.com;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location / { proxy_pass  http://192.168.107.91;}error_page   500 502 503 504  /50x.html;location = /50x.html {  root   html; }}server {listen       80;server_name  v.virgo.com;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location / { proxy_pass  http://192.168.107.114/;}error_page   500 502 503 504  /50x.html;location = /50x.html {  root   html; }}server {listen       80;server_name  z.virgo.com;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location / { proxy_pass  http://192.168.107.119/zabbix/;}error_page   500 502 503 504  /50x.html;location = /50x.html {  root   html; }}server {listen       80;server_name  vm.virgo.com;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location / { proxy_pass  https://192.168.107.112;}error_page   500 502 503 504  /50x.html;location = /50x.html {  root   html; }}}

centos搭建内网DNS配合nginx反向代理相关推荐

  1. 搭建内网DNS服务器教程

    内网DNS服务器的软件有许多,比如Bind9,dnsmasq,PowerDNS等等 而这次搭建内网dns服务的软件CoreDNS,CoreDNS是Golang编写的一个插件式DNS服务器,也是Kube ...

  2. Centos搭建内网yum源

    Centos搭建内网yum源 手动创建repo文件 使用yum-config-manager配置yum源 安装yum-utils 手工指定yum源 将gpgcheck设置为0 Centos搭建内网yu ...

  3. 内外网域名统一(通过内网DNS及nginx端口转发)

    要实现内外网同时访问一个域名,比如:oa.xxx.com:8999,内外网同时都能通过此网址访问: 一.设置dns,通过DNS服务器配置向导添加oa.xxx.xom区域,添加完毕后,新建一个空主机,映 ...

  4. 让AWS虚机访问公司内网资源(SSH反向代理)

    背景说明 今天我要将AWS虚机升级到beta版本并进行一些测试. 由于beta版本只在公司内网提供,因此我需要将升级用的文件手动拷贝到AWS虚机中.原始的方法,很容易理解: 用AWS上能找到的最新版本 ...

  5. python内网穿透 开源_反向代理和内网穿透

    概念 反向代理看上去看深奥,其实不然,只是因为汉语言文化的差异导致它看上去深奥.一般反派感觉都比较厉害和神秘. 要理解反向代理,我们就不得不说一下正向代理. 正向代理 (Forward Proxy) ...

  6. Nginx反向代理DNS缓存问题

    Nginx反向代理DNS缓存问题 背景 内网环境通过Nginx反向代理访问外网,Nginx配置完成,启动后的一段时间内接口访问正常,一段时间之后,访问拒绝../nginx -s reload 重新加载 ...

  7. 搭建nginx反向代理用做内网域名转发

    搭建nginx反向代理用做内网域名转发 一.安装nginx $ sudo yum install nginx 二.修改配置文件 1 先备份配置文件 $ sudo cp /etc/nginx/nginx ...

  8. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

  9. Nginx反向代理:通过外网访问内网数据库(mysql)

    Nginx反向代理:通过外网访问内网数据库 前言 项目场景: 问题描述及分析: 解决方案: 1 在部署nginx里配置端口IP 2 在外网nginx配置反向代理参数 3 重启nginx 前言 部署ng ...

最新文章

  1. 【Linux】服务器常用命令
  2. 愚人节整人软件测试自学,2020愚人节整蛊整人攻略大全
  3. C#:System.Data.Common命名空间(数据库抽象工厂的使用)
  4. 网页设计上机考试原题_《网页设计》上机考试试题
  5. 递归算法 流程图_什么是算法?如何学习算法?算法入门
  6. 计算机学院运动会通讯稿,2021大学运动会通讯稿篇
  7. 容器编排技术 -- Kubernetes kubectl create service clusterip 命令详解
  8. 我离baidu.com有几跳
  9. SpringMVC学习记录二——非注解和注解的处理器映射器和适配器
  10. MICCAI 2019 Poster
  11. java回调函数机制
  12. keras中 shape参数如何设置
  13. 【MySQL必知必会--理论】
  14. matlab怎么绘制零极点,matlab中画系统零极点的方法
  15. 有哪些中西合璧的建筑设计?
  16. 更改C盘用户目录下的用户名(真实有效)
  17. 为啥不招北大清华的?
  18. 八年老Android开发谈:垃圾中的战斗机,offer都发了,差点无缘Offer
  19. 联机棋类游戏《憋尿罐》实现源码
  20. Vue3简易购物车--添加和删除商品,计算购买商品总价

热门文章

  1. Linux环境搭建记录——GitLab安装
  2. eclipse.exe 已停止工作
  3. pid控制器实现互补滤波原理
  4. 苏州大学行政管理考研经验分享必看
  5. [车联网安全自学篇] Android安全之Android 如何生成APP(APK)「详解」
  6. Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包
  7. 某程序员曝光美团面试骗局
  8. usb high speed chirp
  9. VMware vCenter Server 7.0 完整安装教程
  10. SQL Server 用 SQL 语句创建表