centos搭建内网DNS配合nginx反向代理

需求:在内网已部署一个苹果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       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; 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       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; 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; }
          }
  
}
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值