Bug 3522

Summary: dhcpcd вызываемая из initscripts игнорирует DHCP_HOSTNAME из sysconfig/network
Product: Sisyphus Reporter: seriv <seriv>
Component: net-scriptsAssignee: Denis Ovsienko <pilot>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: minor    
Priority: P4 CC: ldv
Version: unstable   
Hardware: all   
OS: Linux   

Description seriv 2004-01-19 19:35:14 MSK
Я настроил DNS так, чтобы она брала имена из /var/lib/dhcp/dhcpd.leases и
разрешала их в IP выданные DHCP. И это хорошо работает для Виндузовских
клиентов, равно как и для Линуксовских, если в них вручную завершить DHCP lease
полученную при старте системы и получить новую с явным указанием HOSTNAME:
# dhcpcd -k eth0
# dhcpcd -h myhostname1 eth0
И после этого в /var/lib/dhcp/dhcpd.leases оказывается:
------
lease 192.168.10.159 {
  starts 1 2004/01/19 15:40:47;
  ends 2 2004/01/20 03:40:47;
  binding state active;
  next binding state free;
  hardware ethernet 00:0d:87:33:26:a7;
  uid "\001\000\015\2073&\247";
  client-hostname "myhostname1";
}
------
И сразу после этого DNS знает про "myhostname1":
------
# host myhostname1.mydomain ns.mydomain
Using domain server:
Name: ns.mydomain
Address: 192.168.10.53#53
Aliases:

myhostname1.mydomain has address 192.168.10.159
------

   Мне кажется что стартовые скрипты для dhcpcd разрабатывались с тем, чтобы,
если в /etc/sysconfig/network определено DHCP_HOSTNAME="myhostname1" то это имя
передавалось dhcpcd как значение ключей -h или -H. 
   Хорошо бы эту функциональность исправить, чтобы она стала работать как было
задумано.

      Сергей.


Steps to Reproduce:
1. В сети с DHCP сервером от Альтлинукса и DHCP клиентом от Альтлинукса, у
которого в /etc/sysconfig/network задано DHCP_HOSTNAME=<имя хоста>, посмотреть у
сервера /var/lib/dhcp/dhcpd.leases

2. У DHCPCD клиента отказаться от dhcpd.lease полученной при старте и получить
новую командами: # dhcpcd -k eth0; dhcpcd -h <имя хоста> eth0

3. Посмотреть еще раз у сервера /var/lib/dhcp/dhcpd.leases.
Actual Results:  
Имя хоста появляется в /var/lib/dhcp/dhcpd.leases только если вручную запросить
dhcpcd с ключем -h <имя хоста>

Expected Results:  
Имя хоста должно передаваться в запросе dhcp серверу во время старта компьютера,
если оно задано в /etc/sysconfig/network.
Comment 1 Denis Ovsienko 2004-03-17 22:32:21 MSK
Нужно обдумать, не на dhcp ли это повесить :)
Comment 2 Denis Ovsienko 2004-03-18 00:36:56 MSK
Вот я разглядываю ifup и вижу:
        dhcpcd)                                                                
                               
                [ -z "$DHCP_HOSTNAME" ] || DHCP_ARGS="-h $DHCP_HOSTNAME"       
                               
                [ -z "$NEEDHOSTNAME" ] || DHCP_ARGS="$DHCP_ARGS -H"            
                               
                is_yes "$PEERNTP" || DHCP_ARGS="$DHCP_ARGS -N"                 
                               
                ! is_no "$PEERDNS" || DHCP_ARGS="$DHCP_ARGS -R"                
                               
                DHCP_ARGS="$DHCP_ARGS $DEVICE"                                 
                               
                ;;
Получается, что DHCP_HOSTNAME должно передаваться dhcpcd. Буду сетапить и
проверять. А у вас, кстати, сетевая карта поперёд dhcpcd lease не получает
по bootROM?

Comment 3 Denis Ovsienko 2004-05-13 22:28:55 MSD
Причина тривиальна, как указал Сергей. Пошло в работу.
Comment 4 Denis Ovsienko 2004-05-15 14:10:50 MSD
закрываю...
Comment 5 Denis Ovsienko 2004-05-15 14:11:24 MSD
Исправление пошло в 0.4.7