の使用方法の基本的な概念は理解しました/etc/network/interfaces
が、オンラインで見つけたのは、コピー アンド ペーストできる例ばかりです。構文の説明、コマンドの意味、コマンドの順序の説明が不足しています。理解したいのは、ほとんどの場合、コピー アンド ペーストでは不十分なためです。新しいマシンで作業しているわけではないので、既存の構成を上書きするわけにはいきません。上書きすると、多くのものが壊れてしまいます。man interfaces
は非常に複雑に書かれていて、あまり役に立ちませんでした。
私が抱えている質問の例: inet
in an iface
line は正確には何を意味するのか (マニュアルページでも見つけられませんでした)、manual
in an iface
line は正確には何を意味するのか (多くの例で使用されていますが、マニュアルページによると、その場合追加の構成ファイルが必要になり、例にはそれが示されていません)、これらはいつ使用または必要なのか、いつ必要でないか、ブリッジを作成すると、インターフェイスに正確に何が起こりますか?
答え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
+は、option
IPプロトコル使用されるアドレスと、このアドレスの設定方法(static
、、...)。dhcp
scripts
オンライン 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 インターフェース上で、その「父」を定義します。
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.conf
resolv.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
属性名に関して重要なことは次のとおりです。
標準的な説明を持つファイルはありません。これは、このファイルが実装定義であることを意味します。
小文字、大文字、または混合文字を使用できます
「-」でも「_」でも構いません
スペースとタブを含めることはできません
「pre-up」「down」など、他の方法では表記できない一般的な名前を除いて