• Linux 域名服务器配置


    cat /etc/redhat-release

    CentOS Linux release 7.0.1406 (Core)

    使用BIND构建DNS服务器

    1.BIND服务器安装

    yum install bind* -y

    2.修改配置

    vim /etc/named.conf
    //
    // named.conf
    //
    // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
    // server as a caching only nameserver (as a localhost DNS resolver only).
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    
    options {
            listen-on port 53 { 192.168.124.129; }; 
            listen-on-v6 port 53 { ::1; };
            directory       "/var/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     { localhost; };
    
            /* 
             - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
             - If you are building a RECURSIVE (caching) DNS server, you need to enable 
               recursion. 
             - If your recursive DNS server has a public IP address, you MUST enable access 
               control to limit queries to your legitimate users. Failing to do so will
               cause your server to become part of large scale DNS amplification 
               attacks. Implementing BCP38 within your network would greatly
               reduce such attack surface 
            */
            recursion yes;
    
            dnssec-enable yes;
            dnssec-validation yes;
            dnssec-lookaside auto;
    
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";
    
            managed-keys-directory "/var/named/dynamic";
    
            pid-file "/run/named/named.pid";
            session-keyfile "/run/named/session.key";
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    zone "." IN {
            type hint;
            file "named.ca";
    };
    
    zone "nginxtest.com" IN {  
            type master;  
            file "nginxtest.com.zone";  
    };
    
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
    cp /var/named/named.localhost /var/named/nginxtest.com.zone
    vim /var/named/nginxtest.com.zone

    3.建立正向区域文件

    $TTL 1D
    @       IN SOA  nginxtest.com rname.invalid. (
                                      0     ; serial
                                      1D    ; refresh
                                      1H    ; retry
                                      1W    ; expire
                                      3H )  ; minimum
            NS      @
    @       A       192.168.124.129
    www     A       192.168.124.129
    mail    A       192.168.124.129

    4.建立反向区域文件

    5.修改权限

    chmod 777 /var/named/nginxtest.com.zone

    6.测试named.conf主配置文件 

    named-checkconf 

    7.测试区域文件

    named-checkzone nginxtest.com /var/named/nginxtest.com.zone 

    8.配置DNS客户机配置文件

    vim /etc/resolv.conf
    # Generated by NetworkManager
    domain localdomain
    search localdomain
    
    nameserver 192.168.124.129
    #nameserver 192.168.124.2

    9.启动DNS服务器

    systemctl daemon-reload 
    systemctl start named
    systemctl status named

    10.测试DNS服务器

    DNS服务器的主要测试方法
    使用nslookup、dig和host等专用工具可以对DNS服务器进行较全面的测试 
    nslookup命令在Linux和Windows系统中都默认安装,是比较常用的测试工具
    进入nslookup命令交换环境

    nslookup
    > server 192.168.124.129
    测试localhost主机域名的正向解析 
    > localhost 
    测试localhost主机域名的反向解析 
    > 127.0.0.1 
    测试互联网中的域名解析
    > www.nginxtest.com 
    测试nginxtest.com域中的A记录
    > mail.nginxtest.com 
    测试nginxtest.com域中的CNAME记录
    > www.nginxtest.com 
    测试nginxtest.com域中的NS记录
    > set type=ns                          (设置域名查询类型为NS即域名记录)
    > nginxtest.com 
    测试nginxtest.com域中的MX记录
    > set type=mx                         (设置域名查询类型为MX即邮件交换记录)
    > nginxtest.com 
    设置进行A记录的测试
    > set type=a                            (设置域名查询类型为A即地址记录)
    >mail.nginxtest.com

    测试DNS解析是否成功

    host www.nginxtest.com
    www.nginxtest.com has address 192.168.124.129

    配置nginx.conf

    #my nginx.conf
    user  nginx;
    worker_processes  2;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        use epoll;
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/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  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        include /etc/nginx/conf.d/*.conf;
    
    
        upstream v1 {
                server   192.168.124.130:8081;
                server   192.168.124.130:8082;
        }
    
        server {
                listen 443;
                ssl on;
                ssl_certificate  /home/nginx/server.crt;
                ssl_certificate_key  /home/nginx/server.key;
                ssl_session_timeout 5m;
                ssl_protocols SSLv2 SSLv3 TLSv1;
                ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
                ssl_prefer_server_ciphers on;
    
                server_name www.nginxtest.com;
    
                location / {
                     proxy_pass        http://v1;
                     proxy_set_header   Host             $host;
                     proxy_set_header   X-Real-IP        $remote_addr;
                     proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                }
        }
    
    }

    启动命令

    #!/bin/bash
    
    docker run --name nginx -d -p 443:443 -p 80:80 -v /home/nginx/index.html:/usr/share/nginx/html/index.html -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/:/home/nginx/ -v /home/error/:/var/log/nginx/ nginx:latest

    访问nginx

    #/home/nginx/index.html
    
    welcome to Nginx !

    域名测试

    Tomcat_1

    Tomcat_2

    常见的 Nginx 配置选项整理

  • 相关阅读:
    在Eclipse中对包进行增删改查
    数据库中包的使用
    自定义函数执行动态sql语句
    用SQL语句创建四个表并完成相关题目-10月18日更新
    GUID简介
    设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。
    Java基础-服务器的发送和接收
    java基础-多线程执行
    Java基础-多线程编程-1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。
    Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。
  • 原文地址:https://www.cnblogs.com/saintaxl/p/4280749.html
Copyright © 2020-2023  润新知