![[Top bar]](../../common/images/Topbar-ru.gif)
![[Bottom bar]](../../common/images/Bottombar-ru.gif) 
| эта страница доступна на следующих языках: English Castellano Deutsch Francais Italiano Nederlands Russian Turkce | 
| ![[Фото автора]](http://www.linuxfocus.org/common/images/EricS.jpg)  автор Eric SEIGNE Об авторе: Его работа - создание приложений доступа к базам данных через веб интерфейс. В работе он использует такие приложения как PostGreSQL ,MySQL и PHP3. Содержание: | 
![[Иллюстрация]](http://www.linuxfocus.org/common/images/illustration-dhcp.jpg)
Резюме:
Заметка рассказывает о конфигурировании DHCP.
Цели заметки :
Во-первых создаем файл, разрешающий использование сети всем.
Ниже приводится конфигурация, использованная мною для настройки Linux
сервера на Slash Party #2.
| 
<file dhcpd.conf>
default-lease-time 86400;
max-lease-time 604800;
get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option domain-name "slach2-100.party";
option domain-name-servers 192.168.12.1;
option interface-mtu 1500;
subnet 192.168.12.0 netmask 255.255.255.0 
        # default gateway
        option routers 192.168.12.1;
        option broadcast-address 192.168.12.255;
        range 192.168.12.50 192.168.12.200;
</file>
 | 
После запуска DHCP сервера можно запустить клиентские станции, которые
настроены для автоматического получения IP-адреса.
После запроса клиентской станцией адреса у DHCP сервера - появляется
следующая запись в файле :
| 
<bloc attributed to a dhcp client>
lease 192.168.12.58 
        starts 2 1999/08/24 06:28:48;
        ends 3 1999/08/25 06:28:48;
        hardware ethernet 00:10:5a:2e:56:a7;
        uid 01:00:10:5a:2e:56:a7;
        client-hostname "KLUSTER";
</bloc>
 | 
После получения клиентскими станциями адресов - файл dhcpd.leases будет выглядеть следующим образом :
| 
<file dhcpd.leases>
lease 192.168.12.58 
        starts 2 1999/08/24 06:28:48;
        ends 3 1999/08/25 06:28:48;
        hardware ethernet 00:10:5a:2e:56:a7;
        uid 01:00:10:5a:2e:56:a7;
        client-hostname "KLUSTER";
lease 192.168.12.53 
        starts 2 1999/08/24 05:42:22;
        ends 3 1999/08/25 05:42:22;
        hardware ethernet 00:80:ad:97:e1:76;
        uid 01:00:80:ad:97:e1:76;
        client-hostname "ceddz";
lease 192.168.12.54 
        starts 2 1999/08/24 03:07:26;
        ends 3 1999/08/25 03:07:26;
        hardware ethernet 00:80:ad:97:e1:7d;
        uid 01:00:80:ad:97:e1:7d;
        client-hostname "SDS";
lease 192.168.12.67 
        starts 2 1999/08/24 02:52:19;
        ends 3 1999/08/25 02:52:19;
        hardware ethernet 00:50:04:45:e1:65;
        uid 01:00:50:04:45:e1:65;
        client-hostname "HOMER";
lease 192.168.12.64 
        starts 2 1999/08/24 01:26:05;
        ends 3 1999/08/25 01:26:05;
        hardware ethernet 00:80:ad:97:e2:1c;
        uid 01:00:80:ad:97:e2:1c;
        client-hostname "chAwArmA";
lease 192.168.12.59 
        starts 2 1999/08/24 01:14:06;
        ends 3 1999/08/25 01:14:06;
        hardware ethernet 00:00:21:2c:30:e7;
        uid 01:00:00:21:2c:30:e7;
        client-hostname "WOOKIE";
</file>
 | 
Теперь необходимо из "открытого" DHCP сделать статический и более безопасный. Взяв за основу созданный файл dhcp.lease, сделаем так называемый "статический" DHCP.
В чем разница между статическим и открытым DHCP? Открытый DHCP позволяет любому компьютеру, подключенному к сети, получить IP-адрес и необходимые параметры сети. Но это неправильно с точки зрения безопасности - любой может подключиться к вашей сети и получить ее параметры :( Для противодействия этому я использую "статический" DHCP. IP-адрес выдается только зарегистрированным сетевым адаптерам.
| 
<file dhcpd.conf>
default-lease-time 86400;
max-lease-time 604800;
get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option domain-name "slach2-100.party";
option domain-name-servers 192.168.12.1;
option lpr-servers 192.168.12.1;
option interface-mtu 1500;
subnet 192.168.12.0 netmask 255.255.255.0 
        # default gateway
        option routers 192.168.12.1;
        option broadcast-address 192.168.12.255;
    # Those not in the dhcp
    # will get ip between .10 et .50
        range 192.168.12.10 192.168.12.50;
host 
        hardware ethernet 00:10:5a:2e:56:a7;
        fixed-address "kluster.slach2-100.party";
host 
        hardware ethernet 00:80:ad:97:e1:76;
        fixed-address "ceddz.slach2-100.party";
host 
        hardware ethernet 00:80:ad:97:e1:7d;
        fixed-address "sds.slach2-100.party";
host 
        hardware ethernet 00:40:95:49:0b:a5;
        fixed-address "saigneur.slach2-100.party";
host 
        hardware ethernet 00:50:04:45:e1:65;
        fixed-address "homer.slach2-100.party";
</file>
 | 
ПРЕДУПРЕЖДЕНИЕ: Если вы не применяете DNS сервер (Domain Name System), в файле dhcp.conf необходимо использовать IP-адреса вместо имен компьютеров.
| 
<extracted from dhcpd.conf whithout dns>
host 
        hardware ethernet 00:40:95:49:0b:a5;
        fixed-address "192.168.12.57";
host 
        hardware ethernet 00:50:04:45:e1:65;
        fixed-address "192.168.12.67";
</extract>
 | 
Я написал небольшой Perl скрипт специально для преобразования файла dhcpd.leases в файл "статического" DHCP.
Почему бы нам не настроить одновременно и DNS сервер?
Используя Perl скрипт, упоминавшийся выше, с опцией -dns создаются файлы named.$domaine.ajouter и named.$domaine.rev.ajouter. Проверьте их перед применением.
Кроме того, необходимо заполнить файл named.conf параметрами из вашего собственного домена. Например :
| 
<add to file named.conf>
zone "slach2-100.party" 
        type master;
        file "named.slach2-100";
;
zone "12.168.192.in-addr.arpa" 
        type master;
        file "named.slach2-100.rev";
;
</add>
 | 
Теперь можете поздравить себя - настройка dhcp и dns завершена.
Доступная по той же цене (даже лучше, чем бесплатно :), настройка "сетевого окружения" на компьютерах с ОС Windows. Ниже рассмотрим эту настройку с небольшими рисунками и объяснениями.
На Slach 2 я установил две сети (одна 10 Мбит, другая 100 Мбит для привелигированных пользователей). Проблема состояла в том, что сети были не видны друг другу из "сетевого окружения" ОС Windows.
Решением стал WINS. WINS позволяет объявить в сети сервер, использующий список связей между IP-адресами и именами доменов. Это для сетей R1 и R2.
Поэтому необходимо настроить WINS сервер и клиентов для построения IP- шлюза между двумя сетями.
Wins хорошо поддерживается Samba :)
Схематично:
| 
-------------------
I                 I
I   Network R1    I
I                 I
I  192.168.0.0    I
I  255.255.255.0  I
-------+-----------
       |
  -----|-----
 eth0: 192.168.0.1
     Linux
     Server
 eth1: 192.168.100.1
  -----|-----
       |
-------+-----------
I                 I
I   Network R2    I
I                 I
I  192.168.100.0  I
I  255.255.255.0  I
-------------------
 | 
Необходимо изменить dhcpd.conf для автоматической конфигурации клиентов, использующих наш wins сервер :) Без использования dhcp пришлось бы конфигурировать каждого клиента индивидуально для доступа к wins серверу!
ПРЕДУПРЕЖДЕНИЕ : НЕ ЗАБУДЬТЕ ДОБАВИТЬ СЛЕДУЮЩИЕ СТРОКИ В ФАЙЛ DHCPD.CONF ДЛЯ ИСПОЛЬЗОВАНИЯ WINS СЕРВЕРА КЛИЕНТАМИ.
| <file dhcpd.conf> [...] option routers 192.168.0.1; option netbios-name-servers 192.168.0.1; option netbios-dd-server 192.168.0.1; option netbios-node-type 8; [...] </file> | 
Для использования wins сервера, настройте Samba следующим образом :
| <file smb.conf> ; validated with samba 2.0.5 [global] workgroup = rycks.com server string = Linux Box comment = Linux Box netbios name = pantoufle volume = pantoufle guest only = yes guest account = nobody log file = /var/log/samba-log.%m max log size = 50 share modes = yes security = share socket options = TCP_NODELAY os level = 33 ; Configured as network master domain master = yes local master = yes preferred master = yes ; Activate wins support wins support = yes wins proxy = yes ; FTP sharing [ftp] path = /home/ftp/pub public = yes printable = no guest ok = yes </file> | 
Если были сделаны изменения - необходимо перезапустить dhcp, samba и dns.
Перезапустите также dhcp клиентов для использования новых настроек. 
В "сетевом окружении" посмотрите компьютеры из другой сети.
Советую для поиска использовать имена компьютеров : сначала найдите
компьютеры в своей сети, а потом в "другой".
Если компьютеры "видны", но вы не можете получить доступ к ним,
необходимо настроить шлюз. 
Для подробной информации обратите внимание на ipchains.
Обычно необходимо использовать что-то подобное :
| #Reset chains ipchains -F #Activate masquerading #to check according to default etc. ipchains -A forward -i eth0 -j MASQ | 
Будьте внимательны при использовании dhcp сервера одновременно в двух областях - должен быть всего один dns файл. Потом необходимо будет сортировать файл вручную.
Надеюсь документ окажется полезным. Пожалуйста обращайтесь ко мне с комментариями и вопрсами.
Более подробная информация по затронутым темам :
Документ обновляется часто, поэтому используйте адрес http://www.rycks.com/erics/linux/ для версии документа на французском языке.
| 
 | 
| Webpages maintained by the LinuxFocus Editor team © Eric SEIGNE LinuxFocus.org 2000 Click here to report a fault or send a comment to Linuxfocus | Translation information: 
 | 
2000-07-10, generated by lfparser version 1.5