あなたの助けが必要です。Debian 9.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:tftp open timeout」iptables -L ですべてが許可されていると表示されました。
いろいろ調べた後もまだうまくいかなかったので、リレーエージェントで直接試してみました。
しかし、ネットワーク B のクライアントからネットワーク A の PXE サーバーへの ping は成功しました。
そこでリレーエージェントに引き渡すことにしました。
サーバーのIPを(40.4.200.218)に設定し、インターフェースenp16s0をデフォルトに設定しました。
confファイルを修正し、dhcp.confのfilenameオプションを削除しました。
次のサーバー オプションはまだ構成内にあります。
しかし、現在、ネットワーク B のクライアントのどこにでも ping を実行しようとすると、ネットワークに到達できないというメッセージが表示されます。
また、ネットワーク経由で起動したい場合は、次のエラーが発生します: PXE-E52: proxyDHCP オファーを受信しました。DHCP オファーを受信できませんでした。どうすればよいかわかりません。
何か必要なことがあれば書いてください。投稿します。助けていただければ幸いです
ちなみに、PXE/tftp は SCCM にマウントされており、これも 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 ネットワーク」の 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 オープン タイムアウト。
編集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
私の最終的な dnsmasq.conf は次のようになります。他の人は verndorclasses とより多くの dhcp-boot オプションを取得しているからです。
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
PXE と TFTP が SCCM によって処理される場合、DHCP 構成と競合する新しい PXE サーバーが作成されます。
SCCM が実際に PXE/DHCP サービスを提供しているかどうかを定義し、その場合は、稼働中の DHCP サーバーに新しいネットワークを追加し、ルーターで IP ヘルパー サービスを有効にして、ネットワーク間で DHCP ブロードキャスト トラフィックを適切に転送します。
編集1:
PXE パラメータを使用して、PXE => TFTP サーバー + DHCP サーバーを提供します。次に、新しいネットワーク上に 2 つの PXE サーバー (1) SCCM、2) DHCP サーバーがないことを確認する必要があります。
SCCM からの TFTP サービスのみを使用する場合は、DHCP サービスを停止し、新しいネットワークに DHCP サーバーを追加する必要があります。
DHCP トラフィックがルーターの境界を越える必要がない場合 (つまり、DHCP サーバーが新しいネットワーク セグメント上にある場合)、IP ヘルパー サービスを開始する必要はありません。
編集2:
- DHCPサーバーが10.5.200.0サブネットに直接サービスを提供する場合は、IPヘルパーを避ける必要があります。
- PXE DHCP 構成は、「next-server」および「filename」パラメータで完了します。66/67 などの他の PXE 関連 DHCP オプションは避けてください。
- DHCP サーバーを変更するだけでは、より良い結果は得られません。
- 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/pxelinux
BIOS ブート PC およびefi64/syslinux.efi
64 ビット UEFI ブート PC 用の NBP を提供します。特定のシナリオを考慮してパラメータを調整する必要があります。