Booten über einen Debian Router von einem PXE SERVER in einem anderen Netzwerk

Booten über einen Debian Router von einem PXE SERVER in einem anderen Netzwerk

ich brauche deine Hilfe. Ich habe ein Netzwerk mit Debian 9.3.0 eingerichtet.

Das Ziel dieses Projekts ist, dass ich Clients im Netzwerk B booten kann. Also habe ich einen Router mit 2 NICs eingerichtet und sie so konfiguriert, dass sie

Netzwerk A:--------------DebianRouter:-------Netzwerk B

40.4.200.0/24----------10.5.200.254/24-----10.5.200.0/24

dhcp.conf-->

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).



# The loopback network interface
auto lo
iface lo inet loopback
#test
#Member Network A
auto enp0s25
iface enp0s25 inet static
   address 40.4.200.252
   netmask 255.255.255.0
   gateway 40.4.200.254

#My NEW NETWORK B
auto enp16s0
iface enp16s0 inet static
   address 10.5.200.254
   netmask 255.255.255.0

danach habe ich den isc-dhcp-server eingerichtet und konfiguriert, dhcp hat auch die 10.5.200.254.

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd

INTERFACES="enp16s0";

ddns-update-style none;

option domain-name "peoplenetde.org";
option domain-name-servers 40.4.200.202, 172.29.1.10;

default-lease-time 86400 ;
max-lease-time 172800;

authoritative;

log-facility local7;

#option 66
option tftp-server-name "40.4.200.218";

#option67
option bootfile-name "smsboot\x64\wdsmgfw.efi";

allow booting;
allow bootp;

subnet 10.5.200.0 netmask 255.255.255.0 {
    option domain-name-servers 40.4.200.202, 179.29.1.10;
    option broadcast-address 10.5.200.255;
    option subnet-mask 255.255.255.0;
    option routers 10.5.200.254;
    range 10.5.200.100 10.5.200.200;


    group {
            next-server 40.4.200.218;
            filename "smsboot\x64\wdsmgfw.efi";


            host ubuntu {
                    hardware ethernet 08:00:07:26:c0:a5;
                    fixed-address 10.5.200.10; }
            }
    }

also wollte ich es zuerst mit dem Dateinamen machen, bevor ich zum Relay-Agenten komme.

es hat nicht funktioniert, jedes Mal "PXE-E32:tftp open timeout" iptables -L sagte mir, dass alles erlaubt sei.

nachdem es nach langem Suchen immer noch nicht funktioniert hat, habe ich es direkt mit einem Relay-Agenten versucht.

Aber ein Ping vom Client im Netzwerk B zum PXE-Server im Netzwerk A war erfolgreich.

also beschloss ich, das Kommando an den Relay-Agenten zu übergeben.

Ich habe die Server-IP in (40.4.200.218) und die Schnittstelle enp16s0 in den Standardwert eingegeben

conf-Datei und löschte die Dateinamenoption in der dhcp.conf,

Die nächste Serveroption befindet sich noch in der Konfiguration.

aber jetzt, wenn ich irgendwo auf dem Client im Netzwerk B einen Ping absetzen möchte, wird die Meldung „Netzwerk nicht erreichbar“ angezeigt.

Und wenn ich über das Netzwerk booten möchte, erscheint der Fehler: PXE-E52: Proxy-DHCP-Angebote wurden empfangen. Es wurden keine DHCP-Angebote empfangen, ich weiß nicht, was ich tun soll.

wenn du irgendwelche confs oder was auch immer brauchst, schreib es einfach und ich werde es posten. hoffe du kannst mir helfen

Übrigens ist das PXE/TFTP auf einem SCCM gemountet und wird auch von ihm verwaltet.

Möglicherweise übernimmt der Relay Agent einen beliebigen DHCP-Server, weil der Client im Netzwerk B keine IP-Adresse mehr hat.

was ich nicht will, ich will nur, dass er das BOOTP weiterleitet.

EDIT 2: 27.02.2018

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd

INTERFACES="enp16s0";


option domain-name "Debiann.com";
option domain-name-servers 10.5.200.254;

default-lease-time 86400 ;
max-lease-time 172800;

authoritative;

log-facility local7;

#option 66
option tftp-server-name "40.4.200.218";

#option67


allow booting;
allow bootp;

subnet 10.5.200.0 netmask 255.255.255.0 {
       option domain-name-servers 10.5.200.254;
       option broadcast-address 10.5.200.255;
       option subnet-mask 255.255.255.0;
group {
            next-server 40.4.200.218;



            host ubuntu {
                    hardware ethernet 08:00:07:26:c0:a5;
                    fixed-address 10.5.200.10; }
            }
       }

damit DHCP im „SCCM-Netzwerk“ deaktiviert ist, habe ich DHCP-Relay in meinem neuen Netzwerk installiert, Konfiguration:

# Defaults for isc-dhcp-relay initscript
# sourced by /etc/init.d/isc-dhcp-relay
# installed at /etc/default/isc-dhcp-relay by the maintainer scripts

#
# This is a POSIX shell fragment
#

# What servers should the DHCP relay forward requests to?
SERVERS="40.4.200.218"

# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
INTERFACES="enp16s0"

# Additional options that are passed to the DHCP relay daemon?
OPTIONS=""

Wenn ich den PC starte, drücke ich F12 für den Netzwerkstart: Er bekommt kein DHCP, also geschieht Folgendes:

PXE-E53: No boot filename received

dann gehe ich zurück zu dhcp.conf und füge die 2 Parameter mit Dateinamen erneut hinzu, sodass meine Konfiguration jetzt wie folgt aussieht:

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd

INTERFACES="enp16s0";


option domain-name "Debiann.com";
option domain-name-servers 10.5.200.254;

default-lease-time 86400 ;
max-lease-time 172800;

authoritative;

log-facility local7;

#option 66
option tftp-server-name "40.4.200.218";

#option67
option bootfile-name "smsboot\x64\wdsmgfw.efi";

allow booting;
allow bootp;

subnet 10.5.200.0 netmask 255.255.255.0 {
    option domain-name-servers 10.5.200.254;
    option broadcast-address 10.5.200.255;
    option subnet-mask 255.255.255.0;


group {
            next-server 40.4.200.218;
            filename "smsboot\x64\wdsmgfw.efi";


            host ubuntu {
                    hardware ethernet 08:00:07:26:c0:a5;
                    fixed-address 10.5.200.10; }
            }
    }

jetzt bekomme ich wieder: PXE-E32: TFTP-Öffnungstimeout.

Wire Shark sagt: Bildbeschreibung hier eingeben

BEARBEITEN 3:

okay, vielen Dank für Ihre Hilfe!

ich habe den Beitrag eines Typen gefunden, der das gleiche Problem hatte (dem Sie geholfen haben):

Probleme mit DnsMasq, DHCP-Proxy, PXE für UEFI-Clients

ich werde versuchen, es so zu konfigurieren, aber es gibt ein Problem ... der Typ in unserer Firma, der die Dateinamen kennt, ist krank ... aber grundsätzlich werde ich eine DHCP-Boot-Option haben, d. h.

dhcp-boot=smsboot\x64\wdsmgfw.efi,MUCSVCM01,40.4.200.218 

und die 3 PXE-Dienstoptionen, die Sie mir gerade genannt haben?

denn dieser Typ hier hat es so verstanden:https://forums.fogproject.org/topic/8677/dnsmasq-bios-and-uefi

Meine endgültige dnsmasq.conf wird dann so aussehen, weil die anderen Jungs Verndorclasses und mehr DHCP-Boot-Optionen haben?

    interface=enp16s0
    listen-address=127.0.0.1
    listen-address=10.5.200.254
    local=/debrou.com/
    expand-hosts
domain=debrou.com
dhcp-range=10.5.200.100,10.5.200.200,48h
dhcp-option=option:router,10.5.200.254
dhcp-option=19,1
dhcp-authoritative
dhcp-boot=smsboot\x64\wdsmgfw.efi,MUCSVCM01,40.4.200.218
 # PXEClient:Arch:00000
 pxe-service=X86PC, "Boot BIOS PXE", smsboot\x64\wdsmgfw,

 # PXEClient:Arch:00007
 pxe-service=BC_EFI, "Boot UEFI PXE-BC", smsboot\x64\wdsmgfw.efi

 # PXEClient:Arch:00009
 pxe-service=X86-64_EFI, "Boot UEFI PXE-64", smsboot\x64\wdsmgfw.efi

also habe ich einen anderen Laptop, habe es mit diesem hier versucht (habe UEFI), gleicher Fehler (NBP ist zu groß)

habe das BIOS geprüft, es ist auch auf Legacy, habe Legacy ausgeschaltet, habe es noch einmal versucht, aber es kam nicht einmal zum Bootvorgang (es ist ein HP 430 G4), auch andere Leute haben dieses Problem, also denke ich, dass es nicht der Konfigurationsfehler ist.

Antwort1

Wenn PXE und TFTP von SCCM gehandhabt werden, erstellen Sie mit Ihrer DHCP-Konfiguration einen neuen PXE-Server, der Konflikte verursacht.

Legen Sie fest, ob SCCM wirklich PXE/DHCP-Dienste bereitstellt. Wenn dies der Fall ist, fügen Sie das neue Netzwerk dem funktionierenden DHCP-Server hinzu und aktivieren Sie die IP-Helper-Dienste am Router, um den DHCP-Broadcast-Verkehr zwischen den Netzwerken ordnungsgemäß weiterzuleiten.

Bearbeitung 1:

Bereitstellen von PXE => TFTP-Server + DHCP-Server mit PXE-Parametern. Dann müssen Sie sicherstellen, dass Sie nicht zwei PXE-Server haben: 1) SCCM 2) Ihren DHCP-Server im neuen Netzwerk.

Wenn Sie nur die TFTP-Dienste von SCCM verwenden möchten, müssen Sie dessen DHCP-Dienste stoppen und dann den DHCP-Server im neuen Netzwerk hinzufügen.

Wenn der DHCP-Verkehr die Routergrenzen nicht überschreiten muss (d. h. der DHCP-Server befindet sich im neuen Netzwerksegment), müssen Sie die IP-Hilfsdienste nicht starten.

Bearbeitung 2:

  1. Wenn der DHCP-Server direkt das Subnetz 10.5.200.0 bedient, sollten Sie IP-Helfer vermeiden
  2. Die PXE-DHCP-Konfiguration ist mit den Parametern „next-server“ und „filename“ vollständig. Vermeiden Sie einfach andere PXE-bezogene DHCP-Optionen wie 66/67 usw.
  3. Sie erzielen keine besseren Ergebnisse, wenn Sie lediglich Ihren DHCP-Server ändern.
  4. Erfassen Sie den Wireshark-Verkehr und sehen Sie auf Paketebene, was der Client wirklich vom DHCP-Server erhält.

BEARBEITEN 3:

Ein PXE-fähiger DHCP-Server muss die beim Booten deklarierte PXE-Architektur analysieren und dementsprechend das entsprechende NBP bereitstellen. z. B. für Dnsmasq

 # PXEClient:Arch:00000 
 pxe-service=X86PC, "Boot BIOS PXE", bios/pxelinux

 # PXEClient:Arch:00007 
 pxe-service=BC_EFI, "Boot UEFI PXE-BC", efi64/syslinux.efi

 # PXEClient:Arch:00009 
 pxe-service=X86-64_EFI, "Boot UEFI PXE-64", efi64/syslinux.efi

In diesem Beispiel stellen wir bios/pxelinuxNBP für BIOS-Boot-PCs und efi64/syslinux.efifür 64-Bit-UEFI-Boot-PCs bereit. Sie müssen die Parameter entsprechend Ihrem speziellen Szenario anpassen.

verwandte Informationen