Новичок в Linux и ищет дружескую помощь.
Моя компания реконфигурирует нашу сетевую инфраструктуру DNS, чтобы указать наши внутренние DNS-серверы на двух новых машинах CentOS 7 / BIND 9 в нашей демилитаризованной зоне вместо того, чтобы напрямую обращаться к неизвестным хостам. Я установил ядро CentOS, настроил IP, маску и GW для сети, в которой находятся серверы, и проверенное IP-соединение работает.
# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens160"
UUID="939ac388-1804-487d-a38c-307b7fa8ac18"
DEVICE="ens160"
ONBOOT="yes"
IPADDR="10.1xx.x.x"
PREFIX="24"
GATEWAY="10.1xx.x.1"
DNS1="127.0.0.1"
DNS2="8.8.8.8"
DNS3="198.41.0.4"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"
Затем я смог установить BIND и BIND-UTILS. После этого все пошло под откос. Я не могу выполнить nslookups ни на одном сервере, ни на моем внутреннем тестовом DNS-сервере. Я работал с нашим инженером по брандмауэрам, и он подтвердил, что трафик DNS разрешен между моим внутренним тестовым DNS-сервером и двумя кэш-серверами DMZ DNS и от них к миру; пытаюсь связаться с ним сейчас, чтобы убедиться, что внешний NAT работает. У меня есть localhost, 8.8.8.8 и 198.41.0.4, настроенные как DNS-серверы для обоих DNS-кеш-серверов.
# cat /etc/resolv.conf
# Generated by NetworkManager
search <my.domain>
nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 198.41.0.4
Файл Hosts:
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Сетевой файл:
cat /etc/sysconfig/network
# Created by anaconda
Я также попытался отключить брандмауэр на обоих серверах, но в поведении нет никаких изменений.
Ненавижу, когда это задерживает проект, но мне очень не нравится использовать для этого серверы Windows ... :) Любая помощь будет принята с благодарностью.
----------- ОБНОВИТЬ ------------
Спасибо всем за ваши ответы. 127.0.0.1 используется в качестве заполнителя, который будет заменен IP-адресом другого сервера в паре. Мысль в том, что если у одного нет записи в кэше, другой может сначала спросить об этом, прежде чем обращаться к миру за информацией. Я удалил 127.0.0.1 из списка, перезапустил сервер, и теперь nslookups работают. :-) IP-соединение всегда работало, хотя разрешение DNS не было, это позволило мне вчера утром обновить Root-подсказки. Что касается того, что я не использую Linux и работаю с Windows, это не мое решение ... Руководство хочет использовать Linux для этого, и меня пометили, чтобы это произошло. Поэтому я обращаюсь за помощью к людям, у которых есть больше опыта в этом. Я проведу выходные, зарывшись в www.Pluralsight.com, пытаясь узнать больше.
# dig +short @198.41.0.4 serverfault.com
# dig +short @8.8.8.8 serverfault.com
104.16.46.232
104.16.48.232
104.16.49.232
104.16.47.232
104.16.45.232
# dig +short @127.0.0.1 serverfault.com
;; connection timed out; no servers could be reached
# systemctl status named
named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2016-04-08 13:36:46 EDT; 5s ago
Process: 1867 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 1878 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS)
Process: 1876 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
Main PID: 1881 (named)
CGroup: /system.slice/named.service
1881 /usr/sbin/named -u named
Apr 08 13:36:46 <DNS Cache Server> named[1881]: managed-keys-zone: journal file is out of date: removi...file
Apr 08 13:36:46 <DNS Cache Server> named[1881]: managed-keys-zone: loaded serial 3
Apr 08 13:36:46 <DNS Cache Server> named[1881]: zone 0.in-addr.arpa/IN: loaded serial 0
Apr 08 13:36:46 <DNS Cache Server> named[1881]: zone localhost.localdomain/IN: loaded serial 0
Apr 08 13:36:46 <DNS Cache Server> named[1881]: zone localhost/IN: loaded serial 0
Apr 08 13:36:46 <DNS Cache Server> named[1881]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Apr 08 13:36:46 <DNS Cache Server> named[1881]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...al 0
Apr 08 13:36:46 <DNS Cache Server> named[1881]: all zones loaded
Apr 08 13:36:46 <DNS Cache Server> named[1881]: running
Apr 08 13:36:46 <DNS Cache Server> systemd[1]: Started Berkeley Internet Name Domain (DNS).
Hint: Some lines were ellipsized, use -l to show in full.
# ping www.eye4u.com
PING www.eye4u.com (208.91.197.132) 56(84) bytes of data.
64 bytes from 208.91.197.132: icmp_seq=1 ttl=244 time=46.4 ms
64 bytes from 208.91.197.132: icmp_seq=2 ttl=244 time=52.2 ms
...
--- www.eye4u.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 26201ms
rtt min/avg/max/mdev = 45.103/49.591/54.753/3.257 ms
# nslookup
> www.bermuda.com
Server: 4.2.2.2
Address: 4.2.2.2#53
Non-authoritative answer:
www.bermuda.com canonical name = bermuda.com.
Name: bermuda.com
Address: 104.27.191.246
Name: bermuda.com
Address: 104.27.190.246
# cat /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.
//
acl trusted {
<internal DNS 1 IP>
<internal DNS 2 IP>
<internal DNS 3 IP>
<internal DNS 4 IP>
<internal DNS 5 IP>
<internal DNS 6 IP>
localhost;
};
options {
listen-on port 53 { 127.0.0.1; };
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-transfer {}
allow-query { trusted; };
allow-query { localhost; };
forwarders { 198.41.0.4; };
/*
- 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;
/* 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";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
************** ОБНОВЛЕНИЕ 2 **************
После публикации первого обновления я заметил, что параметр "прослушивать порт 53" все еще был установлен для "{127.0.0.1;};" поэтому я добавил IP-адрес кеш-сервера в список и перезапустил named. Наши внутренние DNS-серверы по-прежнему не могли запрашивать кеш-серверы, поэтому я проверил статус брандмауэра, поскольку ранее перезапускал кеш-сервер. BINGO - Я забыл установить правило, разрешающее трафик порта 53. Сейчас все хорошо. Если вы видите какие-либо настройки в конфигурации, которые можно улучшить, сообщите мне. Еще раз спасибо за вашу помощь.
У меня была аналогичная проблема. Что ж, шаг ниже сработал для меня, может быть вам полезен.
vi /etc/selinux/config
и заменить SELINUX=disabled
и перезапустите сервер.
пример после редактирования будет следующим:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted