Alpine Linux 이미지의 /etc/network 내용

Alpine Linux 이미지의 /etc/network 내용

Docker 컨테이너에 Alpine Linux 이미지를 설치했습니다. 나는 그것을 조사하고 있었고 ls -lR /etc/network다음과 같은 결과를 얻었습니다.

/etc/network/:
total 24
drwxr-xr-x    2 root     root          4096 Jan 16  2020 if-down.d
drwxr-xr-x    2 root     root          4096 Jan 16  2020 if-post-down.d
drwxr-xr-x    2 root     root          4096 Jan 16  2020 if-post-up.d
drwxr-xr-x    2 root     root          4096 Jan 16  2020 if-pre-down.d
drwxr-xr-x    2 root     root          4096 Jan 16  2020 if-pre-up.d
drwxr-xr-x    2 root     root          4096 Jan 16  2020 if-up.d
/etc/network/if-down.d:
total 0
/etc/network/if-post-down.d:
total 0
/etc/network/if-post-up.d:
total 0
/etc/network/if-pre-down.d:
total 0
/etc/network/if-pre-up.d:
total 0
/etc/network/if-up.d:
total 4
-rwxrwxr-x    1 root     root           218 Jan 15  2020 dad

내부에서 /etc/network/if-up.d/dad다음을 발견했습니다.

#!/bin/sh
# Block ifup until DAD completion
# Copyright (c) 2016-2018 Kaarle Ritvanen
has_flag() {
    ip address show dev $IFACE | grep -q \" $1 \"
}
while has_flag tentative && ! has_flag dadfailed; do
    sleep 0.2
done

이 폴더가 왜 존재하는지 이해하려고 노력 중입니다 dad. 인터넷에서 검색했지만 유용한 내용을 찾지 못했습니다. /etc/network/interfaces와 같은 것을 찾을 것으로 예상했지만 그 모든 것의 목적이 무엇인지 알 수 없습니다. 누군가 이것을 설명할 수 있나요?

답변1

이 폴더는 ifupdown에 대한 후크입니다. ifupdown의 구현은 많지만 alpine의 기본 구현은 busybox입니다.네트워크/ifupdown.c.

busybox는 인터페이스만 처리 auto하고 이러한 내장 유형을 지원합니다.

  • 인트라넷
    • 수동 wvdial ppp 정적 bootp dhcp 루프백
  • 인트라넷 6
    • 정적 수동 루프백 v4tunnel

ifupdown에는 두 개의 $MODE( up​​및 )가 있고 각 모드에는 및 down두 개의 후크가 있습니다 .pre-post-

폴더에는 호출될 후크 스크립트가 포함되어 있습니다 run-parts. 확인하세요.코드 흐름.

bonding제공된 것과 같이 구성을 더 쉽게 만들기 위해 후크를 사용하여 추가 유형을 구현할 수 있습니다.본딩팩. 기존 스크립트는 모두여기.

아빠busybox에서 제공하는 IPv6에 대한 향상된 중복 주소 감지 기능입니다.

관련 정보