Оказывается не все любят DHCP так как взрослые админы, например пользователи про него не знают и не ценят, а вот молодые админы боятся и пренебрегают, думая что настроить 1 раз DHCP сервер сложнее, чем всё время заниматься ручным прописыванием IP адрес
Дабы наплевать на вторых и опросопить последних показываю как настроить DHCP сервер для небольшой локалки, на примере своей домешней сети, с сервером 192.168.80.76 и компьютерами в этом диапазоне. Итак, установка:
sudo aptitude install dhcp3-server
затем можно пойти 2 путями, в первом случае адреса выдаются случайным образом и вместе с адресом компьютеры получают адрес шлюза, dns сервера, маску сети и имя домена
во втором, требующем предварительной настройки прямой и обратной DNS зоны, с привязкой доменных имён компьютеров к MAC адреса, второй вариант дополняет первый, по-этому вот минимальные настройки сервера
egrep -v "^#|^$" /etc/dhcp3/dhcpd.conf
ddns-update-style none;
option domain-name "xxx"; # имя домена в сети
option domain-name-servers 192.168.80.76; # адрес DNS сервера, может быть несколько
default-lease-time 6200; # время обновления
max-lease-time 27200; # время удержания адреса
log-facility local7; # влючения логов (syslog)
# задаём настройки для домашней сети, маску, шлюз, диапазон адрес для раздачи по DHCP, имя домена и опять DNS сервер
# этими параметрами можно разделить сеть на изолированную и свободную, например виндовым машинам можно не говорить адреса шлюза
subnet 192.168.80.0 netmask 255.255.255.0 {
range 192.168.80.100 192.168.80.120;
option routers 192.168.80.76;
option domain-name "xxx";
option domain-name-servers 192.168.80.76;
}
В принципе на этом настройку можно закончить, перезапускайте сервер и проверяйте настройку сети на другом компьютере с Linux
sudo /etc/init.d/dhcp3-server restart
sudo dhclient3 eth0
Теперь все компы в сети, если настроены на получение динамического адреса, должны получить IP, маску, шлюз и DNS адреса самостоятельно. Это удобно когда сеть централизована, то есть когда вся работа ведётся через сервер, а связь между компьютерами не нужна, но чаше встречается ситуация когда нужно либо подключить куда-то по ssh, или смонтировать шару или распечататать на чужом принтере, по этому удобнее привязать адреса к DNS именам в сети и MAC адресам сетевой карты
Для привязки DNS имён к MAC адресам необходимо составить схему соответствия DNS<->MAC, я это делаю таким скриптом
nmap -p 22,80,443 192.168.80.70-100 >/dev/null
arp -a|egrep "([0-9A-F:]{2}){6}"|grep -v "?"|sort -k 2|awk '{print "#"$2"\nhost "$1" {\n\thardware ethernet "$4";\n\tfixed-address "$1";\n}"}'
host katya {
hardware ethernet 00:21:85:0A:D3:18;
fixed-address katya;
}
host aw {
hardware ethernet 00:15:E9:40:0E:6B;
fixed-address aw;
}
host eee {
hardware ethernet 00:1F:C6:E9:0B:8D;
fixed-address eee;
}
Скрипт пингует рабочий диапазон сети, тем самым обновляя ARP таблицу с MAC адресам, а затем авком генерирует кусок конфига. Это особенно удобно когда машин в сети много. Скрипт работает при условии правильно настренной внутренней прямой и обратной DNS зоны, полученные строчки нужно добавить в конец конфига DHCP /etc/dhcp3/dhcpd.conf
Перезапуск DHCP сервера покажет на сколько хорошо настроена внутренняя зона
Большинство операционок умеют настраивать от DHCP по умолчанию, к тому же можно использовать этот механизм для управления сетью из виртуальных машин, для этого достаточно задать в настройках конкрентной машины фиксированный MAC адрес и привязать его к имени, например virt1=00000001, virt2=00000002, virt=00000003
В файле /etc/default/dhcp3-server есть опция привязывающая сервер к конкретному интерфейсу или списку интерфейсов
INTERFACES="eth0,wlan0"
Если имеются вопросы, то оставляйте их в комментариях, уведомления о новых коментариях мгновенно приходит мне в чат и возможно я помогу решить вашу проблему, только давайте больше информации без прелюдий