web-dev-qa-db-ja.com

IP-ConfigでPXEブートが失敗する:応答なし-あきらめます

DHCPサーバー(192.168.201.2)、TFTP/NFSサーバー(192.168.201.3)、および2つから起動する他のマシンでネットワークを構築しています。すべてのマシンでUbuntu 16.04.4が実行されています。

ポスト後、1つをオンにすると、DHCPサーバーからIPを正常に受信し、TFTPサーバーに接続し、vmlinuzとinitrd.imgをロードしますが、IPを再度取得しようとすると、次のメッセージが表示されます。

IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP
IP-Config: no response after 2 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP
IP-Config: no response after 3 secs - giving up

等々。

私の設定

/ etc/dhcp/dhcpd.conf

ddns-update-style none;

default-lease-time 600;
max-lease-time 7200;

authoritative;

log-facility local7;

allow booting;
allow bootp;

subnet 192.168.201.0 netmask 255.255.255.0 {
        default-lease-time 3600;
        max-lease-time 86400;
        option routers 192.168.201.1;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 208.67.222.222, 8.8.8.8;
        option broadcast-address 192.168.201.255;
        range 192.168.201.3 192.168.201.254;
        filename = "gpxelinux.0";
        next-server 192.168.201.3;
}

Host tftp {
    hardware ethernet xx:xx:xx:xx:xx:xx;
    fixed-address 192.168.201.3;
}

/ tftpboot/pxelinux.cfg/default

MENU LABEL Ubuntu DISKLESS
KERNEL vmlinuz-4.4.0-127-generic
APPEND boot=nfs root=/dev/nfs nfsroot=192.168.201.3:/srv/nfsroot/installer/ default,ro initrd=initrd.img-4.4.0-127-generic ipv6.disable=1 ip=dhcp net.ifnames=0 biosdevname=0

/ etc/initramfs-tools/initramfs.conf(NFSサーバー上のシステム上)

MODULES=netboot
BUSYBOX=auto
COMPCACHE_SIZE=""
COMPRESS=gzip
DEVICE=eth0
NFSROOT=auto
BOOT=nfs

this バグを見つけましたが、klibc-2.0.4-8ubuntu1.16.04.1で修正されました。これが実行中のバージョンです。

DHCPサーバーでdhcpdumpを実行してみましたが、次のようになります。

  TIME: 2018-06-05 11:22:59.057
    IP: 0.0.0.0 (xxx) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  Hops: 0
   XID: 4dae1bf8
  SECS: 4
 FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: xxx
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         1 (DHCPDISCOVER)
OPTION:  55 ( 36) Parameter Request List      1 (Subnet mask)
                                              2 (Time offset)
                                              3 (Routers)
                                              4 (Time server)
                                              5 (Name server)
                                              6 (DNS server)
                                             11 (Resource location server)
                                             12 (Host name)
                                             13 (Boot file size)
                                             15 (Domainname)
                                             16 (Swap server)
                                             17 (Root path)
                                             18 (Extensions path)
                                             22 (Maximum datagram reassembly size)
                                             23 (Default IP TTL)
                                             28 (Broadcast address)
                                             40 (NIS domain)
                                             41 (NIS servers)
                                             42 (NTP servers)
                                             43 (Vendor specific info)
                                             50 (Request IP address)
                                             51 (IP address leasetime)
                                             54 (Server identifier)
                                             58 (T1)
                                             59 (T2)
                                             60 (Vendor class identifier)
                                             66 (TFTP server name)
                                             67 (Bootfile name)
                                            128 (???)
                                            129 (???)
                                            130 (???)
                                            131 (???)
                                            132 (???)
                                            133 (???)
                                            134 (???)
                                            135 (???)

YIADDR:0.0.0.0は、サーバーが要求を受信して​​いるが応答していないことを意味しますか?しかし、なぜ?

私が試した他のことは、ip = dhcpをip = bootpおよびip =:192.168.201.2 ::::: eth0:dhcpに変更することですが、何も変わりません。

静的IPを手動で設定した場合:

ip=192.168.201.55:192.168.201.2:192.168.201.1:255.255.255.0:ubuntu:eth0:static

すべては機能しますが、ネットワークには多くのクライアントが存在するため、すべてを自動化する必要があります。

何が間違っているのかわかりません。

編集:

DHCPサーバー応答しています:

  TIME: 2018-06-05 11:23:24.857
    IP: 192.168.201.2 (xxx) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 2 (BOOTPREPLY)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  Hops: 0
   XID: 8d449854
  SECS: 0
 FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 192.168.201.11
SIADDR: 192.168.201.3
GIADDR: 0.0.0.0
CHADDR: xxx
 SNAME: .
 FNAME: gpxelinux.0.
OPTION:  53 (  1) DHCP message type         2 (DHCPOFFER)
OPTION:  54 (  4) Server identifier         192.168.201.2
OPTION:  51 (  4) IP address leasetime      3164 (52m44s)
OPTION:   1 (  4) Subnet mask               255.255.255.0
OPTION:   3 (  4) Routers                   192.168.201.1
OPTION:   6 (  8) DNS server                208.67.222.222,8.8.8.8
OPTION:  15 ( 11) Domainname                example.org
OPTION:  28 (  4) Broadcast address         192.168.201.255

そしてすべてが私にとって正しいように見えますが、なぜクライアントはこれを受け取っていないのですか?

2
Fyde

誰かがこれを見つけた場合、ここでそれを解決しました。

バグ 私の投稿で言及したものは実際には修正されていません。修正する最も簡単な方法は、 here からINITRD_N11.2.2.GZをダウンロードして、あなたがいるフォルダーに置くことですinitrdファイルを用意し、PXE構成で元のinitrdの後にファイル名をコンマで区切って追加します。また、ipをbootpに設定する必要があります。だから私のファイルは次のようになりました:

MENU LABEL Ubuntu DISKLESS
KERNEL vmlinuz-4.4.0-127-generic
APPEND boot=nfs root=/dev/nfs nfsroot=192.168.201.3:/srv/nfsroot/installer/ default,ro initrd=initrd.img-4.4.0-127-generic,INITRD_N11.2.2.GZ net.ifnames=0 biosdevname=0 ipv6.disable=1 ip=bootp

すべてが正常に動作します。

INITRD_N11.2.2.GZは、Ubuntu 16.04専用です。バージョンチェックが異なる場合 here

0
Fyde