web-dev-qa-db-ja.com

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

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

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

148
Foo Bar

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

リンク層 +インターフェイスタイプオプション(通常、各インターフェイススタンザの最初のアドレスで、アドレスファミリ+メソッド interfaces(5) によって呼び出されます) =マンページ):

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

allow-auto interfaceautoと同じ

allow-hotplug interface –「hotplug」イベントが検出されたときにインターフェースを開始します。現実の世界では、これは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 ppp0point-to-point インターフェースを作成する必要があり、このインターフェースの構成をwvdialconfスクリプトに転送するinet wvdialのようなアドレスを取得する方法はさまざまです。タプルinet/inet6 + optionは、使用される IPプロトコル のバージョンと、このアドレスが構成される方法(staticdhcpscripts...)を定義します。 オンラインDebianマニュアル にこれに関する詳細が記載されています。

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

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

inet manual –インターフェースのIPアドレスを定義しません。一般に、ブリッジまたは集約メンバーであるインターフェース、無差別モードで動作する必要があるインターフェース(egポートミラーリングまたはネットワーク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を起動し、vlan10と呼ばれる VLANインターフェイス を作成します。これは、イーサネットフレームのタグ番号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 –ブリッジインターフェイスで、そのメンバーを定義します。

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

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

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

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

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を作成します。 /etc/resolv.confのオプションdomain

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

mtu- [〜#〜] mtu [〜#〜] サイズ。 mtu 9000 =ジャンボフレーム。 Linuxボックスがより大きなMTUサイズをサポートするスイッチに接続されている場合に役立ちます。一部のプロトコルが壊れる可能性があります(snmpとジャンボフレームで悪い経験がありました)。

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

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

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

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

関連するもの

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

183
user34720

私もそれを追加します:

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

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

私はこれの100%shureではありませんが、基本的にifupが呼び出されたとき、uが/ etc/network/interfacesからup ...ですべて実行されるようです。

私はそれがどのように関係しているのかわからない:サービスネットワーキング...

誰かが電話の後に何が起こっているのかを指摘するのであれば、いいでしょう:

service networking restart

ifup/ifdownに関連して。

0
yourstruly