/etc/dhcpcd.conf에서 정적 값을 구성합니다.

/etc/dhcpcd.conf에서 정적 값을 구성합니다.

/etc/dhcpcd.conf파일의 정적 옵션에 유효한 값은 무엇입니까(그리고 어떤 용도로 사용됩니까)?

파일을 편집하여 Raspberry(raspbianstretch 실행)의 네트워크 인터페이스를 구성하고 있습니다 /etc/dhcpcd.conf.
올바르게 설정할 수 있었지만 이 파일을 통해 사용할 수 있는 모든 구성 옵션, 특히 정적 구성이 궁금합니다.

dhcpcd.conf의 매뉴얼 페이지를 읽었지만 정적 옵션에서 허용하는 값에 대한 설명을 찾지 못했습니다. Google에서도 아무것도 찾을 수 없습니다.

이것dhcpcd.conf의 매뉴얼 페이지이렇게 말해보세요:

 static value
         Configures a static value.  If you set ip_address then dhcpcd
         will not attempt to obtain a lease and will just use the value
         for the address with an infinite lease time.  If you set
         ip6_address, dhcpcd will continue auto-configuation as normal.

         Here is an example which configures two static address,
         overriding the default IPv4 broadcast address, an IPv4 router,
         DNS and disables IPv6 auto-configuration.  You could also use the
         inform6 command here if you wished to obtain more information via
         DHCPv6.  For IPv4, you should use the inform ipaddress option
         instead of setting a static address.
               interface eth0
               noipv6rs
               static ip_address=192.168.0.10/24
               static broadcast_address=192.168.0.63
               static ip6_address=fd51:42f8:caae:d92e::ff/64
               static routers=192.168.0.1
               static domain_name_servers=192.168.0.1
               fd51:42f8:caae:d92e::1

         Here is an example for PPP which gives the destination a default
         route.  It uses the special destination keyword to insert the
         destination address into the value.
               interface ppp0
               static ip_address=
               destination routers

일부 튜토리얼을 읽은 후 내가 아는 모든 유효한 옵션은 다음과 같습니다.

  • IP 주소

  • 라우터

  • 도메인 이름 서버

  • 도메인 이름 검색

  • 도메인 이름


JFYI 내 /etc/dhcpcd.conf 구성 파일은 다음과 같습니다:

# Inform the DHCP server of our hostname for DDNS.
hostname
# Use the hardware address of the interface for the Client ID.
clientid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private
# A hook script is provided to lookup the hostname if not set by the DHCP
# server, but it should not be run by default.
nohook lookup-hostname

# Static IP configuration for eth0.
interface eth0
    static ip_address=192.168.12.234/24
    static routers=192.168.12.1
    static domain_name_servers=192.168.12.1
    nogateway

답변1

저도 같은 질문을 받았지만 명확한 답을 찾지 못해서 좀 더 깊이 있는 조사를 시작했습니다.

이것이 완전한 목록인지는 모르겠지만 static소스 코드(사용 가능한 경우)를 보고 수집할 수 있었던 옵션에 대한 유효한 값 목록 은 다음과 같습니다.여기):

ip_address
subnet_mask
broadcast_address
routes
static_routes
classless_static_routes
ms_classless_static_routes
routers
interface_mtu
mtu
ip6_address

이러한 매개변수는 if-options.c파일에서 직접 처리됩니다.

여기가 완전한 것인지 확신할 수 없는 부분이고, 무슨 일이 일어나고 있는지 조금 추측하고 있는 부분입니다. 아시다시피 여기에는 domain_name_servers등이 포함되지 않습니다. 구성 파일을 구문 분석하고 위의 매개변수 중 하나를 직접 처리한 후에도 에서 처리되지 않은 일부 매개변수가 여전히 있을 수 있습니다 if-options.c. 이러한 나머지 매개변수는 기본 후크 스크립트, 특히 20-resolv.conf 후크 스크립트( /usr/lib/dhcpcd/dhcpcd-hooks)에서 처리되는 것으로 생각됩니다. 여기에는 다음 옵션만 있는 것으로 생각됩니다.

domain_name
domain_name_servers
domain_search

내가 말했듯이, 나는 소스 코드를 살펴보는 데 많은 시간을 소비하고 싶지 않기 때문에 이 마지막 사항에 대해 약간 확신이 없습니다. 따라서 어떤 수정이라도 매우 환영받을 것입니다.

관련 정보