centos

centos域名如何设置子域名

小樊
40
2025-07-04 11:52:29
栏目: 云计算

在CentOS系统中设置域名子域主要涉及配置DNS解析和设置虚拟主机。以下是详细的步骤说明:

配置DNS解析

  1. 安装BIND软件包(如果尚未安装):

    sudo yum install bind bind-utils -y
    
  2. 编辑BIND的主配置文件 /etc/named.conf

    sudo vi /etc/named.conf
    

    在文件中添加或修改以下内容:

    options {
        listen-on port 53 { any; };
        allow-query { any; };
        recursion yes;
    };
    
  3. 配置正向解析区域文件

    • 创建或编辑正向解析的区域文件,例如,如果要配置 example.com 域的正向解析,可以按照以下步骤操作:
      sudo vi /etc/named.rfc1912.zones
      
      在文件中添加以下内容(注意替换 example.com 为实际的域名):
      zone "example.com" IN {
          type master;
          file "/var/named/example.com.zone";
      };
      
    • 创建区域数据文件:
      sudo vi /var/named/example.com.zone
      
      添加以下内容到区域文件中:
      $TTL 86400
      @       IN      SOA     ns1.example.com. admin.example.com. (
                      2023091101      ; Serial
                      604800         ; Refresh
                      86400          ; Retry
                      2419200        ; Expire
                      604800 )       ; Negative Cache TTL
      @       IN      NS      ns1.example.com.
      ns1     IN      A       192.168.1.1
      www     IN      A       192.168.1.2
      
  4. 配置反向解析区域文件(可选):

    • 类似地,可以配置反向解析区域文件,例如,如果要配置 192.168.1.0/24 网段的反向解析,可以按照以下步骤操作:
      sudo vi /etc/named.rfc1912.zones
      
      在文件中添加以下内容:
      zone "1.168.192.in-addr.arpa" IN {
          type master;
          file "/var/named/reverse.example.com";
      };
      
    • 创建区域数据文件:
      sudo vi /var/named/reverse.example.com
      
      添加以下内容:
      $TTL 86400
      @       IN      SOA     ns1.example.com. admin.example.com. (
                      86400          ; Retry
      );
      @       IN      NS      ns1.example.com.
      ns1     IN      A       192.168.1.1
      1       IN      PTR     ns1.example.com.
      2       IN      PTR     www.example.com.
      
  5. 启动BIND服务

    sudo systemctl start named
    sudo systemctl enable named
    

配置虚拟主机

  1. 安装Web服务器(如Apache或Nginx):

    • Apache
      sudo yum install httpd -y
      sudo systemctl start httpd
      sudo systemctl enable httpd
      
    • Nginx
      sudo yum install nginx -y
      sudo systemctl start nginx
      sudo systemctl enable nginx
      
  2. 配置虚拟主机

    • Apache: 编辑 /etc/httpd/conf.d/example.com.conf 文件,添加以下内容:
      <VirtualHost *:80>
          ServerName www.example.com
          DocumentRoot /var/www/example.com/public_html
          ErrorLog /var/log/httpd/example.com-error_log
          CustomLog /var/log/httpd/example.com-access_log common
      </VirtualHost>
      
    • Nginx: 编辑 /etc/nginx/conf.d/example.com.conf 文件,添加以下内容:
      server {
          listen 80;
          server_name www.example.com;
          root /var/www/example.com/public_html;
          index index.html index.htm;
          location / {
              try_files $uri $uri/ =404;
          }
          error_log /var/log/nginx/example.com-error.log;
          access_log /var/log/nginx/example.com-access.log;
      }
      
  3. 重启Web服务

    • Apache
      sudo systemctl restart httpd
      
    • Nginx
      sudo systemctl restart nginx
      

验证设置

在客户端计算机上,将nameserver设置为你的BIND服务器IP地址。使用ping命令测试DNS解析是否成功:

ping www.example.com

如果一切正常,你应该会看到解析后的IP地址。

以上步骤可以帮助你在CentOS系统上成功设置域名子域。

0
看了该问题的人还看了