nixp.ru v3.0

24 января 2017,
вторник,
08:09:53 MSK

DevOps с компанией «Флант»
danikcom написал 19 июля 2006 года в 03:45 (649 просмотров) Ведет себя как мужчина; открыл 52 темы в форуме, оставил 132 комментария на сайте.

Есть две разные сети объединенные маршрутизатором. Доступ из одной сети в другую (например к какому нибудь компу) осуществляется только по IP адресу. Как настроить DNS на маршрутизаторе, чтобы доступ из одной сети в другую можно было осуществлять по имени компа?

Dr. Evil

рекомендую почитать книгу по стеку tcp/ip

на маршрутизаторе не ходят пакеты, где в загаловка присутвствуют имена, например vasya.mydomen.ru. на сетевом уровне «ходят» только ip-адреса, например 192.168.1.1.

в твоей ситуации тебе необходим либо свой dns-сервер, либо прописывай все имена компьютеров в /etc/hosts, где формат записи такой:

ip-адрес имя
Gluck

Если интересуют не DNS имена, а имена компов в сети M$, то надо поднять в кадой из подсетей серверы Wins и свзяать их друг с другом.

for Dr. Evil:

в твоей ситуации тебе необходим либо свой dns-сервер

что значит «свой dns-сервер» и как его настроить?

либо прописывай все имена компьютеров в /etc/hosts

не помогает…

for Gluck:

надо поднять в кадой из подсетей серверы Wins и свзяать их друг с другом

как это сделать или где об этом можно почитать?

Genie
что значит «свой dns-сервер» и как его настроить?

<font color=«red»>читай</font>

правда, для тебя это перебор, но ты найдёшь нужные для себя программы и конфигурационные файлы, по которым поишешь в инете описания (на opennet.ru)

Dr. Evil

ну, смотри…

предположим, что у тебя есть две сети

_________________ __________________

| 1 | | 2 |

| 192.168.1.0/24 |____маршрутизатор___| 192.168.2.0/24 |

| | | |

|__________________| |___________________|

ты хочешь, чтобы кто-то в сети №1 набрал, например, в консоли ping vasya, а результатом стал ответ некого компьютера из сети №2, так?

если так, тогда тебе хватит отредактировать /etc/hosts. ты говоришь, что тебе это не помогает — это странно. такого быть не может, если ты все правильо сделал. давай файл hosts сюда.

если же тебе хочется настроить dns, то читай про bind, но, хочу заметить, эот намного сложнее, чем отредактировать однин файл.

Genie
если же тебе хочется настроить dns, то читай про bind, но, хочу заметить, эот намного сложнее, чем отредактировать однин файл.

на отредактировать файл на всех компах обеих сетей — легче? ;)

чем настроить это в одном месте и прописать dns-сервер на этих компах? ;)

особенно в свете возможного изменения спискка компьютеров..

Dr. Evil

так и знал, что кто-то зацепится за эту фразу :)

но! если в сети (1+2) около десятка компьютеров, то, наверное, проще файликом ;)

/etc/hosts нужно прописывать на всех компах?

но у меня сеть1(M$) — router(Linux) — сеть2(M$)

А что насчет WINS? «WINS-сервер — это единственный способ автоматического поиска компьютеров в других сегментах сети, т.к. широковещательные запросы обычно не проходят через маршрутизаторы.»

Dr. Evil

если у тебя сеть из виндовых машин, то тогда вместо /etc/hosts надо искать LMHOSTS и туда прописывать соответствие ip — имени. причем на каждом компьютере в сети.

чего ты раньше не сказал, что сеть из MS? :)

сколько у тебя компьютеров вообще в этих сетях?

сколько у тебя компьютеров вообще в этих сетях?

в одной много-много! :) в другой — один

так если и прописывать, так где же прописать на машинах с MS?

Dr. Evil

да, конечно, на машинах с MS.

если у тебя машин много-много, то подумай о установке и настройке DNS

если у тебя машин много-много, то подумай о установке и настройке DNS

пришли к моему первоначальному вопросу «Как настроить DNS на маршрутизаторе, чтобы доступ из одной сети в другую можно было осуществлять по имени компа?» :)

да, конечно, на машинах с MS

а где там все прописывается? (для интереса)

d01phin

Я соглашусь с Dr.Evil’ом , легче создать один файл в /etc/hosts ,а затем скопировать его на все М$ машины в папку C:\WINDOWS\system32\drivers\etc\ под именем lmhosts чем настраивать DNS, это намного геморойнее чем просто скопировать один файл.

Dmitry Ivanov

если озаботиться чтением документации перед тем, как настраивать софт, то bind в нормальном дистре поднимается в простейшей конфигурации за полчаса

Genie
Я соглашусь с Dr.Evil’ом , легче создать один файл в /etc/hosts ,а затем скопировать его на все М$ машины в папку C:\WINDOWS\system32\drivers\etc\ под именем lmhosts чем настраивать DNS, это намного геморойнее чем просто скопировать один файл.

скопировать один раз на все машины.

что-то изменилось. скопировали один файл на много компьютеров.

опять чот-то изменилось. что делаем? опять копируем..

или легче в сумме настроить один раз DNS/WINS+MasterBrowser и прописать один раз настройку сервера на компы.

а изменения потом вносить на одном компе — на сервере. если необходимо.

Допустим я настроил DNS, что затем нужно прописать на локальных компах кроме IP DNS? (Нужно ли прописывать сам домен?)

fly4life
Eden
Допустим я настроил DNS, что затем нужно прописать на локальных компах кроме IP DNS? (Нужно ли прописывать сам домен?)

Достаточно прописать IP-адрес DNS-сервера.

Пусть у меня есть домен domain.com

получается что команда

# smbmount //computer1/pub /mnt

аналогична команде

# smbmount //computer1.domain.com/pub /mnt ???

Genie

вообще, достаточно, чтобы было прописано правильно в resolv.conf, в дополнение к установленному и настроенному DNS-серверу.

man resolv.conf за деталями….

хотя, тут ещё и надо немного настроить и smb.conf, для того, чтобы правильно производился поиск имен.

Dr. Evil
Eden
Пусть у меня есть домен domain.com

получается что команда

# smbmount //computer1/pub /mnt

аналогична команде

# smbmount //computer1.domain.com/pub /mnt ???

у тебя компьютеры в сети виндовые. зачем тебе тогда smbmount?

у тебя компьютеры в сети виндовые. зачем тебе тогда smbmount?

а как же мне иметь к ним доступ?

Dr. Evil

а :)

ну, тогда ты прав

вопрос остается в силе:

Пусть у меня есть домен domain.com

получается что команда

# smbmount //computer1/pub /mnt

аналогична команде

# smbmount //computer1.domain.com/pub /mnt ???

Dr. Evil

разница есть. а заключатся она бкдет в формате зависи соответствия доменного имени ip-адресу.

разница есть. а заключатся она бкдет в формате зависи соответствия доменного имени ip-адресу.

не совсем понятно… можно по-подробнее?

Digger

Вчера поднял BIND 9 у себя на FreeBSD:

(Имею 3 сетевухи,

одна смотрит в инет(DHCP, выдает внешний IP 83.167.101.X (av127YY.comex.ru)

сетевая карта №2: сеть 192.168.232.1-255

сетевая карта №3: сеть 192.168.233.1-255

Сети объединяются и имеют выход в инет через поднятый nat, dhcp через первую сетевую карту.

Сразу оговорюсь, это мой первый опыт настройки Bind, и я еще сам во многом не разобрался. Вот что у меня получилось: (критику приветствую)

мой named.conf:

// $FreeBSD: src/etc/namedb/named.conf,v 1.21.2.1 2005/09/10 08:27:27 dougb Exp $
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works.  Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.
options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
//      listen-on       { 127.0.0.1; };
// In addition to the "forwarders" clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
//      forward only;
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below.  This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
        forwarders {
                217.10.32.5; //мой провайдерский ДНС
        };
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND versions 8 and later
         * use a pseudo-random unprivileged UDP port by default.
         */
        // query-source address * port 53;
};
// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.
zone "." {
        type hint;
        file "named.root"; //(создается сам)
};
zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
// в директории лежит скрипт make-localhost, запусти его (sh   make-localhost)
};
// RFC 3152
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.0.0.0.0.0.0.0.IP6.ARPA" {
        type master;
        file "master/localhost-v6.rev";
};
// An example master zone
zone "av127YY.comex.ru" {
        type master;
        file "master/av127YY.comex.ru"; //мой домен
};
zone "101.167.83.in-addr.arpa" {
        type master;
        file "master/83.167.101";
};

Далее правим файл master/av127YY.comex.ru

$TTL    3600
@       IN      SOA     ns.av127YY.comex.ru. root.av127YY.comex.ru.  (
2006072601;
8H ;
2H ;
1W ;
1D) ; ttl
                        TXT     "TEST DNS SERVER, write letters 8-)"
                        NS      ns.av127YY.comex.ru.
;                       NS      ns.server.ru Запасной Днс
                        MX      10 mail.comtv.ru.;мыльник, у нас только такой в сетке, тругие хосты режутся
av127YY.comex.ru.       A       83.167.101.X
localhost               A       127.0.0.1
gw                      A       83.167.101.X
                        HINFO   "Celeron" "FreeBSD"
                        TXT     "The router"
ns                      A       83.167.101.X
                        MX      10 mail.comtv.ru.
                        MX      20 mail
                        HINFO   "Celeron" "FreeBSD"
www                     CNAME   ns ;Синоним ns
ftp                     CNAME   ns
mail                    CNAME   ns
NOTEBOOK                A       192.168.232.2 ;АЙПИ НОУТА, сюда можно писать компы из локалки как я понял ))

Файл обратной зоны:

# cat master/83.167.101

@ IN SOA ns.av127YY.comex.ru. root.av127YY.comex.ru. (
2006072541
8H
2H
1W
1D)
        NS      ns.av127YY.comex.ru.
X       PTR     av127YY.comex.ru.
X       PTR     www
X       PTR     gw
X       PTR     ftp
X       PTR     mail
;Точно не уверен как сюда писать адреса локалки..но возможно так:
; 192.168.232.2.in-addr.arpa. PTR notebook.av127YY.comex.ru
; но вообще это не грамотно, Ip должны быть статическими

Возникают вопросы:

1) При объявление компов локальной сети, они все равно доступны только из локальной сети, так стоит ли писать это в публичном днс?

2) в /etc/rc.conf интерфейс инета (sk0) получает IP и DNS по DHCP, как получить только IP, а DNS поставить свой, не переписывая resolv.conf каждый раз(/etc/resolv.conf перезаписывается при перезапуске системы)

ifconfig_sk0="DHCP"
fly4life
Digger
Возникают вопросы:

1) При объявление компов локальной сети, они все равно доступны только из локальной сети, так стоит ли писать это в публичном днс?

В «публичном днс» — это в смысле, в той зоне, где у тебя объявляются имена для интернет-адресов? Нет, локальные в эту зону можно (даже нужно) не включать. Создай для них отдельную зону, которая будет доступна только компам из локальной сети.

Digger
fly4life
В «публичном днс» — это в смысле, в той зоне, где у тебя объявляются имена для интернет-адресов? Нет, локальные в эту зону можно (даже нужно) не включать. Создай для них отдельную зону, которая будет доступна только компам из локальной сети.

Угу, ты правильно понял, вот только как это лучше сделать для 2-х сетей 192.168.232.0-255 и 192.168.233.0-255, одной зоной или двумя?

Genie

кроме того, в 9-ом бинде есть «views»

полезно для того, чтобы разному контингенту давать для одного и того же имени/зоны разное содержимое.

fly4life
Digger
Угу, ты правильно понял, вот только как это лучше сделать для 2-х сетей 192.168.232.0-255 и 192.168.233.0-255, одной зоной или двумя?

Лучше в плане чего? ;)

Управлять (всмысле, добавлять, удалять, изменять) удобнее, когда каждой подсети соответствует свой файл зоны. Мммм… хранить (или как бы поудачнее сказать?) удобнее, наверное, в одном. А так, на самом деле, для работы самого bind всё равно.

Digger

для двух подсетей надо делать две зоны обратного преобразования?

типа

zone "232.168.192.in-addr.arpa" {
        type master;
        file "master/232.168.192";
};
zone "233.168.192.in-addr.arpa" {
        type master;
        file "master/233.168.192";
};

или можно объединить это? Что-то я совсем запутался, буду действовать методом научного тыка

Digger

Получилось следующее:

# cat 232.168.192
@ IN SOA ns.localzone. root.localzone. (
2006072642
8H
2H
1W
1D)
        NS      ns.localzone.
1       PTR     www
1       PTR     gw
1       PTR     ftp
1       PTR     mail
2       PTR     notebook
192.168.233.2   PTR     brother



# cat localzone
$TTL    3600
@       IN      SOA     ns.localzone. root.localzone.  (
2006072604;
8H ;
2H ;
1W ;
1D) ; ttl
                        TXT     "LOCAL DNS SERVER"
                        NS      ns
                        MX      10 mail.comtv.ru.
localhost               A       127.0.0.1
gw                      A       192.168.232.1
                        HINFO   "Celeron" "FreeBSD"
                        TXT     "router"
ns                      A       192.168.232.1
                        MX      10 mail.comtv.ru.
                        MX      20 mail
                        HINFO   "Celeron" "FreeBSD"
www                     CNAME   ns
ftp                     CNAME   ns
mail                    CNAME   ns
NOTEBOOK                A       192.168.232.2
Brother                 A       192.168.233.2

хмм, вроде даже что-то работает, хотя до сих пор не понял, нужен мне еще 1 файл для обратного преобразования или нет…

fly4life

Ну, и для 192.168.233.х обратный резолв тоже заработал чтоли?

Вообще, по хорошему, завёл бы два файла — потом при поддержке мороки будет меньше.

Digger
fly4life
Ну, и для 192.168.233.х обратный резолв тоже заработал чтоли?

Вообще, по хорошему, завёл бы два файла — потом при поддержке мороки будет меньше.

Вот это меня и тревожит, пока проверить не могу, компы той сети вырублены, вроде бы работать не должен, хотя хз.. Кстати, как проверить обратный резолв с windows-машины?

fly4life
Digger
Вот это меня и тревожит, пока проверить не могу, компы той сети вырублены, вроде бы работать не должен, хотя хз..

От компов «той» сети преобразование имён не зависит ;)

Digger
Кстати, как проверить обратный резолв с windows-машины?

nslookup, наверное.

Digger

вроде сделал)

сделал зону lz и две зоны обратного резолвинга

zone "lz" {
        type master;
        file "master/lz";
};
zone "232.168.192.in-addr.arpa" {
        type master;
        file "master/232.168.192";
};
zone "233.168.192.in-addr.arpa" {
        type master;
        file "master/233.168.192";
};

Остается вопрос не совсем про ДНС, но вот такой

2) в /etc/rc.conf интерфейс инета (sk0) получает IP и DNS по DHCP, как получить только IP, а DNS поставить свой, не переписывая resolv.conf каждый раз(/etc/resolv.conf перезаписывается при перезапуске системы)

ifconfig_sk0="DHCP"

как проверить работоспособность локального DNS?

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.