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


139

使用方法の非常に基本的な概念を理解しましたが、/etc/network/interfacesオンラインで見つけることができるのは、コピーアンドペーストできる例の後の例です。私が見逃しているのは、構文の説明、コマンドの意味の説明、およびコマンドに必要な順序です。たいていの場合、コピーと貼り付けだけでは十分ではないため、新しいマシンで作業していないため、既存の構成を上書きすることはできません。man interfaces非常に複雑に書かれているため、あまり役に立ちませんでした。

何をん:例の質問私は持っているinetiface行(私もマニュアルページでそれを見つけることができませんでした)を正確に意味、何をんmanualiface(多くの例がそれを使用するラインを正確に意味が、それは余分な設定ファイルを必要とするマニュアルページに基づいて、どの例はありません)、いつ使用する必要がありますか?そうでないときは?ブリッジを作成すると、インターフェイスはどうなりますか?


4
マニュアルページには、インターフェース名がインターフェースが使用するアドレスファミリーの後に来るものが記載されています。「inet」はIPv4の名前、ipv6の場合はinet6です。ipx、x25、appletalkもありますが、ifupdownはmanページで説明されているように、inet / inet6 / ipxのみを扱います。manualifupdownはそれらについて何もしないので、自分で手動で行う必要があります。
ステファンシャゼル

回答:


169

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

リンク層 +インターフェイスタイプオプション(通常、各インターフェイススタンザの最初であり、interfaces(5)マンページによるアドレスファミリ+メソッドと呼ばれる):

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

allow-auto interface - と同じ auto

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

これらのオプションはほとんど「レイヤー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作成する必要があります。このようなアドレスを取得するさまざまな方法を使用して、このインターフェイスの構成をスクリプトに転送することができます。タプル/ +は、のバージョン定義するIPプロトコルを使用すると、このアドレスを設定する方法(、、...)を。オンラインDebianのマニュアルは、あなたにこのについての詳細を提供します。inet wvdialwvdialconfinetinet6optionstaticdhcpscripts

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

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インターフェイスで、その「父」を定義します。

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

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

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

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

up–次のコマンドを使用して、の代わりにインターフェイスを起動しますifup。で利用可能なオプションを使用するかどうかは、あなたの想像次第ですiputils。例として、(オプション自体を使用する代わりに)操作中up ip link set $IFACE up mtu 9000ジャンボフレームを有効にするために使用できます。インターフェイスが起動してから5秒後に100Mbps全二重を強制するなど、他のソフトウェアを呼び出すこともできます。upmtuup 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サイズ。mtu 9000=ジャンボフレーム。Linuxボックスが、より大きなMTUサイズをサポートするスイッチに接続されている場合に役立ちます。いくつかのプロトコルを破ることができます(SNMPおよびジャンボフレームの悪い経験がありました)。

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

ip_rp_filter 1- リバースパスフィルターが有効。ホストへのルートが2つある場合に便利です。これにより、パケットが強制的に元の場所から戻されます(同じインターフェース、そのルートを使用)。例:lan(192.168.1.1/24)に接続されており、lan()に1つのインターフェースがあり、192.168.1.10/24dmzに他のインターフェースがあり、管理タスク(172.16.1.1/24)を実行するdlnaサーバーがあります。コンピューターからdlna dmz ipへのsshセッション中に、情報が戻ってくる必要がありますが、dlnaサーバーはLANインターフェースを介して直接応答を配信しようとするため、永遠にハングします。rp_filterを有効にすると、接続が元の場所から確実に戻るようになります。詳細はこちら

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

ネットワーク設定のより良い例をここで見つけることができます。

関連するもの

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


おかげで、これは非常に役立ちます。DOESは、inet「インターネット」とは何かを持っていますか?私は「IPv4」とinet6「IPv6 」を意味するだけだと読みましたが、「inet」という用語は、それを見て「internet」の略語と混同するとき、本当に紛らわしいです。そして、のような名前は、eth0これらが定義されているか、自分で選択できますか?複数のLANアダプターがある場合、どのLANアダプターにeth属しているかをどのように見分けるのですか?
フーバー

2
両方。一緒に、IPアドレスの取得方法(dhcp、静的、pppスクリプト、アドレスなし)とipプロトコルのバージョン(inet= v4およびinet6= v6)を定義します。インターフェイス名は、使用しているディストリビューションに大きく依存しており、その方法udevは構成されています。Debianはeth*wlan*ケーブルおよびワイヤレスインターフェイスを使用しています。Fedoraはbiosdevnameスキームを使用します。このスキームem0は、マザーボードの最初の組み込みイーサネットインターフェースでありp<slot>p<eth port>、PCI nicの名前です。でネットワーク名を修正する/etc/udev/rules.d/70-persistent-net.rulesか、でエイリアスを作成できますinterfaces

2
「ゲートウェイ-サーバーのデフォルトゲートウェイについて。この男の1つだけを使用するように注意してください。」それはスタンザごとに1つですか、それともすべてのスタンザのうち1つのゲートウェイインターフェースですか?
ctbrown 14

2
すべてのスタンザのうち1つのゲートウェイである必要があります。そうでない場合、デフォルトルートで問題が発生します。マルチゲートウェイ/マルチリンクを使用するには、iptables +パッケージマーキング+ ipルールを使用した思考が必要です。

このファイルにiface eth0 inet staticがある場合、1つの小さなクエリがあり、アドレスフィールドに対してIPを書き込むと、今書いたこの特定のIPがシステムのMACアドレスに結合されますか?
k10

0

私もそれを追加します:

  • インターフェイスはifup / ifdownサービス用です。
  • allow-hotplugを使用する場合、ifup / ifdownで開始しないため、bcos uフラグ--allow = hotplugを使用する必要があります。

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

私はこれを100%理解しているわけではありませんが、基本的にifupが呼び出されるとuは/ etc / network / interfacesからすべてを実行します...

私はそれがどのように関連するかを知らない:サービスネットワーキング...

誰かが呼び出し後に何が起こっているかを指摘してくれるといいでしょう:

service networking restart

ifup / ifdownに関連して。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.