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には2つの$ MODE(upおよび)があり、各モードにはdown2つのフックがあります。pre-post-

フォルダには呼び出されるフックスクリプトが含まれていますrun-parts。確認してください。コードフロー

bonding提供されているように設定を簡単にするために、フックを使用して追加のタイプを実装できます。ボンディングパック。既存のスクリプトはすべてここ

お父さんbusyboxが提供するIPv6の拡張された冗長アドレス検出機能。

関連情報