web-dev-qa-db-ja.com

rc.confのインターフェースに対してcloned_interfacesは何をしますか?

FreeBSDの_cloned_interfaces_における_rc.conf_の機能を理解しようとしています。

マニュアルページは言う:

cloned_interfaces:

(文字列)このホスト上に作成するクローン可能なネットワークインターフェイスのリストに設定します。 _create_args_<interface>_変数を設定することにより、各インターフェイスのifconfig(8)createコマンドにさらにクローン引数を渡すことができます。 stickyキーワードでインターフェイス名を指定すると、stop引数を指定して_rc.d/netif_スクリプトを呼び出しても、インターフェイスは破棄されません。これは、インターフェースを破壊せずに再構成する場合に役立ちます。 _cloned_interfaces_のエントリは、設定のために_network_interfaces_に自動的に追加されます。

これは、それが何をするかについての有用な情報を提供しません。これは、たとえば_if_bridge_、_if_tap_、および_if_epair_で使用されます。

それは実際に何をしますか?他のネットワークモジュールではなく特定のネットワークモジュールに必要なのはなぜですか?ある種のダミーデバイスを作成しますか?いつ必要ですか?セキュリティへの影響?パフォーマンスへの影響?

5
raspi

cloned_interfacesは、rc.confrc.conf.localなどのいくつかの設定の1つです。ネットワークインターフェイスのセットアップとシャットダウンを制御します。 Mewburn rcシステムでは、これらの設定の使用を主に担当するのは/etc/rc.d/netifです。 noshシステム管理では、外部フォーマットインポートサブシステムがこれらの設定を取得し、/var/local/svの単一ショットおよび長時間実行サービスのスイートに変換します。

両方のシステムは、ベースでifconfigを頻繁に実行し、いくつかの長期実行デーモンを実行します。

cloned_interfacesは、起動およびシャットダウンするネットワークインターフェイスをリストするという点でnetwork_interfaces設定とほぼ同じです。トウェイン間の唯一の違いは、network_interfacesが(ネットワークインターフェイスハードウェアの)ハードウェア検出によって存在するようになったため、既存のネットワークインターフェイスを記述していることです。一方、cloned_interfacesは、これらのサービスの起動とシャットダウンのアクションだけで発生するネットワークインターフェイスです。

bridgetap、またはepairネットワークインターフェイスは、実際のネットワークインターフェイスハードウェアを表すものではありません。したがって、起動とシャットダウンでは、新しいネットワークインターフェースが複製されて破壊されるポイントが追加で必要になります。これも、ifconfigコマンドを使用して行います。最初のbridgeネットワークインターフェイスは、ifconfig bridge0 createを実行することによって複製され、ifconfig bridge0 destroyで破棄されます。 bridge0リストにcloned_interfacesをリストすると、これが発生し、これらのコマンドが最初と最後に実行されます。これをnetwork_interfacesにリストすることはできませんが、システムは既存のbridge0デバイスが操作されると想定します。

(技術的には、ループバックインターフェイスもハードウェアではありません。これも複製されます。したがって、最初に複製されたループバックインターフェイスはlo0です。ブリッジ、タップ、およびペアはオプションなので、オプションではありません。)

それ以外は、2つのインターフェイスセットは同じように扱われます。

参考文献

3
JdeBP

cloned_interfacesを使用すると、たとえば次のように複数のことができます。

  • FreeBSD仮想LAN構成の調整:VLANは、あたかもそれらが通信するかのように共通の要件を持つホストのグループです物理的な場所に関係なく、同じワイヤに接続されました。AVLANは物理LANと同じ属性を持っていますが、エンドステーションが上にない場合でもグループ化することができます同じLANセグメント。ネットワークの再構成は、デバイスを物理的に再配置する代わりに、ソフトウェアを介して行うことができます。構成を永続化するには、/ etc/rc.confを開きます。

    vi /etc/rc.conf

次のように追加/変更します。

cloned_interfaces="vlan0"
ifconfig_vlan0="inet x.x.x.x netmask y.y.y.y vlan 2 vlandev em0"
  • ifconfig lo1 createを使用して永続的なループバックインターフェイス(FreeBSD)を作成し、/ etc/rc.confに以下を追加します。

cloned_interfaces="lo1"

ifconfig_lo1="inet a.b.c.d/netmask"

where a.b.c.d is the ip address.

  • リンクアグリゲーション制御プロトコルLACPを使用したFreeBSDでのアグリゲーション/ボンディングのリンク:FreeBSDで複数のイーサネットリンクを結合するのはかなり簡単です。たとえば、LACPを使用する必要があります。一部のスイッチ構成が機能するようにしてから、ブート時にリンク集約モジュールが開始されていることを確認します。そのため、/ boot/loader.confを編集して、次の行を追加します。

    if_lagg_load=”YES”

ここでポートを構成します。この例では、igb0とbge0を2つのポートのLACPバンドルに結合します。インターフェイスにIP 192.0.2.10/24を割り当てます。以下を/etc/rc.confに追加します。

cloned_interfaces=”lagg0″
ifconfig_igb0=”up”
ifconfig_bge0=”up”
ifconfig_lagg0=”laggproto lacp laggport igb0 laggport bge0 up”
ifconfig_lagg0_alias0=”inet 192.0.2.10/24″
  • 単一IPのFreeBSD刑務所、次のシナリオがあるとしましょう:単一IPのFreeBSD VPSがあり、FreeBSD刑務所を作成したい場合追加のセキュリティおよび/または分離。この記事では、内部IPでjail createを使用して単一のVPSを使用し、NATアクセスと特定のポート(web、sshのjailへのポート転送)の両方を使用する方法を説明しますなど)次に、ローカルインターフェースを次のように作成します。

Rc.confで、ループバックインターフェイスをlo1に複製して、192.168。、10。、または172.16。*をプライベートjailネットワークに使用できるようにします。

cloned_interfaces="lo1"
ipv4_addrs_lo1="192.168.0.1-9/29"

上記は、192.168.0.1から192.168.0.9までのインターフェースで作成されたlo1ループバックデバイスを作成します。ここから、192.168.0.2の刑務所を作成します。次に、これらのローカルアドレスからの送信トラフィック(NAT)を許可し、Web(80)およびSSHポートを特定のjail IPに渡すようにPFを構成します。

  • ブリッジの有効化:FreeBSDでは、if_bridgeは、ブリッジインターフェースの作成時にifconfigによって自動的にロードされるカーネルモジュールです。デバイスif_bridgeをカスタムカーネル構成ファイルに追加することで、ブリッジサポートをカスタムカーネルにコンパイルすることもできます。ブリッジは、インターフェースの複製を使用して作成されます。ブリッジインターフェースを作成するには:

    # ifconfig bridge createbridge0# ifconfig bridge0

    bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500ether 96:3d:4b:f1:79:7aid 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0

ブリッジインターフェイスが作成されると、ランダムに生成されたイーサネットアドレスが自動的に割り当てられます。 maxaddrおよびtimeoutパラメータは、ブリッジが転送テーブルに保持するMACアドレスの数と、各エントリが最後に表示されてから削除されるまでの秒数を制御します。他のパラメータは、STPの動作を制御します。

次に、ブリッジのメンバーとして追加するネットワークインターフェイスを指定します。ブリッジがパケットを転送するには、すべてのメンバーインターフェイスとブリッジが起動している必要があります。

# ifconfig bridge0 addm fxp0 addm fxp1 up
# ifconfig fxp0 up
# ifconfig fxp1 up

これで、ブリッジはfxp0とfxp1の間でイーサネットフレームを転送できます。 /etc/rc.confに次の行を追加して、起動時にブリッジが作成されるようにします。

cloned_interfaces="bridge0"
ifconfig_bridge0="addm fxp0 addm fxp1 up"
ifconfig_fxp0="up"
ifconfig_fxp1="up"

ブリッジホストにIPアドレスが必要な場合は、メンバーインターフェイスではなく、ブリッジインターフェイスに設定します。アドレスは静的に、またはDHCP経由で設定できます。この例では、静的IPアドレスを設定します。

# ifconfig bridge0 inet 192.168.0.1/24

ブリッジインターフェイスにIPv6アドレスを割り当てることもできます。変更を永続的にするには、アドレス指定情報を/etc/rc.confに追加します。

これらはcloned_interfaces !!のアプリケーションの一部です。

詳細: 12 、、 4

3
user88036