Привет всем! :)
Буквально вчера разбирался с поддержкой wins в самба, попробовал, покрутил - работает. Однако, наслышан, что совместно/заместо wins используют dns, а именно ddns, который реализуется через связку dhcp+bind. Вот текущий конфиг самбы, вдруг кому то будет интересно:[global]
workgroup = urfu-nsk
netbios name = tux
server string = pdc
wins support = Yes
name resolve order = wins bcast hosts
domain logons = Yes
preferred master = Yes
os level = 255
time server = yes
disable spoolss = yes
load printers = no# log level = 5 passdb:5 auth:10 winbind:2
# socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = lo eth0 192.168.2.0/24
bind interfaces only = Yes
hosts allow = 192.168.2. 127.username map = /etc/samba/users.map
# invalid users = root
map to guest = Bad User
guest account = gardadd group script = /etc/samba/scripts/addPdcGroup.sh %g
delete group script = /usr/sbin/groupdel %g
add user script = /etc/samba/scripts/addPdcUser.sh %u
delete user script = /usr/sbin/userdel %u
set primary group script = /usr/sbin/usermod -g %g %u
add machine script = useradd -M -N -s /bin/false -g machines %ulogon script = login.bat
# logon path = \\%L\profile
logon path =[netlogon]
comment = logon service for all user groups
path = /home/netlogon
read only = Yes
browseable = no#[profile]
# comment = network profiles for users
# path = /home/data/%U/.profile
# profile acls = yes
# create mask = 0600
# directory mask = 0700
# valid users = +%G
# csc policy = disable
# read only = no
# browseable = no#Пользовательские каталоги, общие шары
[data]
comment = home folder for user
path = /home/data/%U
valid users = %U
csc policy = disable
read only = no
browseable = no
include = /etc/samba/recycle.conf[share]
comment = shared folder
path = /home/shares/%G
valid users = +%G
csc policy = disable
read only = no
browseable = no
create mask = 0770
directory mask = 0770
include = /etc/samba/recycle.conf[netShare]
comment = shared Folder for all users
path = /home/gard/NetShare
writable = yes
guest ok = yes
write list = @staff @empls
include = /etc/samba/recycle.confСамба пока крутится на компьютере с адресом 192.168.2.10 (мой рабочий комп, на котором ставлю опыты. А dhcp и dns у меня крутятся на шлюзе, который имеет адрес 192.168.2.1. Конфиг dhcp со шлюза:
# dhcpd.confКак я понимаю для связки с pdc Samba (wins или же ddns) тут важными являются параметры:authoritative;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;#option ms-classless-static-routes code 249 = array of unsigned integer 8;
#option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;subnet 192.168.2.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1; #,192.168.2.1;
option domain-name-servers 192.168.2.1; #93.88.181.2,8.8.8.8,93.88.182.2;
#option ntp-servers 192.168.2.1;option domain-name "urfu";
ddns-updates on; #Разрешение Dynamic DNS
ddns-update-style interim;
option netbios-name-servers 192.168.2.10; #Самба-сервер, выступающий в роли WINS-сервера
option netbios-node-type 8;default-lease-time 3600; #36000;
max-lease-time 7200; #43200;# Клиенты получают маршруты от сервера DHCP (для работы этого надо раскомменитровать определение выше)
# option ms-classless-static-routes 16,172,16,172,16,10,1, 8,10,172,16,10,1, 20,93,88,176,172,16,10,1;range 192.168.2.30 192.168.2.254;
group top{
host area51 { hardware ethernet 00:1C:C0:5A:21:E1; fixed-address 192.168.2.10; }
host dhcp11 { hardware ethernet 00:1c:c0:5a:22:4c; fixed-address 192.168.2.11; }
host dhcp12 { hardware ethernet 00:e0:4c:16:11:29; fixed-address 192.168.2.12; }
host dhcp13 { hardware ethernet 00:50:ba:53:49:aa; fixed-address 192.168.2.13; }
host dhcp14 { hardware ethernet 00:1c:c0:5a:33:1f; fixed-address 192.168.2.14; }
host dhcp15 { hardware ethernet 00:1c:c0:0a:0f:26; fixed-address 192.168.2.15; }
host dhcp16 { hardware ethernet 00:1c:c0:0a:0f:18; fixed-address 192.168.2.16; }
host dhcp17 { hardware ethernet 70:71:bc:0b:c9:c5; fixed-address 192.168.2.17; }
host dhcp18 { hardware ethernet 00:19:66:2c:4e:a9; fixed-address 192.168.2.18; }
host dhcp19 { hardware ethernet 00:19:66:2c:4e:a1; fixed-address 192.168.2.19; }
host dhcp20 { hardware ethernet 00:01:6c:a5:bc:85; fixed-address 192.168.2.20; }
host dhcp21 { hardware ethernet 00:1c:c0:0a:0f:4a; fixed-address 192.168.2.21; }
}
}option domain-name "urfu";
ddns-updates on; #Разрешение Dynamic DNS
ddns-update-style interim;
option netbios-name-servers 192.168.2.10; #Самба-сервер, выступающий в роли WINS-сервера
option netbios-node-type 8;Что касается dns-сервера, который также крутится на шлюзе, с сегодняшнего дня это bind, до этого стоял dnsmasq. Итак, выдержка моей новосозданной локальной зоны с named.conf:
//Внутренняя зона
zone "urfu" IN {
type master;
file "urfu.zone";
allow-query { lan; };
allow-update { lan; };
allow-transfer { lan; };
};zone "2.168.192.in-addr.arpa" IN {
type master;
file "192.168.2.zone";
allow-query { lan; };
allow-update { lan; };
allow-transfer { lan; };
};
Соответствующие файлы прямого и обратного преобразования:[root@area51 ~]# cat /var/named/urfu.zone
$TTL 3h
@ IN SOA ns.urfu. gard.area51.gmail.com. (
20120322 ; serial (date)
3h ; время обновления
1h ; повтор каждый час
1w ; как долго хранить информацию
1h ) ; TTL (время жизни ) записи; Адреса DNS-серверов
@ IN NS ns.urfu.; Адреса узлов для зоны
ns IN A 192.168.2.1
tux IN A 192.168.2.10; Псевдонимы
gw IN CNAME ns
[root@area51 ~]# cat /var/named/192.168.2.zone
$TTL 3h
@ IN SOA ns.urfu. gard.area51.gmail.com. (
20120322 ; serial (date)
3h ; время обновления
1h ; повтор каждый час
1w ; как долго хранить информацию
1h ) ; TTL (время жизни ) записи; Адреса DNS-серверов
@ IN NS ns.urfu.; Адреса узлов для зоны
1 IN PTR ns.urfu.
10 IN PTR tux.urfu.
[root@area51 ~]#
В named.conf как я понимаю за возможность реализации ddns отвечает директива:allow-update { lan; };
Она позволяет клиентам вносить записи о себе в эту зону dns?И вот мне интересно как же виндовс клиенты, которые будут в домене samba PDC, будут посылать запросы на внесение себя в список объектов dns-зоны? Это вообще реализуемо? Может быть все работает совсем по другому, а не так как я думаю? Просветите, знающие люди. =)
ps: простите, если спрашиваю банальные или глупые вещи, сам только-только начал разбираться с самба, год готовился, а тут прям недели две уже читаю, копаю, пробую. Но чем больше узнаю, тем больше понимаю, что я ничего не знаю. =)
> И вот мне интересно как же виндовс клиенты, которые будут в домене
> samba PDC, будут посылать запросы на внесение себя в список объектов
> dns-зоны?DDNS работает и без samba. Виндовое имя компа после получения IP записывается в DNS.
> DDNS работает и без samba. Виндовое имя компа после получения IP записывается
> в DNS.Спасибо за простой и понятный ответ. Нужно будет попробовать отключить самбу и попробовать попинговать хосты по именам. =)
>> DDNS работает и без samba. Виндовое имя компа после получения IP записывается
>> в DNS.
> Спасибо за простой и понятный ответ. Нужно будет попробовать отключить самбу и
> попробовать попинговать хосты по именам. =)Рекомендую Dnsmasq. Гораздо легче в понимании чем bind)
> Рекомендую Dnsmasq. Гораздо легче в понимании чем bind)dnsmasq стоял до недавнего времени, просто решил поставить bind, потому что dhcp отдельно, bind отдельно.. =)
А подскажите пожалуйста еще, когда клиент вносит запись о себе в DNS, после того, как клиент отключается - будет ли удалена запись? Я заметил, что named переписывает (дополняет) файлы зон при динамической регисрации клиентов.И еще немного недопонимаю может быть. Вроде бы все настроил, конфиг dhcpd.conf сейчас такой:
authoritative;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;key dhcpupdate {
algorithm hmac-md5;
secret SICqF8F0BVjvoE2EQS0eXA==;
}zone urfu {
primary 127.0.0.1;
key dhcpupdate;
}zone 2.168.192.in-addr.arpa {
primary 127.0.0.1;
key dhcpupdate;
}subnet 192.168.2.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1; #,192.168.2.1;
option domain-name-servers 192.168.2.1; #93.88.181.2,8.8.8.8,93.88.182.2;
option domain-name "urfu";
#option ntp-servers 192.168.2.1;ddns-updates on; #Разрешение Dynamic DNS
ddns-update-style interim;
ddns-domainname "urfu";
ddns-rev-domainname "2.168.192.in-addr.arpa";
ignore client-updates;
update-static-leases true;option netbios-name-servers 192.168.2.10; #Самба-сервер, выступающий в роли WINS-сервера
option netbios-node-type 8;default-lease-time 3600; #36000;
max-lease-time 7200; #43200;# Клиенты получают маршруты от сервера DHCP (для работы этого надо раскомменитровать определение выше)
# option ms-classless-static-routes 16,172,16,172,16,10,1, 8,10,172,16,10,1, 20,93,88,176,172,16,10,1;range 192.168.2.30 192.168.2.254;
group top{
host area51 { hardware ethernet 00:1C:C0:5A:21:E1; fixed-address 192.168.2.10; }
host dhcp11 { hardware ethernet 00:1c:c0:5a:22:4c; fixed-address 192.168.2.11; }
host dhcp12 { hardware ethernet 00:e0:4c:16:11:29; fixed-address 192.168.2.12; }
host dhcp13 { hardware ethernet 00:50:ba:53:49:aa; fixed-address 192.168.2.13; }
host dhcp14 { hardware ethernet 00:1c:c0:5a:33:1f; fixed-address 192.168.2.14; }
host dhcp15 { hardware ethernet 00:1c:c0:0a:0f:26; fixed-address 192.168.2.15; }
host dhcp16 { hardware ethernet 00:1c:c0:0a:0f:18; fixed-address 192.168.2.16; }
host dhcp17 { hardware ethernet 70:71:bc:0b:c9:c5; fixed-address 192.168.2.17; }
host dhcp18 { hardware ethernet 00:19:66:2c:4e:a9; fixed-address 192.168.2.18; }
host dhcp19 { hardware ethernet 00:19:66:2c:4e:a1; fixed-address 192.168.2.19; }
host dhcp20 { hardware ethernet 00:01:6c:a5:bc:85; fixed-address 192.168.2.20; }
host dhcp21 { hardware ethernet 00:1c:c0:0a:0f:4a; fixed-address 192.168.2.21; }
}
}Конфиг named.conf в плане ключа и зон такой:
//список доступа lan: локальная сеть и 127.0.0.1
acl "lan" { 192.168.2.0/24; 127.0.0.1; };key dhcpupdate {
algorithm hmac-md5;
secret SICqF8F0BVjvoE2EQS0eXA==;
};//Внутренняя зона
zone "urfu" IN {
type master;
file "urfu.zone";
allow-query { lan; };
allow-update { key dhcpupdate; lan; };
allow-transfer { lan; };
};zone "2.168.192.in-addr.arpa" IN {
type master;
file "192.168.2.zone";
allow-query { lan; };
allow-update { key dhcpupdate; lan; };
allow-transfer { lan; };
};Попытка внести обновление в dns с другого компьютера локальной сети проходит удачно, делаю с помощью nsupdate -d testddns.file, в этом файле слудующее:
key dhcpupdate SICqF8F0BVjvoE2EQS0eXA==После этого я могу разрешать имя test3.urfu или же адрес 192.168.2.202. Однако... При включении виндового клиента обновление DNS не происходит. В системном логе в момент включения я вижу:update add test3.urfu. 86400 A 192.168.2.202
sendupdate add 202.2.168.192.in-addr.arpa 86400 PTR test3.urfu.
sendMar 27 13:51:33 localhost dhcpd: DHCPDISCOVER from 00:1c:c0:0a:0f:26 via lan
Mar 27 13:51:33 localhost dhcpd: DHCPOFFER on 192.168.2.15 to 00:1c:c0:0a:0f:26 via lan
Mar 27 13:51:33 localhost dhcpd: DHCPREQUEST for 192.168.2.15 (192.168.2.1) from 00:1c:c0:0a:0f:26 via lan
Mar 27 13:51:33 localhost dhcpd: DHCPACK on 192.168.2.15 to 00:1c:c0:0a:0f:26 via lan
То есть клиент получил адрес (адрес для этого клиента привязан к маку), но в named запроса на обновление зоны от клиента нет.[root@area51 ~]# nslookup 192.168.2.15Возможно, дело тут в ключе или я не совсем понимаю принцип работы сего механизма. Наверное, при общении с dhcp клиенту передается инструкция о возможности регистрации имени в DNS и ключ для регистрации, далее клиент регистрируется в DNS. Так ли это? Конечно, можно привязать адреса к макам в конфиге dhcpd и там же задать ddns-имя. Однако, хочется, чтобы была возможность автоматической регистрации клиентов в DNS. На клиенте (Windows XP) галочка "Зарегистрировать адреса этого подключения в DNS" активирована. Просветите незнающего меня. =)
Server: 127.0.0.1
Address: 127.0.0.1#53** server can't find 15.2.168.192.in-addr.arpa.: NXDOMAIN