温馨提示×

CentOS DHCP与DNS如何联动

小樊
42
2025-11-21 18:22:05
栏目: 智能运维

在CentOS系统中,DHCP(动态主机配置协议)和DNS(域名系统)的联动可以通过多种方式实现,以下是两种常见的方法:

方法一:使用dnsmasq

dnsmasq是一个轻量级的DNS转发器和DHCP服务器,非常适合小型网络环境。

步骤:

  1. 安装dnsmasq

    sudo yum install dnsmasq -y
    
  2. 配置dnsmasq

    编辑/etc/dnsmasq.conf文件,添加以下配置:

    # 监听DHCP请求
    interface=eth0
    dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h
    dhcp-option=option:dns-server,192.168.1.2
    dhcp-option=option:domain-search,example.com
    
    # DNS转发
    server=/example.com/192.168.1.2
    

    其中:

    • interface=eth0:指定监听的网络接口。
    • dhcp-range:设置DHCP分配的IP地址范围。
    • dhcp-option=option:dns-server:设置DHCP客户端使用的DNS服务器。
    • dhcp-option=option:domain-search:设置默认的域名搜索列表。
    • server=/example.com/192.168.1.2:将所有对example.com域名的DNS查询转发到192.168.1.2
  3. 启动并启用dnsmasq服务

    sudo systemctl start dnsmasq
    sudo systemctl enable dnsmasq
    
  4. 配置网络接口

    确保你的网络接口(例如eth0)已经配置了正确的IP地址和子网掩码。

方法二:使用isc-dhcp-serverbind

isc-dhcp-server是ISC的DHCP服务器,bind是DNS服务器。

步骤:

  1. 安装isc-dhcp-serverbind

    sudo yum install isc-dhcp-server bind -y
    
  2. 配置isc-dhcp-server

    编辑/etc/dhcp/dhcpd.conf文件,添加以下配置:

    subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.200;
        option routers 192.168.1.1;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.1.2;
        option domain-name "example.com";
    }
    

    其中:

    • range:设置DHCP分配的IP地址范围。
    • option routers:设置默认网关。
    • option subnet-mask:设置子网掩码。
    • option domain-name-servers:设置DHCP客户端使用的DNS服务器。
    • option domain-name:设置默认的域名。
  3. 配置bind

    编辑/etc/named.conf文件,添加以下配置:

    zone "example.com" IN {
        type master;
        file "/var/named/example.com.zone";
        allow-update { none; };
    };
    

    创建并编辑/var/named/example.com.zone文件:

    $TTL    604800
    @       IN      SOA     ns1.example.com. admin.example.com. (
                                3         ; Serial
                           604800         ; Refresh
                            86400         ; Retry
                          2419200         ; Expire
                           604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      ns1.example.com.
    ns1     IN      A       192.168.1.2
    @       IN      A       192.168.1.100
    
  4. 启动并启用isc-dhcp-serverbind服务

    sudo systemctl start dhcpd
    sudo systemctl enable dhcpd
    sudo systemctl start named
    sudo systemctl enable named
    
  5. 配置网络接口

    确保你的网络接口(例如eth0)已经配置了正确的IP地址和子网掩码。

通过以上两种方法,你可以在CentOS系统中实现DHCP和DNS的联动。选择哪种方法取决于你的具体需求和环境。

0