在CentOS系统中设置域名子域主要涉及配置DNS解析和设置虚拟主机。以下是详细的步骤说明:
配置DNS解析
-
安装BIND软件包(如果尚未安装):
sudo yum install bind bind-utils -y -
编辑BIND的主配置文件
/etc/named.conf:sudo vi /etc/named.conf在文件中添加或修改以下内容:
options { listen-on port 53 { any; }; allow-query { any; }; recursion yes; }; -
配置正向解析区域文件:
- 创建或编辑正向解析的区域文件,例如,如果要配置
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
- 创建或编辑正向解析的区域文件,例如,如果要配置
-
配置反向解析区域文件(可选):
- 类似地,可以配置反向解析区域文件,例如,如果要配置
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.
- 类似地,可以配置反向解析区域文件,例如,如果要配置
-
启动BIND服务:
sudo systemctl start named sudo systemctl enable named
配置虚拟主机
-
安装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
- Apache:
-
配置虚拟主机:
- Apache:
编辑/etc/httpd/conf.d/example.com.conf文件,添加以下内容: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 - 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; }
- Apache:
-
重启Web服务:
- Apache:
sudo systemctl restart httpd - Nginx:
sudo systemctl restart nginx
- Apache:
验证设置
在客户端计算机上,将nameserver设置为你的BIND服务器IP地址。使用ping命令测试DNS解析是否成功:
ping www.example.com
如果一切正常,你应该会看到解析后的IP地址。
以上步骤可以帮助你在CentOS系统上成功设置域名子域。