Ну домены samba как и NT по сути сабой не являются FQDN, поэтому собственно и существует вся эта приблуда с NetBIOS сетями. Но если уж очень хочется то можно поднять DDNS на основе, например, bind9 и isc-dhcp-server.
Во в качестве примера мои конфиги bind9 и isc-dhcp-server для настройки DDNS.
dhcpd.conf
authoritative;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim;
update-static-leases on;
ignore client-updates;
include "/etc/dhcp/rndc.key";
subnet 10.0.0.0 netmask 255.255.255.224 {
range 10.0.0.2 10.0.0.30;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
option domain-name "gis.tsu.ru";
option netbios-name-servers 10.0.0.1;
option netbios-node-type 8;
ddns-updates on;
ddns-domainname "gis.tsu.ru";
ddns-rev-domainname "in-addr.arpa";
zone gis.tsu.ru. {
primary 127.0.0.1;
key rndc-key;
}
zone 0.0.10.in-addr.arpa. {
primary 127.0.0.1;
key rndc-key;
}
}
named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/rndc.key";
named.conf.options
options {
version "";
directory "/var/cache/bind";
forwarders { 8.8.8.8; };
allow-query { 10.0.0.0/27; 127.0.0.1/32; };
listen-on { 10.0.0.1; 127.0.0.1; };
max-cache-size 32768;
auth-nxdomain no; # conform to RFC1035
// listen-on-v6 { any; };
};
named.conf.local
zone "gis.tsu.ru" {
type master;
file "/var/cache/bind/gis.db";
allow-update { key "rndc-key"; };
notify no;
};
zone "0.0.10.in-addr.arpa" {
type master;
file "/var/cache/bind/10.db";
allow-update { key "rndc-key"; };
notify no;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};
gis.db
$ORIGIN .
$TTL 1h
gis.tsu.ru IN SOA omega.gis.tsu.ru. ivan.gis.tsu.ru. (
1
3h
1h
1w
1d )
IN NS omega.gis.tsu.ru.
IN MX 10 omega.gis.tsu.ru.
IN A 10.0.0.1
$ORIGIN gis.tsu.ru.
omega IN A 10.0.0.1
www IN CNAME omega
wpad IN CNAME omega
10.db
$ORIGIN .
$TTL 1h
0.0.10.in-addr.arpa IN SOA omega.gis.tsu.ru. ivan.gis.tsu.ru. (
1
3h
1h
1w
1d )
IN NS omega.gis.tsu.ru.
$ORIGIN 0.0.10.in-addr.arpa.
1 IN PTR omega.gis.tsu.ru.
Теперь о настройке.
Если все делается для ubuntu server 12.04, то сначала нужно несколько костылей вставить системе.
1. Для безопасности в файле /etc/default/isc-dhcp-server в параметре INTERFACES="" прописать сетевые карты, на которых будет работать dhcp-server, например, INTERFACES="eth1"
2. В файле настроек запуска демона /etc/init/isc-dhcp-server.conf отредактировать предпоследнюю строку следующим образом
exec /usr/sbin/dhcpd -f -q -4 -pf /var/run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES
3. Файлы зон, как наверное уже заметили, лучше всего положить в каталог /var/cache/bind, к которому у bind есть права доступа, ведь записи в зонах будет менять сам bind по запросу dhcp-сервера. Ну и выставить на файлы зон права bind:bind 640.
4. Скопировать /etc/bind/rndc.key в папку к dhcp-серверу /etc/dhcp/rndc.key
5. Ну и теперь самое главное, т.к. в 12.04 файл /etc/resolv.conf теперь обновляется автоматически, чтобы наш сервер имен начал корректно работать нужно прописать необходимые параметры в файл настройки сетей.
/etc/network/interfaces
auto lo
iface lo inet loopback
#Интерфейс для внешней сети
auto eth0
iface eth0 inet static
address 31.211.15.28
netmask 255.255.255.0
gateway 31.211.15.254
dns-nameservers 127.0.0.1
dns-domain gis.tsu.ru
#Интерфейс для локальной сети
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.224
В остальном все, перезапускаем службы bind9 isc-dhcp-server и networking. DDNS готов, при обращении клиентов к серверу за полученим ip-адреса dhcp-сервер тут же будет делать запрос к DNS-серверу за обновленим прямой и обратной зоны.
Самбу можно настраивать по мануалу с сайта документации ubuntu:
https://help.ubuntu.com/12.04/serverguide/samba-dc.html