web-dev-qa-db-ja.com

他のネットワークのPXEサーバーからDebianルーターを介して起動する

私はあなたの助けが必要です。 Debian9.3.0でネットワークを設定しました。

このプロジェクトの目標は、ネットワークBでクライアントを起動できることです。そこで、2つのNICが構成されたルーターをセットアップします。

ネットワークA:-------------- DebianRouter:-------ネットワーク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

その後、isc-dhcp-serverをセットアップし、DHCPも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; }
            }
    }

だから私はリレーエージェントに乗る前に最初にファイル名でそれをやりたかったのです。

「PXE-E32:tftpopentimeout」iptables-Lがすべてが許可されていると私に言ったたびに、それは機能しませんでした。

たくさんの調査をした後、それでもうまくいかないので、リレーエージェントで直接試しました。

しかし、ネットワークBのクライアントからネットワークAのPXEサーバーへのpingは成功しました。

それで私はリレーエージェントに引き渡すことにしました。

サーバーのIPを(40.4.200.218)に入れ、インターフェースenp16s0をデフォルトに入れます

confファイル、およびdhcp.confのfilenameオプションを削除しました。

次のサーバーオプションはまだ構成にあります。

しかし今、ネットワークBのクライアントのどこかにpingを実行したい場合、ネットワークに到達できないと表示されます。

また、ネットワーク経由で起動したい場合は、エラー:PXE-E52:proxyDHCPオファーを受け取りました。 DHCPオファーが受信されませんでした。どうしたらよいかわかりません。

confや何かが必要な場合は、それを書いてください。投稿します。あなたが私を助けることができることを願っています

ちなみに、PXE/tftpはSCCMにマウントされており、彼によって管理されています。

ネットワークBのクライアントがIPアドレスを持っていないため、リレーエージェントがDHCPサーバーを使用している可能性があります。

私が望んでいないこと、私は彼がBOOTPを中継することを望んでいます。

編集2:2018年2月27日

# 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; }
            }
       }

そのため、「SCCM-Network」のDHCPが無効になっているため、新しいネットワークにdhcp-relayをインストールしました。conf:

# 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=""

pCをスターノッチしてネットワークブートのためにF12を押すと、DHCPが取得されないため、次のようになります。

PXE-E53: No boot filename received

次に、dhcp.confに戻り、ファイル名を含む2パラメーターを再度追加して、confが次のようになるようにします。

# 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; }
            }
    }

今、私は再びなります:PXE-E32:TFTPオープンタイムアウト。

Wire sharkのコメント: enter image description here

編集3:

大丈夫あなたの助けを本当にありがとう!

私は同じ問題を抱えている人(あなたが助けた人)の投稿を見つけました:

DnsMasq、DHCPプロキシ、UEFIクライアントのPXEの問題

私はそれをそのように構成しようとしますが、1つの問題があります...現在ファイル名を持っている私たちの会社の男は病気です...しかし基本的に私は1つのdhcp-bootオプションを持っています。

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

そして、あなたがちょうど私に言った3つのpxe-serviceオプション?

この男はここでそれをこのようにしたので: https://forums.fogproject.org/topic/8677/dnsmasq-bios-and-uefi

他の人がverndorclassesとより多くのdhcp-bootオプションを持っているので、私の最終的なdnsmasq.confはこのようになりますか?

    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

だから私は他のラップトップをこれで試してもらいました(uefiを得ました)同じエラー(NBPは大きすぎます)

bIOSをチェックし、レガシーをオフにしてレガシーをオフにして再試行しましたが、起動プロセス(hp 430 G4)にも到達しませんでした。他の人もこの問題を抱えているので、構成の障害ではないと思います。

1
Nils Schöffel

pXEとTFTPがSCCM)によって処理される場合、DHCP構成で競合する新しいPXEサーバーを作成しています。

SCCMが実際にPXE/DHCPサービスを提供しているかどうかを定義します。その場合は、新しいネットワークを動作中のDHCPサーバーに追加し、ルーターでIPヘルパーサービスを有効にして、DHCPブロードキャストを適切に転送します。ネットワーク間のトラフィック。

編集1:

PXE => TFTPサーバー+ DHCPサーバーにPXEパラメーターを提供します。次に、2つのPXEサーバーがないことを確認する必要があります。 1)SCCM 2)新しいネットワーク上のDHCPサーバー。

SCCMからTFTPサービスを使用するだけの場合は、DHCPサービスを停止してから、新しいネットワークにDHCPサーバーを追加する必要があります。

DHCPトラフィックがルーターの境界を越える必要がない場合(つまり、DHCPサーバーが新しいネットワークセグメントに配置されている場合)、IPヘルパーサービスを開始する必要はありません。

編集2:

  1. DHCPサーバーが10.5.200.0サブネットワークに直接サービスを提供する場合は、IPヘルパーを避ける必要があります
  2. PXE DHCP構成は、「next-server」および「filename」パラメーターで完了します。66/ 67などの他のPXE関連のDHCPオプションは避けてください。
  3. DHCPサーバーを変更しただけでは、より良い結果は得られません。
  4. Wiresharkトラフィックキャプチャを取得し、クライアントがDHCPサーバーから実際に何を取得しているかをパケットレベルで確認します。

編集3:

pXE対応のDHCPサーバーは、起動時に宣言されたPXEアーキテクチャを解析し、それに応じて対応するNBPを提供する必要があります。つまり、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

この例では、BIOS起動PC用のNBPとしてbios/pxelinuxを提供し、64ビットUEFI起動PC用にefi64/syslinux.efiを提供します。特定のシナリオを考慮してパラメータを調整する必要があります。

1
Pat