Je fais tourner quelques machines virtuelles Ubuntu 16.04 dans le nuage Azure. Chaque fois que je redémarre une VM, je dois définir manuellement la passerelle par défaut.
La passerelle doit être définie par dhclient. J'ai activé le débogage et j'obtiens ceci :
root@backend01:/etc/dhcp/dhclient-exit-hooks.d# cat /tmp/dhclient-script.debug
root@backend01:/etc/dhcp/dhclient-exit-hooks.d# cat /tmp/dhclient-script.debug
Thu Jun 2 17:18:33 UTC 2016: entering /etc/dhcp/dhclient-enter-hooks.d, dumping variables.
reason='PREINIT'
interface='eth0'
--------------------------
Thu Jun 2 17:18:33 UTC 2016: entering /etc/dhcp/dhclient-enter-hooks.d, dumping variables.
reason='REBOOT'
interface='eth0'
new_ip_address='10.10.0.13'
new_network_number='10.10.0.0'
new_subnet_mask='255.255.0.0'
new_broadcast_address='10.10.255.255'
new_routers='10.10.0.1'
new_rfc3442_classless_static_routes='0 10 10 0 1 32 168 63 129 16 10 10 0 1'
new_domain_name='azure-prod'
new_domain_search='azure-prod.'
new_domain_name_servers='10.11.0.250 10.11.0.251'
L'option des routeurs est donc correctement configurée. Même le fichier de location montre la valeur correcte :
lease {
interface "eth0";
fixed-address 10.10.0.13;
server-name "RD7CFE90879C98";
option subnet-mask 255.255.0.0;
option dhcp-lease-time 4294967295;
option routers 10.10.0.1;
option dhcp-message-type 5;
option dhcp-server-identifier 168.63.129.16;
option domain-name-servers 10.11.0.250,10.11.0.251;
option domain-search "azure-prod.";
option dhcp-renewal-time 4294967295;
option rfc3442-classless-static-routes 0,10,10,0,1,32,168,63,129,16,10,10,0,1;
option unknown-245 a8:3f:81:10;
option dhcp-rebinding-time 4294967295;
option domain-name "azure-prod";
renew 0 2152/07/09 23:41:47;
rebind 0 2152/07/09 23:41:47;
expire 0 2152/07/09 23:41:47;
}
Voici à quoi ressemble mon /etc/dhcp/dhclient.conf :
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
timeout 300;
supersede domain-name "azure-prod";
supersede domain-search "azure-prod";
Pourquoi dhclient ne définit-il pas ma route par défaut ?