Gros soucis dhcp sur installation Ubuntu 14.04LTS

Bonjour à tous

Il y a 1 mois j’ai configuré le serveur pxe pour automatiser l’installation de Ubuntu 14.04LTS sur le réseau.

J’ai un réseau sur le lieu ou je bosse et un deuxieme reseau distant (rien de bien sorcier donc)

En local, j’ai fait plusieurs boot sur le PXe avec une installation qui passe nickel du premier coup, donc jusque la pas de soucis.

La où cela se complique c’est sur le serveur distant. Le pxe est la aussi bien configuré, le lancement de l’installation se fait sans soucis jusqu’au moment où il faut configurer le réseau et la j’ai une belle erreur:
la configuration DHCP n’est probablement pas utilisé sur le réseau.Il est également possible que le serveur dhcp soit lent ou que certains équipements réseau ne fonctionne pas correctement.

Bien entendu j’ai vérifié le serveur dhcp (sur le serveur distant) qui est géré par dnsmasq et je n’ai pas vu d’anomalie. pxelinux.0 est bien renseigné etc…

En desespoir de cause j’ai installé virtualbox sur un PC windows (qui est donc bienenregistré sur le réseau), configuré la VM Ubuntu avec une carte réseau bridge, et comme par miracle aucun soucis pour installer completement le systeme d’exploitation…la phase dhcp c’est déroulée sans encombre.

Pensant à un soucis avec dnsmasq, j’ai installé un vrai serveur dhcp (isc-dhcp-server sans bind derriere et toujours sur le serveur distant) et j’ai toujours le même soucis.

L’installation pxe se passe sans soucis jusqu’à cette partie configuration dhcp.

Le serveur est sur une debian 6
Linux paris 2.6.32-5-openvz-amd64 #1 SMP Tue May 13 17:16:50 UTC 2014 x86_64 GNU/Linux

Ce n’est pas moi qui ai monté le réseau initialement, donc je vais de découverte en découverte.

Avez vous des idées à me soumettre car la franchement je sèche complétement.

Par avance merci

Bonjour

Bon j’ai recommencé une configuration:

/etc/dhcp # less dhcpd.conf
### Changer ces lignes

# Nom de domaine pour le reseau local

option domain-name "mondomaine.lan"; 

# Utilisation des DNS, si vous avez bind d'installéous pouvez spéfier les IPs (comme moi), sinon utilisez les DNS de Google

option domain-name-servers 10.1.0.254, 80.10.246.2;

# Temps durant lequel les adresses ip locales seront assigné

default-lease-time 36000;
max-lease-time 72000;

### Il faut decommenter cette ligne

authoritative;

### Ajout de l'attribution

subnet 10.1.0.0 netmask 255.255.255.0 {

# rang d'attribution

range 10.1.0.100 10.1.0.250;

# masque de sous-réau

option subnet-mask 255.255.255.0;

# broadcast pour les informations gérales

option broadcast-address 10.1.0.255;

# adresse ip du routeur

option routers 10.1.0.254;
}

### PXE ###
### Permet le boot réseau pour TFTP 
allow bootp;
allow booting;
filename "pxelinux.0";
next-server 10.1.0.254;
ping-check = 1;

Bon bien sur je n’ai pas de dns derriere mais suivant ce tuto ce n’est pas indispensable: howtoforge.com/ubuntu-14.10 … stallation

Ensuite j’ai allégé dnsmasq pour enlever toutes les lignes en relation avec dhcp, ce qui fait que normalement il est en dns uniquement.

J’ai relancé ensuite dnsmasq pour qu’il soit en mode dns et démarré isc-dhcp-server.

J’ai retenté un boot via PXe, pas de soucis il trouve bien le serveur local PXE et le fichier de config, et a même soucis, et même message:

La configuration DHCP n'est probablement pas utilisé sur le réseau.Il est également possible que le serveur dhcp soit lent ou que certains équipements réseau ne fonctionne pas correctement.

voila ma config dnsmasq.conf actuelle

# Configuration file for dnsmasq.
#C'est la configuration avec DHCP

# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv

# Uncomment this to filter useless windows-originated DNS requests
# which can trigger dial-on-demand links needlessly.
# Note that (amongst other things) this blocks all SRV requests,
# so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk.
# This option only affects forwarding, SRV records originating for
# dnsmasq (via srv-host= lines) are not suppressed by it.
filterwin2k

# Change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf
resolv-file=/etc/dnsmasq.resolv.conf

# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
#no-resolv

# If you don't want dnsmasq to poll /etc/resolv.conf or other resolv
# files for changes and re-read them then uncomment this.
#no-poll

# Add other name servers here, with domain specs if they are for
# non-public domains.
#server=/localnet/192.168.0.1
server=/mondomaine.lan/172.16.0.2
#server=/printers.mondomaine.lan/10.1.0.254
#server=/printers.mondomaine.lan.mondomaine.lan/10.1.0.254

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
#local=/localnet/
local=/paris.mondomaine.lan/

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
#address=/doubleclick.net/127.0.0.1
address=/printers.mondomaine.lan/10.1.0.254
address=/mondomaine.lan.mondomaine.lan/10.1.0.254

# You can control how dnsmasq talks to a server: this forces 
# queries to 10.1.2.3 to be routed via eth1
# server=10.1.2.3@eth1

# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
#interface=
# Or you can specify which interface _not_ to listen on
#except-interface=
# Or which to listen on by address (remember to include 127.0.0.1 if
# you use this.)
#listen-address=
# If you want dnsmasq to provide only DNS service on an interface,
# configure it as shown above, and then use the following line to
# disable DHCP on it.
#no-dhcp-interface=

# If you don't want dnsmasq to read /etc/hosts, uncomment the
# following line.
#no-hosts
# or if you want it to read another file, as well as /etc/hosts, use
# this.
addn-hosts=/etc/dnsmasq.hosts

# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
expand-hosts

# Set the domain for dnsmasq. this is optional, but if it is set, it
# does the following things.
# 1) Allows DHCP hosts to have fully qualified domain names, as long
#     as the domain part matches this setting.
# 2) Sets the "domain" DHCP option thereby potentially setting the
#    domain of all systems configured by DHCP
# 3) Provides the domain part for "expand-hosts"
domain=paris.mondomaine.lan

### postes
dhcp-range=interface:eth0,10.1.0.50,10.1.0.250,36h,proxy

# netmask
dhcp-option=1,255.255.255.0

# default route
dhcp-option=3,10.1.0.254

# serveur dns
dhcp-option=6,10.1.0.254

# broadcast addr
dhcp-option=28,10.1.0.255

# printers
dhcp-host=00:20:00:55:40:F9,jetencre_couleur_paris,10.1.0.15
dhcp-host=08:00:37:8F:22:7C,laser_couleur_paris,10.1.0.16

# partie PXE
dhcp-boot=pxelinux.0
pxe-service=x86PC, “Boot from Network”, pxelinux
#enable-tftp pose soucis de socket dans dnsmasq
tftp-root=/var/lib/tftpboot
dhcp-boot=pxelinux.0,serveurP.paris.mondomaine.lan,10.1.0.254

# Send RFC-3397 DNS domain search DHCP option. WARNING: Your DHCP client
# probably doesn't support this......
#dhcp-option=option:domain-search,eng.apple.com,marketing.apple.com
dhcp-option=option:domain-search,mondomaine.lan 

  # Enable dnsmasq's built-in TFTP server
#enable-tftp

# Set the root directory for files availble via FTP.
#tftp-root=/var/ftpd

# This option stops dnsmasq from negotiating a larger blocksize for TFTP 
# transfers. It will slow things down, but may rescue some broken TFTP
# clients.
#tftp-no-blocksize

# Set the boot file name only when the "red" tag is set.
#dhcp-boot=net:red,pxelinux.red-net

# An example of dhcp-boot with an external TFTP server: the name and IP
# address of the server are given after the filename.
# Can fail with old PXE ROMS. Overridden by --pxe-service.
#dhcp-boot=/var/ftpd/pxelinux.0,boothost,192.168.0.3

# Set the limit on DHCP leases, the default is 150
#dhcp-lease-max=150

# The DHCP server needs somewhere on disk to keep its lease database.
# This defaults to a sane location, but if you want to change it, use
# the line below.
dhcp-leasefile=/var/lib/misc/dnsmasq.leases

# Set the DHCP server to authoritative mode. In this mode it will barge in
# and take over the lease for any client which broadcasts on the network,
# whether it has a record of the lease or not. This avoids long timeouts
# when a machine wakes up on a new network. DO NOT enable this if there's
# the slighest chance that you might end up accidentally configuring a DHCP
# server for your campus/company accidentally. The ISC server uses
# the same option, and this URL provides more information:
# http://www.isc.org/index.pl?/sw/dhcp/authoritative.php
dhcp-authoritative

# Set the cachesize here.
cache-size=1024

# If you want to disable negative caching, uncomment this.
no-negcache

# A SRV record sending LDAP for the example.com domain to
# ldapserver.example.com port 389 (using domain=)
#domain=example.com
#srv-host=_ldap._tcp,ldapserver.example.com,389
#
cname=28bb6a0e-64f1-4dfc-b6f8-4c9db87d78ca._msdcs.mondomaine.lan,hyperv.mondomaine.lan
cname=73d61bee-c3dc-42a9-8cb3-6a9017b32719._msdcs.mondomaine.lan,AD.mondomaine.lan

srv-host=_kerberos._tcp.mondomaine.lan,hyperv.mondomaine.lan,88,1
srv-host=_kerberos._tcp.mondomaine.lan,AD.mondomaine.lan,88,2
srv-host=_kerberos._tcp.paris.mondomaine.lan,hyperv.mondomaine.lan,88,1
srv-host=_kerberos._tcp.paris.mondomaine.lan,AD.mondomaine.lan,88,2
srv-host=_kerberos._tcp.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,88,1
srv-host=_kerberos._tcp.dc._msdcs.mondomaine.lan,AD.mondomaine.lan,88,2
srv-host=_kerberos._tcp.paris._sites.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,88,1
srv-host=_kerberos._tcp.paris._sites.dc._msdcs.mondomaine.lan,AD.mondomaine.lan,88,2

# Two SRV records for LDAP, each with different priorities
srv-host=_ldap._tcp.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.mondomaine.lan,AD.mondomaine.lan,389,2
srv-host=_ldap._tcp.paris.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris.mondomaine.lan,AD.mondomaine.lan,389,2
srv-host=_ldap._tcp.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.dc._msdcs.mondomaine.lan,AD.mondomaine.lan,389,2
srv-host=_ldap._tcp.paris._sites.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris._sites.dc._msdcs.mondomaine.lan,AD.mondomaine.lan,389,2


srv-host=_ldap._tcp.28bb6a0e-64f1-4dfc-b6f8-4c9db87d78ca.domains._msdcs.mondomaine.lan,hyper-v.mondomaine.lan,389,1
#srv-host=_ldap._tcp.paris._sites.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris._sites.hyper-v.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris._sites.mondomaine.lan,hyperv.mondomaine.lan,389,1
#srv-host=_ldap._tcp.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
#srv-host=_ldap._tcp.paris._sites.dc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris._sites.gc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris._sites.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.gc._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.hyper-v._msdcs.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.hyper-v.mondomaine.lan,hyperv.mondomaine.lan,389,1
srv-host=_ldap._tcp.mondomaine.lan,hyperv.mondomaine.lan,389,1

# Global Catalog
srv-host=_gc._tcp.mondomaine.lan,hyperv.mondomaine.lan,3268
srv-host=_gc._tcp.paris._sites.mondomaine.lan,hyperv.mondomaine.lan,3268

# linuxldap
srv-host=_kerberos._tcp.linuxldap,serveurP.paris.mondomaine.lan,88,1
srv-host=_kerberos._tcp.dc._msdcs.linuxldap,serveurP.paris.mondomaine.lan,88,1
srv-host=_ldap._tcp.pdc._msdcs.linuxldap,serveurP.paris.mondomaine.lan,389,1
srv-host=_ldap._tcp.dc._msdcs.linuxldap,serveurP.paris.mondomaine.lan,389,1
srv-host=_ldap._tcp.linuxldap,serveurP.paris.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris.linuxldap,serveurP.paris.mondomaine.lan,389,1
srv-host=_ldap._tcp.paris._sites.dc._msdcs.linuxldap,serveurP.paris.mondomaine.lan,389,1

# Log lots of extra information about DHCP transactions.
log-dhcp

log-facility=/var/log/dnsmasq.log

# Include a another lot of configuration options.
#conf-file=/etc/dnsmasq.more.conf
#conf-dir=/etc/dnsmasq.d

Je ne sais plus que chercher et que faire

Bonjour

J’ai essayé d’avancer sur ce probleme et la je tombe des nues

Sur un PC fixe (desktop) l’installation se passe sans soucis, je n’ai cette erreur DHCP que sur les portables (Dell Latitude E6420 ET E6410)

Avez vous une idée?

Oui, il te manque les firmwares proprio sur tes portables pour les cartes réseaux dans ton boot PXE.

argghhh

et a ton avis, comment je peux les inclure dans le script kickstart que j’utilise pour personnaliser l’installation via netboot?

Hum, rajoute les paquet firmware-nonfree et les firmware-realtek par exemple.

Bonjour

bon ben serie de test terminées et je m’arrache les cheveux

1/ Avant d’ajouter les firmware, j’ai fait un test en local sur un latitude 6450 (donc identique aux portables qui posent problème) et pas de soucis pour le boot via pxe :101

2/ j’ai ajouté les firmwares et je verrais ce que cela donne sur le site distant en début de semaine, mais vu que le boot en local n’a pas posé de problème, je suis un peu dubitatif sur le fait que cela va résoudre mon soucis.

Je verrais ca en debut de semaine prochaine

En tout cas merci pour ton aide

Lorsque tu boutes en local, le noyau utilise le support donc c’est un support local (CDROM ou clefUSB) ne nécessitant pas de support réseau au démarrage, lorsque tu boutes en PXE, le boute PXE charge le noyau et l’initrd puis démarre, l’initrd cherche à monter la racine, si celle ci est sur réseau, il lui fait le support réseau donc les firmwares dans l’initrd ce qu’il n’y a pas d’après moi. Donc pour moi c’est normal qu’il y ait une différence.

oups on ne s’est pas compris, du moins je me suis mal exprimé

Le test “en local” c’est un test de boot sur le PXE sur le réseau local, aller pour être clair sur le reseau 10.0.0.0 là ou je bosse.

J’ai parlé de local pour le differencier du reseau distant qui lui est sur la plage 10.1.0.0, il y a bien sur un PXE (identique a celui du 10.0.0.0, tftp et dhcp/dns sur ce réseau distant.

Pour résumer: Le boot PXE des portables fonctionne sur mon reseau local (10.0.0.0) mais pas sur le reseau distant (10.1.0.0), alors que le boot des desktop fonctionne parfaitement sur le reseau distant (10.1.0.0).