Я пытаюсь включить DHCP на машине Solaris 11. Мой DHCP-сервер - это m0n0wall, и он предоставляет всю информацию о конфигурации сети, кроме локального широковещательного адреса (ограничение в m0n0wall).

Для моей установки DNS/ разрешение имен не удается. Похоже, что DHCP настроен неправильно, поскольку информация предоставляется с помощью DHCP:

qotom-solaris11:~$ ping www.google.com
ping: getaddrinfo: temporary name resolution failure
ping: unknown host www.google.com

Я неоднократно следовал инструкциям оракулов, чтобы сбросить машину, как найти DHCP-клиент. Процесс использует sysconfig configure и настраивает сетевой стек, добавляет пароль root, добавляет пользователей, устанавливает часовой пояс и т.д. По сути, это сброс машины.

Как включить DHCP, если инструкции Oracle не работают?

Связанный, сброс всей машины кажется своего рода крайностью. Почему Oracle говорит людям сбросить всю машину?


РЕДАКТИРОВАТЬ

$ sudo ifconfig net0
net0: flags=100001004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,PHYSRUNNING> mtu 1500 index 2
        inet 172.16.4.21 netmask ffff0000 broadcast 172.16.255.255
        ether 52:54:0:4:42:a3 

А также:

$ sudo netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface 
-------------------- -------------------- ----- ----- ---------- --------- 
default              172.16.1.1           UG        1          0 net0      
127.0.0.1            127.0.0.1            UH        3        998 lo0       
172.16.0.0           172.16.4.21          U         3        385 net0      

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If   
--------------------------- --------------------------- ----- --- ------- ----- 
::1                         ::1                         UH      2     686 lo0   
fe80::/10                   fe80::5054:ff:fe04:42a3     U       2       0 net0 

А также:

$ sudo cat /etc/resolv.conf

#
# _AUTOGENERATED_FROM_SMF_V1_
#
# WARNING: THIS FILE GENERATED FROM SMF DATA.
#   DO NOT EDIT THIS FILE.  EDITS WILL BE LOST.
# See resolv.conf(4) for details.

domain  home.pvt

Следующее - от машины-наблюдателя в той же подсети, где работает dhcpdump . Он захватил трафик между сервером DHCP и хостом Solaris:

$ sudo dhcpdump -i eth0
  TIME: 2016-08-25 21:14:32.717
    IP: 0.0.0.0 (52:54:0:4:42:a3) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: ef048b4a
  SECS: 0
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 52:54:00:04:42:a3:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         3 (DHCPREQUEST)
OPTION:  50 (  4) Request IP address        172.16.4.21
OPTION:  51 (  4) IP address leasetime      -1 ()
OPTION:  57 (  2) Maximum DHCP message size 1472
OPTION:  60 ( 10) Vendor class identifier   SUNW.i86pc
OPTION:  55 (  6) Parameter Request List      1 (Subnet mask)
                          3 (Routers)
                         12 (Host name)
                         15 (Domainname)
                         28 (Broadcast address)
                         43 (Vendor specific info)

Вот немного информации о dmesg . Это может (или не может) быть актуальным.

qotom-solaris11:~$ dmesg | egrep -i '(dhcp|error)'
Aug 25 20:07:45 qotom-solaris11 /sbin/dhcpagent[372]: [ID 778557 daemon.warning] configure_v4_lease: no IP broadcast specified for net0, making best guess
Aug 25 20:08:05 qotom-solaris11 auditd[522]: [ID 956865 daemon.error] getaddrinfo(qotom-solaris11) failed[temporary name resolution failure].
Aug 25 20:08:05 qotom-solaris11 auditd[721]: [ID 956865 daemon.error] getaddrinfo(qotom-solaris11) failed[temporary name resolution failure].
Aug 25 20:08:06 qotom-solaris11 auditd[522]: [ID 956865 daemon.error] getaddrinfo(qotom-solaris11) failed[temporary name resolution failure].
Aug 25 20:08:06 qotom-solaris11 auditd[721]: [ID 956865 daemon.error] getaddrinfo(qotom-solaris11) failed[temporary name resolution failure].
Aug 25 20:08:07 qotom-solaris11 auditd[522]: [ID 956865 daemon.error] getaddrinfo(qotom-solaris11) failed[temporary name resolution failure].
Aug 25 20:08:07 qotom-solaris11 auditd[721]: [ID 956865 daemon.error] getaddrinfo(qotom-solaris11) failed[temporary name resolution failure].
Aug 25 20:08:08 qotom-solaris11 auditd[522]: [ID 994446 daemon.error] mapping qotom-solaris11 to fe80::5054:ff:fe04:42a3.
Aug 25 20:08:08 qotom-solaris11 auditd[721]: [ID 994446 daemon.error] mapping qotom-solaris11 to fe80::5054:ff:fe04:42a3.
Aug 25 20:15:16 qotom-solaris11 rpcbind: [ID 564983 daemon.error] rpcbind terminating on signal.
Aug 25 20:17:20 qotom-solaris11 /sbin/dhcpagent[372]: [ID 778557 daemon.warning] configure_v4_lease: no IP broadcast specified for net0, making best guess

2 ответа2

1

В разделе « Устранение неполадок DHCP-клиента Solaris» они подробно описывают следующую процедуру:

 # pkill -x dhcpagent
 # /sbin/dhcpagent -d1 -f &
 # ifconfig net0 dhcp start 
0

Похоже, что /etc/default/dhcpagent был поврежден. Я предполагаю, что это стало коррумпированным во время одной из многих проблем с питанием, которые мы испытываем в доме. Ценные устройства защищены от перенапряжения, но большинству не хватает активного ИБП. Испытательная машина Solaris не является приоритетной, поэтому ей не хватает ИБП.

Копирование /etc/default/dhcpagent с работающей тестовой машины Solaris 11 и перезагрузка решили проблему (показано ниже). Так много для этого сброса Oracle продолжал говорить мне, чтобы выполнить ...

$ cat /etc/default/dhcpagent
#
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
#

#
# This file contains tunable parameters for dhcpagent(1M).
#

# All parameters can be tuned for a specific interface by prepending
# the interface name to the parameter name.  For example, to make
# VERIFIED_LEASE_ONLY happen on all interfaces except hme0, specify:
#
# hme0.VERIFIED_LEASE_ONLY=no
# VERIFIED_LEASE_ONLY=yes
#
# An interface name alone specifies IPv4 DHCP.  For DHCPv6, append ".v6".
# Some examples:
#
# hme0.VERIFIED_LEASE_ONLY=no           specify hme0 v4 behavior
# hme0.v6.VERIFIED_LEASE_ONLY=no        specify hme0 v6 behavior
# VERIFIED_LEASE_ONLY=no                match all v4 interfaces
# .v6.VERIFIED_LEASE_ONLY=no            match all v6 interfaces

# By default, when the DHCP agent is sent a SIGTERM (typically when
# the system is shut down), all managed addresses are dropped rather
# than released.  Dropping an address does not notify the DHCP server
# that the address is no longer in use, leaving it possibly available
# for subsequent use by the same client.  If DHCP is later restarted
# on the interface, the client will ask the server if it can continue
# to use the address.  If the server either grants the request, or
# does not answer (and the lease has not yet expired), then the client
# will use the original address.
#
# Similarly, when the system is suspended and then woken up or when
# the link status transitions from down to up, DHCP will ask the server
# to continue to use the managed address, in case the lease has changed.
#
# By uncommenting the following parameter-value pairs, all managed
# addresses are released on SIGTERM instead, and any that may have been
# saved but cannot be verified will not be used.  When SIGTERM is
# received, the DHCP server is notified that the address is available
# for use, and the address will not be saved for a later restart.  If
# DHCP receives SIGTHAW or a link-up event, DHCP will attempt to verify
# the previous lease, but if unable to do so, it will not attempt to
# use that lease.  This behavior is often preferred for roaming systems.
#
# VERIFIED_LEASE_ONLY=yes
# .v6.VERIFIED_LEASE_ONLY=yes

# By default, the DHCP agent waits 3 seconds to collect OFFER
# responses to a DISCOVER.  If it receives no OFFERs in this time, it
# then waits for another 3 seconds, and so forth.  To change this
# behavior, set and uncomment the following parameter-value pair.
# Note: this does not control the retransmission strategy for
# DISCOVERs, which is formally specified in RFC 2131.  This parameter
# is specified in seconds.
#
# OFFER_WAIT=

# By default, the DHCP agent does not send out a client identifier
# (and hence, the chaddr field is used by the DHCP server as the
# client identifier.)  To make the DHCP agent send a client
# identifier, set and uncomment the following parameter-value pair.
# Note that by default this is treated as an NVT ASCII string.  To
# specify a binary value, prepend "0x" to a sequence of hexadecimal
# digits (for example, the value 0xAABBCC11 would set the client
# identifier to the 4-byte binary sequence 0xAA 0xBB 0xCC 0x11).
#
# CLIENT_ID=

# By default, a parameter request list requesting a subnet mask (1),
# router (3), DNS server (6), hostname (12), DNS domain (15), broadcast
# address (28), and encapsulated vendor options (43), is sent to the DHCP
# server when the DHCP agent sends requests.  However, if desired, this
# can be changed by altering the following parameter-value pair.  The
# numbers correspond to the values defined in the IANA bootp-dhcp-parameters
# registry at the time of this writing.  Site and standard option names from
# /etc/dhcp/inittab are also accepted.
#
PARAM_REQUEST_LIST=1,3,6,12,15,28,43

# The default DHCPv6 parameter request list has preference (7), unicast (12),
# DNS addresses (23), DNS search list (24), NIS addresses (27), and
# NIS domain (29).  This may be changed by altering the following parameter-
# value pair.  The numbers correspond to the values defined in the IANA
# dhcpv6-parameters registry at the time of this writing.  Site and standard
# option names from /etc/dhcp/inittab6 are also accepted.
.v6.PARAM_REQUEST_LIST=7,12,23,24,27,29

# The parameter ignore list allows you to instruct the DHCP client to discard
# optional parameters received from the DHCP server.  The format is the same
# as the request list above.  When discarded, a parameter will not be acted
# on by the DHCP client or returned to users via the dhcpinfo(1) command.
PARAM_IGNORE_LIST=
.v6.PARAM_IGNORE_LIST=

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .