/etc/network/interfaces構文の詳細な説明は何ですか?

/etc/network/interfaces構文の詳細な説明は何ですか?

私はそれを使用する方法の非常に基本的な概念を理解しています/etc/network/interfacesが、オンラインで見つけたものはコピーして貼り付けることができる例、例です。私が欠けているのは、構文の説明、コマンドの意味、および必要な順序です。新しいコンピュータで作業しているわけではないため、ほとんどの場合、コピー貼り付けだけでは不十分であるため、既存の構成を上書きできないため、多くの問題が発生するため、理解したいと思います。man interfaces書くのは非常に複雑なのであまり役に立ちません。

私が持っている質問の例:inet1iface行の正確な意味は何ですか(マンページには見つかりません)、manual1iface行の正確な意味は何ですか(多くの例で使用されていますが、マンページによると必要なものです)例が表示されない追加構成ファイル)、いつ使用するか必要ですか?そうでないときは?ブリッジを作成すると、インターフェイスは正確にどうなりますか?

答え1

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

リンクレイヤー+インターフェースタイプオプション(通常は各インターフェースの最初の祭典以下を介してアドレスファミリ+メソッドを呼び出します。interfaces(5)マニュアルページ):

auto interface- 起動時にインターフェイスを起動します。これがloインターフェイスがこのリンク設定を使用する理由です。

allow-auto interface- と同じauto

allow-hotplug interface- 「ホットプラグ」イベントが検出されたら、インターフェイスを起動します。実際の使用では、auto「udev hotplug 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+はoptionバージョンを定義しますIPプロトコル使用するアドレスと設定方法(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

この例eth0ではVLANインターフェイスこれを呼び出すと、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インターフェイスで「Father」を定義します。

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

down- 代わりにインターフェースを終了するには、次のコマンドを使用しますifdown

post-down- インターフェイスが終了するとすぐにアクションが実行されます。

pre-up– インターフェースを開始する前の作業。

up- インターフェースを開始するには、次のコマンドを使用しますifup。提供されているオプションの使用は完全にあなたの想像に依存しますiputils。たとえば、up ip link set $IFACE up mtu 9000アクティブ化に使用できます。ジャンボフレーム(オプション自体を使用するup代わりに)インターフェイスが表示された後、5秒間100 Mbpsの全二重を強制する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アドレス。パッケージが必要ですresolvconf。これは、DNS関連の設定/etc/network/interfaces以外のすべての情報を一元化する方法です。設定ファイルはシステムのプログラムによって動的に変更される可能性があるため、手動で編集しないで/etc/resolv.confください。resolv.conf

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

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

mtu-最大伝送単位サイズ。mtu 9000=ジャンボフレーム。これは、Linuxシステムがより大きなMTUサイズをサポートするスイッチに接続されている場合に便利です。いくつかのプロトコルを破ることができます(私はsnmpとジャンボフレームについて悪い経験をしました)。

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

ip_rp_filter 1-リバースパスフィルタ有効です。ホストへのパスが2つある場合に便利です。これにより、パケットが元々あった場所(そのパスを使用するのと同じインターフェイス)で強制的に戻ります。例:lan()に接続されており、lan()に1つのインターフェースがあり、管理タスクのためにdmzに別のインターフェース()を192.168.1.1/24持つdlnaサーバーがあります。コンピュータからdlna dmz ipへのSSHセッションの進行中に情報をユーザーに返す必要がありますが、dlnaサーバーはLANインターフェイスを介して直接応答を渡そうとするため、永遠に停止します。 rp_filter が有効な場合、接続がソースから返されることを保証します。追加情報192.168.1.10/24172.16.1.1/24ここ

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

以下では、より良いネットワーク構成の例を見つけることができます。ここ

関連情報:

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

答え2

私も以下を追加したいと思います:

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

--verboseフラグを使用して、ifupで発生した状況を追跡できます。

これについて100%確信できませんが、デフォルトでifupが呼び出されると、upを使用して/etc/network/interfacesのすべてのエントリを実行するようです。特に明記されていない場合です。

サービスネットワークとどのような関係があるのか​​分かりません。

誰かが通話の後に何が起こったのかを指摘できればいいでしょう。

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」など、いくつかの一般的な名前を除いて、他の方法で書き込むことはできません。

関連情報