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
_で使用されます。
それは実際に何をしますか?他のネットワークモジュールではなく特定のネットワークモジュールに必要なのはなぜですか?ある種のダミーデバイスを作成しますか?いつ必要ですか?セキュリティへの影響?パフォーマンスへの影響?
cloned_interfaces
は、rc.conf
、rc.conf.local
などのいくつかの設定の1つです。ネットワークインターフェイスのセットアップとシャットダウンを制御します。 Mewburn rc
システムでは、これらの設定の使用を主に担当するのは/etc/rc.d/netif
です。 noshシステム管理では、外部フォーマットインポートサブシステムがこれらの設定を取得し、/var/local/sv
の単一ショットおよび長時間実行サービスのスイートに変換します。
両方のシステムは、ベースでifconfig
を頻繁に実行し、いくつかの長期実行デーモンを実行します。
cloned_interfaces
は、起動およびシャットダウンするネットワークインターフェイスをリストするという点でnetwork_interfaces
設定とほぼ同じです。トウェイン間の唯一の違いは、network_interfaces
が(ネットワークインターフェイスハードウェアの)ハードウェア検出によって存在するようになったため、既存のネットワークインターフェイスを記述していることです。一方、cloned_interfaces
は、これらのサービスの起動とシャットダウンのアクションだけで発生するネットワークインターフェイスです。
bridge
、tap
、またはepair
ネットワークインターフェイスは、実際のネットワークインターフェイスハードウェアを表すものではありません。したがって、起動とシャットダウンでは、新しいネットワークインターフェースが複製されて破壊されるポイントが追加で必要になります。これも、ifconfig
コマンドを使用して行います。最初のbridge
ネットワークインターフェイスは、ifconfig bridge0 create
を実行することによって複製され、ifconfig bridge0 destroy
で破棄されます。 bridge0
リストにcloned_interfaces
をリストすると、これが発生し、これらのコマンドが最初と最後に実行されます。これをnetwork_interfaces
にリストすることはできませんが、システムは既存のbridge0
デバイスが操作されると想定します。
(技術的には、ループバックインターフェイスもハードウェアではありません。これも複製されます。したがって、最初に複製されたループバックインターフェイスはlo0
です。ブリッジ、タップ、およびペアはオプションなので、オプションではありません。)
それ以外は、2つのインターフェイスセットは同じように扱われます。
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″
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 create
bridge0
# ifconfig bridge0
bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 96:3d:4b:f1:79:7a
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root 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
!!のアプリケーションの一部です。