1

Здраввствуйте всем!
Понадобилось мне использовать dhcp, сервер поднял, все работает, НО
периодически мне надо работать с ПК-клиентами, раньше я знал ip каждого и проблем не было,
но теперь айпишники постоянно меняются ac
Конечно, сейчас компьютеров не очень много, и можно сделать для каждого ПК привязку по mac-адресу...
Но хотелось бы как то автоматизировать этот процесс.
Гугл мне ничего дельного на мой вопрос не дал, походу запрос криво составляю ab

2

ключевые слова: dhcp+ddns

3 (26.03.2010 10:05:17 отредактировано Loky)

Hrafn пишет:

ключевые слова: dhcp+ddns

немного дополню.
в данном случае вам надо настроить связку двух сервисов:
1. сервис динамической настройки узлов - DHCP
2. сервис доменных имён - DNS
Существует штатная возможность настроить DHCP так чтобы при каждой выдаче адреса обновлялась запись в DNS (Dynamic DNS), тогда даже при смене IP имя сохранится.

Есть ещё способы сохранить адреса надолго:
- увеличить в настройках DHCP время выдачи адреса lease-time до месяца-двух;
- выдачу адресов DHCP привязать к MAC сетевой карты.

Linux можно любить, можно НЕ любить, но совершенно точно его уже нельзя игнорировать.

4 (26.03.2010 13:07:16 отредактировано )

Существует штатная возможность настроить DHCP так чтобы при каждой выдаче адреса обновлялась запись в DNS (Dynamic DNS), тогда даже при смене IP имя сохранится.

а где про эту возможность почитать можно?

dhcp+ddns - направление было правильным ab
погуглил, и вяснил, что нужно использовать связку named+dhcp
вот мои конфиги:
named.conf

options {
    directory "/var/named";
    /*
     * 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 8.1 uses an unprivileged
     * port by default.
     */
    // query-source address * port 53;
};

// 
// a caching only nameserver config
// 
zone "." IN {
    type hint;
    file "caching-example/named.root";
};

zone "localhost" IN {
    type master;
    file "caching-example/localhost.zone";
    allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "caching-example/named.local";
    allow-update { none; };
};


key DHCP_UPDATER {
    algorithm HMAC-MD5.SIG-ALG.REG.INT;
    secret mCzPGMAluZkO1LBIqEUQ4w==;
    };
    
logging {
        channel update_debug {
        file "/var/log/named-update.log";
        severity  debug 3;
        print-category yes;
        print-severity yes;
        print-time     yes;
        };
        
channel security_info    {
            file "/var/log/named-auth.log";
            severity  info;
            print-category yes;
            print-severity yes;
            print-time     yes;
            };
category update { update_debug; };
category security { security_info; };
          };
          
zone "0.168.192.in-addr.arpa" IN {
       type master;
       file "db.192.168.0";
       allow-update { key DHCP_UPDATER; };
      };

     zone "test" {
     type master;
     file "db.test";
     allow-update { key DHCP_UPDATER; };
     notify no;
     }; 

dhcpd.conf

# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#
option domain-name "test";
option domain-name-servers server.test;
ddns-update-style interim;
ddns-update-style interim;
key DHCP_UPDATER {
    algorithm HMAC-MD5.SIG-ALG.REG.INT;
    secret mCzPGMAluZkO1LBIqEUQ4w==;  
    }
zone test. {
    primary 127.0.0.1;
    key DHCP_UPDATER;
    }
    
zone 0.168.192.IN-ADDR.ARPA. {
    primary 127.0.0.1;
    key DHCP_UPDATER;
    }

subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers 192.168.0.25;
    option subnet-mask 255.255.255.0;
    range 192.168.0.1 192.168.0.18;
    default-lease-time 21600;
    max-lease-time 28800;
    
    host dhcp5 { 
    hardware ethernet 00:1D:92:86:24:3D; 
    fixed-address 192.168.0.6; 
    }        
    }

все у меня правильно в конфигах?

запустил named, dhcpd
посмотрел файл dhcpd.leases, там присутствовали машины из локалки
последней строчкой каждого блока указывалось имя ПК (например рс01)
я уже было обрадовался ab
но если делаю ping pc01, пишет unknown host
решил обнулить файл dhcpd.leases и тут меня ждал еще один сбрприз:
больше туда никакие данные не хотят заносится.
запустил еще раз named, dhcpd, но все равно dhcpd.leases пустой
и когда запускаю dhcpd, выдает вот что:

Internet Systems Consortium DHCP Server V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
WARNING: Host declarations are global.  They are not limited to the scope you declared them in.
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 0 leases to leases file.

No subnet declaration for eth1 (192.168.1.26).
** Ignoring requests on eth1.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface eth1 is attached. **

Listening on LPF/eth0/00:80:48:32:b5:cd/192.168.0/24
Sending on   LPF/eth0/00:80:48:32:b5:cd/192.168.0/24
Sending on   Socket/fallback/fallback-net
bash-3.1# There's already a DHCP server running.

If you did not get this software from ftp.isc.org, please
get the latest from ftp.isc.org and install that before
requesting help.

If you did get this software from ftp.isc.org and have not
yet read the README, please read it before requesting help.
If you intend to request help from the dhcp-server@isc.org
mailing list, please read the section on the README about
submitting bug reports and requests for help.

Please do not under any circumstances send requests for
help directly to the authors of this software - please
send them to the appropriate mailing list as described in
the README file.

exiting.

Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 0 leases to leases file.

как видно он оттуда ничего не стирает, и ничего не записывает:(
почему так получается? что я делаю неправильно?

5

почему динамическая адресация? у вас нехватка ип адресов?
я использую привязку по мак и необходимости в дднс не вижу.

6

во первых трогать dhcp-leases нельзя, а тем более обнулять. как решение нужно взять какой нибудь из уцелевших и не тронутых и подсунуть ему
во вторых - в dhcp нужно раздачу адреса dns-сервера сделать
subnet 192.168.0.0 netmask 255.255.255.0 {
...
option domain-name-servers "ip_adress_your_dns"
...
}

7

pervu пишет:

Здраввствуйте всем!
Понадобилось мне использовать dhcp, сервер поднял, все работает, НО
периодически мне надо работать с ПК-клиентами, раньше я знал ip каждого и проблем не было,
но теперь айпишники постоянно меняются ac
Конечно, сейчас компьютеров не очень много, и можно сделать для каждого ПК привязку по mac-адресу...
Но хотелось бы как то автоматизировать этот процесс.
Гугл мне ничего дельного на мой вопрос не дал, походу запрос криво составляю ab

ну как у тебя результат? связка начала работать? я вот тоже над этим сижу) конфиг идентичен твоему но у меня ошибка при старте может встречал как с этим бороться?

+ открыть спойлер

Internet Systems Consortium DHCP Server 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.

No subnet declaration for start (no IPv4 addresses).
** Ignoring requests on start.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface start is attached. **


Not configured to listen on any interfaces!

у меня 3 интерфейса не знаю как на eth1 перевести, /etc/default/dhcp3-server нет такого файла а параметр INTERFACES="eth1" не знаю куда поставить
пробовал так /usr/sbin/dhcpd -d -f нет результата, если запускать /usr/sbin/dhcp eth1:

+ открыть спойлер

Internet Systems Consortium DHCP Server 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.
Listening on LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Sending on   LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Sending on   Socket/fallback/fallback-net
There's already a DHCP server running.

/var/log/messages
Internet Systems Consortium DHCP Server 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.
Listening on LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Sending on   LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Sending on   Socket/fallback/fallback-net
There's already a DHCP server running.
/var/log/syslog

+ открыть спойлер

Mar  9 21:09:16 mailserver dhcpd: Not configured to listen on any interfaces!
Mar  9 21:09:18 mailserver dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1
Mar  9 21:09:18 mailserver dhcpd: Copyright 2004-2010 Internet Systems Consortium.
Mar  9 21:09:18 mailserver dhcpd: All rights reserved.
Mar  9 21:09:18 mailserver dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Mar  9 21:09:18 mailserver dhcpd: Wrote 0 leases to leases file.
Mar  9 21:09:18 mailserver dhcpd: Listening on LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Mar  9 21:09:18 mailserver dhcpd: Sending on   LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Mar  9 21:09:18 mailserver dhcpd: Sending on   Socket/fallback/fallback-net
Mar  9 21:09:18 mailserver dhcpd: There's already a DHCP server running.
Mar  9 21:10:04 mailserver kernel: [514985.544131] e1000: eth2 NIC Link is Down
Mar  9 21:10:04 mailserver NetworkManager[2223]: <info> (eth2): carrier now OFF (device state 3)
Mar  9 21:10:04 mailserver NetworkManager[2223]: <info> (eth2): device state change: 3 -> 2 (reason 40)
Mar  9 21:10:04 mailserver NetworkManager[2223]: <info> (eth2): deactivating device (reason: 40).
Mar  9 21:10:10 mailserver NetworkManager[2223]: <info> (eth1): carrier now ON (device state 1)
Mar  9 21:10:10 mailserver kernel: [514991.236774] e1000: eth1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
Mar  9 21:10:12 mailserver kernel: [514993.124161] e1000: eth1 NIC Link is Down
Mar  9 21:10:12 mailserver NetworkManager[2223]: <info> (eth1): carrier now OFF (device state 1)
Mar  9 21:10:14 mailserver NetworkManager[2223]: <info> (eth2): carrier now ON (device state 2)
Mar  9 21:10:14 mailserver NetworkManager[2223]: <info> (eth2): device state change: 2 -> 3 (reason 40)
Mar  9 21:10:14 mailserver kernel: [514995.252472] e1000: eth2 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX

8 (09.03.2011 13:59:38 отредактировано r1sh)

может быть....написать

ДЯДЯ ГУГЛЬ!!!  

почувствовать себя чуток умнее?  ah

первая же ссылка

большими буквами:

Select Interface card

nano -w /etc/default/dhcp3-server

INTERFACES="wlan0 eth0"

Моцг, пробовали использовать по его прямому назначению?

Война - фигня, главное - манёвры ;)

9

r1sh пишет:

может быть....написать

ДЯДЯ ГУГЛЬ!!!  

почувствовать себя чуток умнее?  ah

первая же ссылка

большими буквами:

Select Interface card

nano -w /etc/default/dhcp3-server

INTERFACES="wlan0 eth0"

Моцг, пробовали использовать по его прямому назначению?

А ещё проще bonding использовать

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

10 (09.03.2011 14:42:30 отредактировано r1sh)

ты про обьединение сетевых интерфейсов в разных вариантах или про квинтэссенцию материнских чувств, с намеком что у него было хреновое детство ? ag

Война - фигня, главное - манёвры ;)

11

sagvir пишет:

конфиг идентичен твоему но у меня ошибка при старте может встречал как с этим бороться?

эх...

 Консоль:
$ man dhcpd.conf

религия не позволила набрать?...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12

drBatty пишет:

религия не позволила набрать?...

Зачем раскрыл секретную команду? Теперь он всё узнает...

13

Cruiser78 пишет:

Зачем раскрыл секретную команду? Теперь он всё узнает...

мало вероятно - религия не даст. sagvir и без меня об этом узнал, если-бы ман осилил  ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

14 (09.03.2011 19:47:13 отредактировано XliN)

У меня все работает. Могу поделиться конфигами. Машины с виндой получают имя после выданного им IP.

+ открыть спойлер
[root@master etc]# cat named.conf
options {
        listen-on port 53 {localhost; 192.168.1.150; };
        directory       "/var/named/";
        dump-file       "data/cache_dump.db";
        statistics-file "data/named_stats.txt";
        memstatistics-file "data/named_mem_stats.txt";
        allow-transfer {none; };
        allow-query     {trusted-networks; };
        allow-recursion {trusted-networks; };
        forwarders {192.168.1.1; };
};
logging {
        channel default_ch {
                file "data/named-base.log";
                severity info;
                print-time yes;
                print-category yes;
        };

        channel security_ch {
                file "data/named-security.log";
                severity info;
                print-time yes;
                print-category yes;
        };
category default { default_ch; };
category security { security_ch; };

};

acl "trusted-networks" {localhost; 192.168.1.0/24; };

zone "saikov.ru" IN {
        type master;
        file "saikov.ru";
        allow-update { key rndckey; };
};

zone "168.192.in-addr.arpa" {
        type master;
        file "168.192.rev";
        allow-update { key rndckey; };
};

include "/etc/named.rfc1912.zones";
include "/etc/rndc.key";

А вот dhcpd.conf

+ открыть спойлер
[root@master etc]# cat /etc/dhcpd.conf
include "/var/named/chroot/etc/rndc.key";

ddns-update-style interim;
authoritative;
option netbios-scope "";
zone saikov.ru. {
    primary 192.168.1.150;
#    key "rndckey";
}

zone 168.192.in-addr.arpa. {
    primary 192.168.1.150;
#    key "rndckey";
}

subnet 192.168.1.0 netmask 255.255.255.0 {

        range 192.168.1.10 192.168.1.30;

        ddns-updates on;
        ddns-domainname "saikov.ru";
        ddns-rev-domainname "in-addr.arpa";


        option routers                  192.168.1.150;
        option subnet-mask              255.255.255.0;
        option broadcast-address        192.168.1.255;
        option domain-name              "saikov.ru";
        option domain-name-servers      192.168.1.150;
        option netbios-name-servers     192.168.1.150;
        option netbios-node-type 8;

        option ip-forwarding off;

        default-lease-time 86400;
        max-lease-time 86400;
        use-host-decl-names true;
}

А вот так он отрабатывает, когда добавляется машина в сеть.

Feb  4 17:39:30 master dhcpd: DHCPDISCOVER from 00:06:4f:09:86:73 via eth0
Feb  4 17:39:31 master dhcpd: DHCPOFFER on 192.168.1.30 to 00:06:4f:09:86:73 (boris) via eth0
Feb  4 17:39:31 master dhcpd: Forward map from boris.saikov.ru to 192.168.1.30 FAILED: timed out
Feb  4 17:39:31 master dhcpd: DHCPREQUEST for 192.168.1.30 (192.168.1.150) from 00:06:4f:09:86:73 (boris) via eth0
Feb  4 17:39:31 master dhcpd: DHCPACK on 192.168.1.30 to 00:06:4f:09:86:73 (boris) via eth0

[root@master named]# ping boris.saikov.ru
PING boris.saikov.ru (192.168.1.30) 56(84) bytes of data.
64 bytes from boris.saikov.ru (192.168.1.30): icmp_seq=1 ttl=128 time=0.731 ms
64 bytes from boris.saikov.ru (192.168.1.30): icmp_seq=2 ttl=128 time=0.754 ms

Ну и добавляются строчки в файл зоны и создаются так же файлы с расширением *.jnl

[root@master named]# cat saikov.ru
$ORIGIN .
$TTL 86400      ; 1 day
saikov.ru               IN SOA  ns1.saikov.ru. admin.saikov.ru. (
                                7          ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns1.saikov.ru.
                        NS      ns2.saikov.ru.
                        A       192.168.1.150
                        MX      10 mail.saikov.ru.
$ORIGIN saikov.ru.
$TTL 43200      ; 12 hours
boris                   A       192.168.1.30
                        TXT     "314dd4676ad29ae13a9f67f52ff25b93ed"

$TTL 86400      ; 1 day
mail                    A       192.168.1.150
ns1                     A       192.168.1.150
ns2                     A       192.168.1.150
saikov-comp             A       192.168.1.1
www                     A       192.168.1.150


-rw-r--r-- 1 named named  470 Фев 20  2011 168.192.rev
-rw-r--r-- 1 named named  758 Фев 20  2011 168.192.rev.jnl

-rw-r--r-- 1 named named  574 Фев 20  2011 saikov.ru
-rw-r--r-- 1 named named  779 Фев 20  2011 saikov.ru.jnl

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

15

XliN, спасибо конечно. я только отмечу, что и без bind'а всё отлично работает - можно использовать DNS сервера провайдера.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

16

drBatty пишет:

XliN, спасибо конечно. я только отмечу, что и без bind'а всё отлично работает - можно использовать DNS сервера провайдера.

Наверное. Для меня оказалось сделать так проще. Да и на контроле все  ag
Мне вот интересно, куда прописать привязку к интерфейсу. На CentOS естественно нет файла /etc/default/dhcp3-server, куда бы влепить его? ))

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

17

Блин жестоко через bind так строить, мне кажеться проще поднять wins сервер и все имена компов будет спокойно видно.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

18

Kettler пишет:

Блин жестоко через bind так строить, мне кажеться проще поднять wins сервер и все имена компов будет спокойно видно.

Дык имена же в автомате записываются в файл зоны... я руками ничего не пишу.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

19

XliN пишет:

Для меня оказалось сделать так проще.

дык без bind'а вообще примитивно. просто прописываете DNS провайдера, и все дела.

XliN пишет:

Мне вот интересно, куда прописать привязку к интерфейсу. На CentOS естественно нет файла /etc/default/dhcp3-server, куда бы влепить его? ))

почитайте /etc/init.d/network

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

XliN пишет:
Kettler пишет:

Блин жестоко через bind так строить, мне кажеться проще поднять wins сервер и все имена компов будет спокойно видно.

Дык имена же в автомате записываются в файл зоны... я руками ничего не пишу.

Да какая на фиг зона. Если у меня есть машина router

ping router

Обмен пакетами с router [172.16.0.1] с 32 байтами данных:
Ответ от 172.16.0.1: число байт=32 время<1мс TTL=64
Ответ от 172.16.0.1: число байт=32 время<1мс TTL=64

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

21 (10.03.2011 11:56:38 отредактировано sagvir)

r1sh пишет:

может быть....написать

ДЯДЯ ГУГЛЬ!!!  

почувствовать себя чуток умнее?  ah

первая же ссылка

большими буквами:

Select Interface card

nano -w /etc/default/dhcp3-server

INTERFACES="wlan0 eth0"

Моцг, пробовали использовать по его прямому назначению?

если не заметил я написал что у меня нет в /etc/default/dhcp3-server вот и спросил куда прописать,сам его создавал но ошибка при перезагрузке повторяется.. да спасибо больше открыли что есть man.. уж почитал перед тем как вопросы задавать, файл dhcp.conf синтаксически собрал правильно, сейчас попробую что вы там мне насоветовали:)

22

sagvir пишет:

ж почитал перед тем как вопросы задавать, файл dhcp.conf синтаксически собрал правильно, сейчас попробую что вы там мне насоветовали:)

кстати, есть ведь примеры заведомо верных конфигов. ссылку найти? или сами?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

23

drBatty пишет:
sagvir пишет:

ж почитал перед тем как вопросы задавать, файл dhcp.conf синтаксически собрал правильно, сейчас попробую что вы там мне насоветовали:)

кстати, есть ведь примеры заведомо верных конфигов. ссылку найти? или сами?

Спасибо, но лучше я вот с примерами которые XliN скинул разберусь)мне нужна связка dns+dhcpd вот по этой ссылке делал ошибки..http://www.lcard.ru/~nail/dns_dhcp.txt
которые здесь выложили bind стартует без ошибок, но
# nslookup 192.168.2.254
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find 254.2.168.192.in-addr.arpa.: NXDOMAIN
файлы зон следующие:

+ открыть спойлер

# cat /var/named/db.example
$ORIGIN .
$TTL 86400      ; 1 day
mailserver.example               IN SOA  ns1.mailserver.example. hostmaster.mailserver.example. (
                                20110300   ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns1.mailserver.example.
                        NS      ns2.mailserver.example.
                        A       192.168.2.254
                        MX      10 mail.mailserver.example.
cat /var/named/db.192.168.2
@               IN      SOA     mailserver.example.      hostmaster.mailserver.example. (
                                2011031001      ; serial (yymmdd##)
                                3H              ; refresh
                                15M             ; retry
                                1W              ; expiry
                                1D )            ; minimum
@               IN      NS      localhost.

вот лог:

+ открыть спойлер

Mar 11 20:15:07 mailserver named[18088]: adjusted limit on open files from 1024 to 1048576
Mar 11 20:15:07 mailserver named[18088]: found 4 CPUs, using 4 worker threads
Mar 11 20:15:07 mailserver named[18088]: using up to 4096 sockets
Mar 11 20:15:07 mailserver named[18088]: loading configuration from '/etc/bind/named.conf'
Mar 11 20:15:07 mailserver named[18088]: using default UDP/IPv4 port range: [1024, 65535]
Mar 11 20:15:07 mailserver named[18088]: using default UDP/IPv6 port range: [1024, 65535]
Mar 11 20:15:07 mailserver named[18088]: listening on IPv4 interface lo, 127.0.0.1#53
Mar 11 20:15:07 mailserver named[18088]: listening on IPv4 interface eth0, 192.168.1.200#53
Mar 11 20:15:07 mailserver named[18088]: listening on IPv4 interface eth1, 192.168.2.254#53
Mar 11 20:15:07 mailserver named[18088]: generating session key for dynamic DNS
Mar 11 20:15:07 mailserver named[18088]: set up managed keys zone for view _default, file 'managed-keys.bind'
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 0.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 127.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 254.169.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 100.51.198.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 113.0.203.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 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.0.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty 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
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: D.F.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 8.E.F.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 9.E.F.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: A.E.F.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: B.E.F.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
Mar 11 20:15:07 mailserver named[18088]: command channel listening on 127.0.0.1#953
Mar 11 20:15:07 mailserver named[18088]: command channel listening on ::1#953
Mar 11 20:15:07 mailserver named[18088]: the working directory is not writable
Mar 11 20:15:07 mailserver named[18088]: logging channel 'default_ch' file 'data/named-base.log': file not found
Mar 11 20:15:07 mailserver named[18088]: logging channel 'security_ch' file 'data/named-security.log': file not found
Mar 11 20:15:07 mailserver named[18088]: isc_log_open 'data/named-base.log' failed: file not found

при запуске dhcpd, /usr/sbin/dhcpd eth1 тоже пробовал запускается но айпи не раздает

+ открыть спойлер

/usr/sbin/dhcpd -d -f
Internet Systems Consortium DHCP Server 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.
Listening on LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24
Sending on   LPF/eth1/00:1b:21:80:81:9b/192.168.2.0/24

No subnet declaration for eth0 (192.168.1.200).
** Ignoring requests on eth0.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface eth0 is attached. **

Sending on   Socket/fallback/fallback-net

24

sagvir пишет:

мне нужна связка dns+dhcpd

почему вы не хотите настраивать поэтапно:
1) настраиваете DHCP клиент, что-бы он получал IP от провайдера. DNS сервер вообще не ставите - как только вы получите IP в Интернете, вы сможете обратится на 8.8.8.8, это гугловский DNS-сервер.
2) затем подымаете кеширующий DNS, который кеширует запросы к провадерскому или гугловскому DNS
3) затем подымаете вторую сетевуху, в которой IP её жёстко фиксирован, для раздачи интернета внутри своей сетки.
4) затем подымаете DHCP-сервер, который раздаёт IP в вашей сетке
5) при необходимости вы можете перестроить DNS сервер, что-бы он разименовывал имена внутри вашей сети, наприме клиент сможет набрать http://admin, и попасть на ваш сайт, внутри вашей ЛС. Конечно вы можете и купить адреса, и тогда ваши сайты будут доступны и снаружи.

пункт №2 и пункт №5 не обязательны. Порядок действий лучше не менять (правда перед №2 рекомендуется отключить внешнюю сеть)

Кроме того, на шлюзе должен быть фаервол. Он встроен в ядро, достаточно лишь прописать необходимые правила прохождения пакетов, используя iptables. ну и после №1  есть смысл поднять ssh-сервер, что-бы не бегать между компами, и не мучится с консолью лишний раз (ибо на шлюзе иксы не только не нужны, но и даже вредны).

Да, и уж засовывать bind в chroot конечно надо, но только при выполнении трёх условий:
1) вы чётко понимаете, ЧТО вы делаете.
2) у вас уже всё работает.
3) вы - параноик.

При невыполнении любого устройства, в chroot'е нет никакого смысла.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

25 (11.03.2011 11:51:28 отредактировано sagvir)

Спасибо за совет drBatty, но у меня немножко иная ситуация,
1) Есть кеширующий DNS сервер с прокси, он выделил мне статический айпи в своей подсети
2) DNS сервер я хотел настроить для своей подсети,в связке с DHCP в forwarders named.conf указал кеширующий DNS, через который посредством прокси я в нет смотрю
3) сетевухе присвоил статический айпи и DHCP - сервер и DNS все привязал на этот айпи
Вообщем задача сделать локальный сервак который будет раздавать айпи, с помощью dns будут преобразовываться имена, в BIND9  насколько я знаю можно сделать (мастер для своего домена + кеширующий сервер для своей подсети)  ну а интернет через выделенный мне серваком сверху, форвардинг для этого сделал. etcho '1' > /proc/sys/net/ipv4/ip_forward
уж помогите пожалуйста:) очень хочеться научиться..естественно литературу тоже читаю, книжку вон хорошую купил "эви немет руководство администратора linux 2 часть" прилично стоит кстати;) со временем на курсы пойти надо будет, но там по шаблону обычно учат, легче самому по тем же методичкам.

26

sagvir пишет:

1) Есть кеширующий DNS сервер с прокси, он выделил мне статический айпи в своей подсети

неправильно.
кеширующий DNS сервер переводит доменное_имя -> IP. В первый раз он обращается к DNS серверу провайдера, а далее выдаёт IP адреса из своего кеша.
"прокси" == промежуточный сервер. я не знаю, что вы вкладываете в это понятие.
IP (в том числе и статические) выдаёт DHCP сервер DHCP клиенту. DNS - это вообще другой уровень OSI. Не нужно мешать www и TCP/IP, это совершенно разные, и не пересекающиеся понятия - и то и другое может существовать и работать отдельно. Основная ваша ошибка - вы всё смешали в одну кучу. ac

sagvir пишет:

Вообщем задача сделать локальный сервак который будет раздавать айпи

это "шлюз" называется. ворота между вашей сеточкой, и Интернетом.

sagvir пишет:

с помощью dns будут преобразовываться имена, в BIND9  насколько я знаю можно сделать

поймите - это не нужно. кеширующий DNS сам не разыменовывает имена. просто не умеет.

sagvir пишет:

форвардинг для этого сделал. etcho '1' > /proc/sys/net/ipv4/ip_forward

этого недостаточно. покажите iptables-save.

sagvir пишет:

эви немет руководство администратора linux 2 часть"

почему вторую?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

27

drBatty пишет:
sagvir пишет:

1) Есть кеширующий DNS сервер с прокси, он выделил мне статический айпи в своей подсети
неправильно.
кеширующий DNS сервер переводит доменное_имя -> IP. В первый раз он обращается к DNS серверу провайдера, а далее выдаёт IP адреса из своего кеша.
"прокси" == промежуточный сервер. я не знаю, что вы вкладываете в это понятие.
IP (в том числе и статические) выдаёт DHCP сервер DHCP клиенту. DNS - это вообще другой уровень OSI. Не нужно мешать www и TCP/IP, это совершенно разные, и не пересекающиеся понятия - и то и другое может существовать и работать отдельно. Основная ваша ошибка - вы всё смешали в одну кучу. ac

Я имел в виду что прокси сервер выделил мне статический айпи, а никак не DNS о его функциях я знаю ( запятую не поставил: Есть кеширующий dns, а так же прокси, который..)

sagvir пишет:

Вообщем задача сделать локальный сервак который будет раздавать айпи

это "шлюз" называется. ворота между вашей сеточкой, и Интернетом.

drBatty пишет:
sagvir пишет:

с помощью dns будут преобразовываться имена, в BIND9  насколько я знаю можно сделать

поймите - это не нужно. кеширующий DNS сам не разыменовывает имена. просто не умеет.

что вы предложения выдергиваете такие)) само сабой DNS будет неавторитетным по отношению к выше стоящим доменам, он лишь хранит в кеше запросы пользователей, а под преобразовывает имена я подразумевал имено преоброзование доменное имя -айпи (dns будет динамически обновляться с помощью dhcp и от туда брать базу имен-айпи)

drBatty пишет:
sagvir пишет:

форвардинг для этого сделал. etcho '1' > /proc/sys/net/ipv4/ip_forward

этого недостаточно. покажите iptables-save.

да конечно)

+ открыть спойлер

# iptables-save
# Generated by iptables-save v1.4.8 on Fri Mar 11 23:19:18 2011
*nat
:PREROUTING ACCEPT [153954:14582200]
:POSTROUTING ACCEPT [13303:874762]
:OUTPUT ACCEPT [54021:4895277]
-A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
-A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.155
-A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.155
COMMIT
# Completed on Fri Mar 11 23:19:18 2011
где eth1 - интерфейс с фиксированным айпи, на который я хочу посадить dns+dhcp, 192.168.1.155 смотрит в сеть. 2 верхних правила я в результате проб написал)

drBatty пишет:
sagvir пишет:

эви немет руководство администратора linux 2 часть"

почему вторую?

2ое издание, содержание этого издания мне наибольше подходит в данный момент
p.s извеняюсь если не корректно строю предложения, впредь буду изъясняться более логично:)

28

sagvir пишет:

Я имел в виду что прокси сервер выделил мне статический айпи, а никак не DNS о его функциях я знаю ( запятую не поставил: Есть кеширующий dns, а так же прокси, который..)

основная задача DHCP-клиента: узнать IP шлюза, и получить свой IP.
но он может заодно получить дополнительную информацию, в т.ч. IP адреса основного и резервного сервера DNS. они обычно быстрее гугловских.

sagvir пишет:

а под преобразовывает имена я подразумевал имено преоброзование доменное имя -айпи (dns будет динамически обновляться с помощью dhcp и от туда брать базу имен-айпи)

немного не так - ваш dns-сервер будет разименовывать имена по своей базе, а если в базе такого домена нет, обратится к dns-серверу провайдера, dhcp тут нужно лишь для того, что-бы узнать IP адреса этих днс провайдера. но их(IP DNS-серверов) можно вбить и ручками.

В ваших правилах нет цепочки FORWARD. см. здесь: http://www.opennet.ru/docs/RUS/iptables/

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

29

Как вы и говорили drBatty мне нужно было начать с настройки шлюза:) Сейчас я разбираюсь с правилами по настройке iptables, пока нет пинга до внешних сайтов что по имени что по айпи.
вот мои настройки:

+ открыть спойлер

для ясности
Есть две сетевые карты
eth0 - внешний выход в интернет через прокси, мне выдан IP 192.168.1.200 , шлюз 192.168.1.254, DNS - 192.168.1.254
eth1 - локальная сеть - IP 192.168.2.245

Когда пингую скажем ya.ru
ping ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
--- ya.ru ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms

ping 93.158.134.3
PING 93.158.134.3 (93.158.134.3) 56(84) bytes of data.
^C
--- 93.158.134.3 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1007ms
Я как понял надо создать правило которое будет пропускать icmp пакеты типо echo_request

iptables -F
iptables -P INPUT DROP делал ACCEPT
iptables -P FORWARD DROP (ACCEPT)
Iptables -A FORWARD -i etho -p ANY -j ACCEPT это правило не могу добавить.. "-А" заданное правило добавляется к цепочке а у меня не добавляется.
iptables -A INPUT -i eth0 -d 192.168.1.254 -p icmp -j ACCEPT
iptables -A INPUT -i lo -d 127.0.0.1 -p ANY -j ACCEPT
iptables -A INPUT -i eth0 -d 192.168.1.254 -p tcp -j ACCEPT

настройки параметров ядра
cat /proc/sys/net/ipv4/ip_forward
1
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
0
cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
0
cat /proc/sys/net/ipv4/conf/all/forwarding
1

будте добры правила помогите написать:)

30

sagvir, начинать надо так:

+ открыть спойлер

### IP masquerading modules:
# These modules are used with IP masquerading, a process which allows you to
# use a Linux box connected to the Internet (via PPP or SLIP, or some other
# means) as a gateway for other Linux, Windows, Macintosh boxes on your local
# network that don't have real IP addresses on the Internet.  The packets
# going through the Linux machine are "masqueraded", or made to look as if
# they're all coming from the one real IP address on the Internet.
#
# As a quick example (for a much more extensive treatment, see the IP-Masquerade
# mini-HOWTO) to allow Internet access to a local network 192.168.11.0 with a
# netmask of 255.255.255.0, you'd use these commands in /etc/rc.d/rc.local:
#
#  # EXTERNAL -> external network interface
#  # INTERNAL -> internal network interface
#  EXTERNAL=eth0
#  INTERNAL=eth1
#  echo 1 > /proc/sys/net/ipv4/ip_forward
#  echo "Setting up NAT (Network Address Translation)..."
#  # by default, nothing is forwarded.
#  iptables -P FORWARD DROP
#  # Allow all connections OUT and only related ones IN
#  iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#  iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
#  # enable MASQUERADING
#  iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
#
# Then you'd have to set the other boxes on your local network to use the
# Linux machine as their TCP/IP gateway.  You'll probably also need to plug
# in the IP address for your Internet service provider in each machine's DNS
# setup.
#
# Now, on to the IP masquerading modules.  The example above is good enough
# for most things that use TCP in a relatively simple fashion.  It'll work
# for telnet and http, for instance.  But, the system breaks down when you
# get protocols that use ports in more complicated ways.  Luckily the Linux
# kernel gurus have thought of this and have prepared some modules that
# support masquerading of trickier protocols.  The ipchains command is mighty
# flexible as well, and a lot of things can be made to work just by setting
# that up correctly.
#
# Special modules for iptables. See also "man iptables" for information about
# that powerful firewall tool.
#
#/sbin/modprobe ipt_conntrack
#/sbin/modprobe ip_conntrack
#/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
#/sbin/modprobe ip_nat_ftp

(я не знаю, где это в вашей системе).
после того, как это заработает, можно вводить какие-то запретительные/разрешительные правила. я уже дал ссылку, повторю: http://www.opennet.ru/docs/RUS/iptables/

но погодите с iptables, вы DHCP-клиент подняли?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)