본문 바로가기

컴퓨터 사용 팁/Linux

dhcpcd.conf 설정

파일 위치: /etc/dhcpcd.conf

사용 데몬: /sbin/dhcpcd

 

dhcpcd.conf란?

dhcpcd.conf 파일은 리눅스에서 네트워크에 연결할 때 쓰이는 dhcpcd 데몬이 시작될 때마다 매번 읽어오며, dhcp 요청 혹은 고정 IP요청을 할지에 대해서 설정하는 설정 파일이다.


적용 예시

#무선랜 설정
interface wlan0

#무선랜 고정IP 할당
static ip_address=192.168.0.11/24				# 고정IP주소
static routers=192.168.0.1					# 라우터(공유기)주소
static domain_name_servers=192.168.0.1 168.126.63.1 1.1.1.1	# DNS 서버 주소

#실패시 자동할당
fallback
dhcp

#유선랜 설정
interface eth0

#유선랜 고정IP 할당
static ip_address=192.168.0.10/24				# 고정IP주소
static routers=192.168.0.1					# 라우터(공유기)주소
static domain_name_servers=192.168.0.1 168.126.63.1 1.1.1.1	# DNS 서버 주소

#실패시 자동할당
fallback
dhcp

vpn 설정: dhcpcd.conf 맨 하단에 아래의 구문 추가

# VPN 주소:		1.2.3.4
# 게이트웨이 주소:	192.168.0.1
ip route add 1.2.3.4 via 192.168.0.1

사용법

기본적으로 하나의 키워드에 저장되는 여러 개의 값은 쉼표나 띄어쓰기로 구분한다.

allowinterface interface : 사용할 인터페이스를 설정한다.
denyinterface interface : 사용하지 않을 인터페이스를 설정한다.(allowinterface에 같은 interface가 있다면 이걸 우선한다.)
anonymous : DHCP를 익명으로 한다는 뜻이다.
arping address : DHCP를 시도하기 전 여기에 있는 IP를 확인한다. profile 옵션과 같이 써서 해당 IP가 이미 점유되어있다면 다른 IP를 얻도록 설정할 수 있다.
authprotocol protocol [algorithm [rdm]] : DHCP 메시지를 인증한다.
authtoken secretid realm expire key : DHCP를 위한 공유키를 설정한다.
background : dhcpcd를 백그라운드로 돌린다.
blacklist address[/cidr] : 해당 주소의 모든 패킷을 무시한다.
whitelist address[/cidr] : 해당 주소의 패킷만을 처리한다.
broadcast : 무선랜과 같이 broadcast 하는 경우에 사용하는 옵션이다.
controlgroup group : dhcpcd에 대한 사용자 그룹이다.(/var/run/dhcpcd/sock에 대한 소유권을 갖는다.)
debug : 디버깅 옵션이다.
dev value : /dev관리 모듈을 가져온다.
dhcp : IPv4에서 DHCP를 한다는 뜻이다.
dhcp6 : IPv6에서 DHCP를 한다는 뜻이다.
ipv4 : IPv4를 활성화한다는 뜻이다.(기본값)
ipv6 : IPv6을 활성화한다는 뜻이다.(기본값)
request [address] : IP주소를 DHCP 서버로 요청하지만, 해당 IP를 받는다는 보장은 없다.
inform [address[/cidr[/broadcast_address]]] : request키워드처럼 작동하지만, DISCOVER/REQUEST 대신 INFORM 방식을 사용한다.
inform6 : inform키워드와는 달리 주소를 명시할 필요가 없다. dhcp6 키워드를 통해 자동으로 실행된다.
persistent : dhcpcd를 껐다가 켜도 설정을 유지시킨다.
fallback profile : 실패할 경우 profile의 설정에 따른다.
hostname name : name으로 호스트네임을 설정한다
hostname_short : FQDN(모든 도메인명)에 굳이 저장할 필요가 없을 때 쓴다.
ipv4only : IPv4만 쓴다.
ipv6only : IPv6만 쓴다.
fqdn [disable | none | ptr | both] : DHCP 서버에서 DNS를 어떻게 처리할지 정하는 옵션이다.
interface interface : 인터페이스에 대한 프로파일을 정의한다.
leasetime seconds : 임대시간을 설정한다.
logfile logfile : 로그파일의 위치를 설정한다.
metric metric : 인터페이스에 우선순위를 부여한다.
mudurl url : MUD(Manufacturer Usage Description)의 URL 주소를 입력한다.
noalias : 사전 정의된 IPv4의 주소를 초기화한다.
noarp : 모든 ARP 요청을 보내지 않는다. IPv4 LL(IPv4 링크 로컬 주소)도 비활성화된다.
noauthrequired : FORCERENEW와 RECONFIGURE메시지를 포함해서 인증을 요구하지 않는다.
nodelay : 프로토콜 시작에 앞서 모든 지연을 비활성화한다.
nodev : /dev관리 모듈을 비활성화한다.
nodhcp : DHCP를 시작하지 않고 모든 메시지를 무시한다.(IPv4LL을 쓸 때 유용한 옵션)
nodhcp6 : nodhcp키워드의 DHCPv6 버전
nogateway : 게이트웨이를 비활성화한다.
gateway : 게이트웨이를 활성화한다.
noipv4 : IPv4를 비활성화한다.
noipv4ll : IPv4LL(IPv4 링크 로컬 주소)을 비활성화한다.
noipv6 : IPv6를 비활성화한다.
noipv6 rs : IPv6 라우터 알림을 비활성화한다.
nolink : 링크 메시지를 수신하지 않는다.
option option : option을 메시지에 추가한다.
nooption option : option을 메시지에서 제거한다
require option : option이 없는 모든 메시지를 무시한다.
reject option : option이 있는 메시지를 받지 않는다.
destination option : Point To Point 인터페이스에서 네트워크 주소를 찾는다.
poll [time] : interface의 flag상태와 carrier상태를 매 밀리 초마다 확인한다.
profile name : 프로파일 하나를 설정한다.
quiet : 오류를 제외한 출력을 무시한다.
reboot seconds : 새로운 DHCP 연결을 시도할 때마다 seconds초 이후 재부팅한다.
release : interface를 끄기 전 할당을 취소한다.
script script : /libexec/dhcpcd-run-hooks에 있는 스크립트 대신 script를 사용한다.
ssid ssid : 무선랜에서 ssid를 이용한다.
static value : 고정된 값을 써야 할 때 이용한다.
timeout seconds : 시간제한을 설정한다.

출처

https://www.daemon-systems.org/man/dhcpcd.conf.5.html

 

dhcpcd.conf.5

 

www.daemon-systems.org