/etc/network/interfaces 構文の詳細な説明はありますか?

/etc/network/interfaces 構文の詳細な説明はありますか?

の使用方法の基本的な概念は理解しました/etc/network/interfacesが、オンラインで見つけたのは、コピー アンド ペーストできる例ばかりです。構文の説明、コマンドの意味、コマンドの順序の説明が不足しています。理解したいのは、ほとんどの場合、コピー アンド ペーストでは不十分なためです。新しいマシンで作業しているわけではないので、既存の構成を上書きするわけにはいきません。上書きすると、多くのものが壊れてしまいます。man interfacesは非常に複雑に書かれていて、あまり役に立ちませんでした。

私が抱えている質問の例: inetin an ifaceline は正確には何を意味するのか (マニュアルページでも見つけられませんでした)、manualin an ifaceline は正確には何を意味するのか (多くの例で使用されていますが、マニュアルページによると、その場合追加の構成ファイルが必要になり、例にはそれが示されていません)、これらはいつ使用または必要なのか、いつ必要でないか、ブリッジを作成すると、インターフェイスに正確に何が起こりますか?

答え1

さて、理解しやすくするために、いくつかの部分に分けてみましょう/etc/network/interfaces

リンク層+インターフェースタイプオプション(通常は各インターフェースの最初のスタンザそして、アドレスファミリ+メソッドと呼ばれるinterfaces(5)マニュアルページ):

auto interface– 起動時にインターフェースを起動します。loインターフェースがこの種のリンク構成を使用するのはそのためです。

allow-auto interface- と同じauto

allow-hotplug interface– 「ホットプラグ」イベントが検出されたときにインターフェースを起動します。実際には、これは と同じ状況で使用されますが、auto違いは「udev ホットプラグ API によって検出された」や「ケーブルがリンクされた」などのイベントを待機することです。「関連情報(ホットプラグ)追加情報については「」を参照してください。

これらのオプションは、インターフェースのリンク状態を設定する「レイヤー 2」オプションとほぼ同じであり、「レイヤー 3」(ルーティングとアドレス指定) とは関係ありません。たとえば、リンク状態が何であれ bond0 インターフェースがアップ状態である必要があり、そのメンバーがリンク状態イベント後にアップ状態になるリンク アグリゲーションがあるとします。

auto bond0
iface bond0 inet manual
        down ip link set $IFACE down
        post-down rmmod bonding
        pre-up modprobe bonding mode=4 miimon=200
        up ip link set $IFACE up mtu 9000
        up udevadm trigger

allow-hotplug eth0
iface eth0 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

allow-hotplug eth1
iface eth1 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

それで、私はこうしてリンクアグリゲーションケーブル リンクの状態に応じてインターフェイスが追加されたり削除されたりします。

最も一般的なインターフェースタイプ:

以下のオプションはすべて、定義されたインターフェース(iface <Interface_family>)の接尾辞です。基本的に はiface eth0スタンザeth0イーサネットデバイスで呼び出されますiface ppp0ポイントからポイントへインターフェースであり、アドレスを取得する方法はさまざまです。たとえば、このインターフェースの設定をスクリプトinet wvdialに転送しますwvdialconf。タプルinet/ inet6+は、optionIPプロトコル使用されるアドレスと、このアドレスの設定方法(static、、...)。dhcpscriptsオンライン Debian マニュアルこれについてさらに詳しく説明します。

イーサネット インターフェイスのオプション:

inet static– 静的 IP アドレスを定義します。

inet manual– インターフェースのIPアドレスを定義しません。通常、ブリッジまたはアグリゲーションメンバーであるインターフェース、プロミスキャスモードで動作する必要があるインターフェース(例: ポートミラーリングやネットワークTAP) を使用するか、VLAN デバイスを設定します。これは、IP アドレスなしでインターフェイスを稼働状態に保つ方法です。

inet dhcp– DHCP プロトコルを通じて IP アドレスを取得します。

inet6 static– 静的 IPv6 アドレスを定義します。

例:

# Eth0
auto eth0
iface eth0 inet manual
    pre-up modprobe 8021q
    pre-up ifconfig eth0 up
    post-down ifconfig eth0 down

# Vlan Interface
auto vlan10
iface vlan10 inet static
        address 10.0.0.1
        netmask 255.255.255.0
        gateway 10.0.0.254
        vlan-raw-device eth0
        ip_rp_filter 0

この例ではeth0VLANインターフェースvlan10イーサネット フレームのタグ番号 10 を処理するものと呼ばれます。

インターフェース スタンザ内の共通オプション (レイヤー 2 および 3):

address– 静的IPが設定されたインターフェースのIPアドレス

netmask– ネットワークマスク。cidr アドレスを使用する場合は省略できます。例:

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway– サーバーのデフォルトゲートウェイ。これを 1 つだけ使用するように注意してください。

vlan-raw-device– VLAN インターフェース上で、その「父」を定義します。

bridge_ports– ブリッジ インターフェイスで、そのメンバーを定義します。

down– の代わりに次のコマンドを使用してインターフェイスを停止しますifdown

post-down– インターフェースがダウンした直後に実行されるアクション。

pre-up– インターフェースが起動する前のアクション。

up– の代わりに次のコマンドを使用してインターフェースを起動しますifup。 で利用可能なオプションを使用するかどうかはあなたの想像力次第ですiputils。例として、up ip link set $IFACE up mtu 9000を有効にするために使用できます。ジャンボフレーム操作中にup(オプション自体を使用する代わりに)。また、インターフェイスが起動してから 5 秒後に 100Mbps 全二重を強制するmtuなどの他のソフトウェアを呼び出すこともできます。up sleep 5; mii-tool -F 100baseTx-FD $IFACE

hwaddress ether 00:00:00:00:00:00- ROM にハードコードされているものやアルゴリズムによって生成されたものを使用する代わりに、インターフェイスの MAC アドレスを変更します。キーワードを使用して、randomランダム化された MAC アドレスを取得できます。

dns-nameservers– ネームサーバーの IP アドレス。パッケージが必要です。DNS 関連の設定に使用する代わりにresolvconf、すべての情報を に集中させる方法です。設定ファイルはシステム内のプログラムによって動的に変更されるため、手動で編集しないでください。/etc/network/interfaces/etc/resolv.confresolv.conf

dns-search example.net– ホストのクエリにexample.netをドメインとして追加し、FQDNを作成しますdomain/etc/resolv.conf

wpa-ssid– ワイヤレス: ワイヤレス WPA SSID を設定します。

mtu-最大伝送ユニットsize. mtu 9000= ジャンボ フレーム。Linux ボックスが、より大きな MTU サイズをサポートするスイッチに接続されている場合に便利です。一部のプロトコルが壊れる可能性があります (snmp とジャンボ フレームで悪い経験をしました)。

wpa-psk– ワイヤレス: SSID に 16 進数でエンコードされた PSK を設定します。

ip_rp_filter 1-逆パスフィルター有効。ホストへのルートが 2 つある場合に役立ち、これによりパケットは元の場所 (同じインターフェイス、そのルートを使用) から強制的に返されます。例: LAN ( 192.168.1.1/24) に接続しており、LAN に 1 つのインターフェイス ( ) を持つ DLNA サーバーと192.168.1.10/24、管理タスクを実行するための DMZ にもう 1 つのインターフェイス ( 172.16.1.1/24) があります。コンピューターから DLNA DMZ IP への SSH セッション中、情報は返される必要がありますが、DLNA サーバーは LAN インターフェイスを介して直接応答を配信しようとするため、永遠にハングします。rp_filter を有効にすると、接続が元の場所から返されることが保証されます。詳細情報ここ

これらのオプションの一部はオプションではありません。たとえば、ネットマスクなしでインターフェースに IP アドレスを設定すると、Debian は警告を発します。

ネットワーク構成のより良い例をもっと見つけることができるここ

関連情報:

/etc/network/interfacesネットワーク構成ファイルに関連する情報を含むリンク:

答え2

また、次のことも付け加えておきます。

  • インターフェースは ifup/ifdown サービス用です。
  • allow-hotplug を使用すると、--allow=hotplug フラグを使用する必要があるため、ifup/ifdown では起動しません。

--verbose フラグを使用すると、ifup で何が起こっているかを追跡できます。

これについては 100% 確信はありませんが、基本的に ifup が呼び出されると、特に指定がない限り、/etc/network/interfaces からすべてを up で実行するようです。

サービス ネットワーキングとどのように関連しているかはわかりません...

通話後に何が起こっているのかを誰かが指摘してくれると嬉しいです:

service networking restart

ifup/ifdownに関連して。

答え3

パッケージを使用するときにオプションを追加する必要がある場合resolvconf、つまり Ubuntu では、その構成を次のように入力します/etc/resolvconf/resolv.conf.d/base

# /etc/resolvconf/resolv.conf.d/base
options timeout:1 attempts:1 rotate

答え4

属性名に関して重要なことは次のとおりです。

標準的な説明を持つファイルはありません。これは、このファイルが実装定義であることを意味します。

小文字、大文字、または混合文字を使用できます

「-」でも「_」でも構いません

スペースとタブを含めることはできません

ifupdownの情報源によると

「pre-up」「down」など、他の方法では表記できない一般的な名前を除いて

関連情報