私はcloned_interfaces
FreeBSDがrc.conf
実際に何であるかを理解しようとしています。
マニュアルページには次のように記載されています。
cloned_interfaces
:(str)このホストで作成された複製可能なネットワークインタフェースのリストを設定します。変数を設定して、
ifconfig(8)
create
各インターフェイスのコマンドにさらに複製パラメータを渡すことができますcreate_args_<interface>
。キーワードを使用してインタフェース名を指定した場合、引数を使用してスクリプトを呼び出してsticky
もrc.d/netif
インタフェースは削除されませんstop
。これは、インターフェイスを損傷することなく再構成するのに役立ちます。エントリは自動的に設定にcloned_interfaces
追加されます。network_interfaces
これは、実行する操作に関する有用な情報を提供しません。たとえば、およびif_bridge
で使用されます。if_tap
if_epair
実際には何をしますか?
なぜ特定のネットワークモジュールに必要なのか、他のモジュールには必要ないのですか?
一種の仮想デバイスを作成しますか?
いつそれが必要ですか?
セキュリティへの影響?
パフォーマンスに影響しますか?
答え1
cloned_interfaces
rc.conf
rc.conf.local
、などのいくつかの設定の一つです。ネットワークインターフェイスの設定と終了を制御します。 Mewburnrc
システムでは、/etc/rc.d/netif
主にこれらの設定を使用する責任があります。 noshシステム管理を介して外部フォーマットをインポートするサブシステムはこれらの設定をインポートします/var/local/sv
。
両方のシステムの基本はifconfig
多く実行され、いくつかの長期実行デーモンが実行されます。
cloned_interfaces
network_interfaces
表示および終了するネットワークインターフェイスを一覧表示するのとほぼ同じ設定です。 2つの間の唯一の違いは、network_interfaces
ネットワークインターフェイスハードウェアのハードウェア検出によってすでに存在するため、既存のネットワークインターフェイスを説明しますが、cloned_interfaces
ネットワークインターフェイスはこれらのサービスの開始および終了操作を通じてのみ存在することです。
、bridge
またはネットワークインターフェイスtap
はepair
実際のネットワークインターフェイスハードウェアを表しません。したがって、起動と終了には追加の手順が必要です。この場合は新しいネットワークインターフェイスが必要です。複製そして破壊されました。これはifconfig
コマンドを通して行われます。最初のbridge
ネットワークインターフェイスは実行によって複製されifconfig bridge0 create
ますifconfig bridge0 destroy
。リストすると、これが発生し、コマンドが最初に実行されリストされず、システムには操作する既存のデバイスがあるとbridge0
想定されます。cloned_interfaces
network_interfaces
bridge0
(技術的には、ループバックインターフェイスはハードウェアでもありません。複製されたものでもあります。したがって、名前が気になる人lo0
のために最初に複製されたループバックインターフェイスはです。しかし、ブリッジはオプションではないので、特別なシェルがあります。と同じです)。
それ以外の場合は、両方のインタフェースセットが同じように処理されます。
追加読書
- ジョナサンデボインポラード(2017)。 」ネットワーキング」。スナックガイド。ソフトウェア。
- アンドリュー・トンプソン」ブリッジング」。 FreeBSDマニュアル。
- ブルックス・デイビス(2004)。動的ネットワークインタフェースの課題。
答え2
これにより、cloned_interfaces
次のような多くのタスクを実行できます。
FreeBSD 仮想 LAN 構成を調整します。VLAN は、物理的な場所に関係なく、同じ回線に接続されているかのように互いに通信する共通の要件セットを持つホスト グループです。 VLANには物理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"
- 永続ループバックインターフェイスの作成(FreeBSD)、
ifconfig lo1 create
以下を使用して/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 Jail、次のようなシナリオがあるとしましょう。単一のIPを持つFreeBSD VPSがあり、追加のセキュリティおよび/または分離を提供するためにFreeBSD Jailを作成しようとしています。この記事では、NATアクセスと刑務所の特定のポート(Web、SSHなど)へのポート転送を介して単一のVPSと内部IPに生成された刑務所を使用する方法について説明します。次に、次のようにローカルインターフェイスを作成します。
192.168を使用できるように、ループバックインタフェースをrc.confのlo1に複製します。、10.、または172.16。*当社の民間刑務所ネットワーク。
cloned_interfaces="lo1"
ipv4_addrs_lo1="192.168.0.1-9/29"
上記のコードはlo1ループバックデバイスを生成し、そのインターフェイスに192.168.0.1から192.168.0.9を生成します。ここでは192.168.0.2を使って刑務所を作成します。次に、これらのローカルアドレスからのアウトバウンドトラフィック(NAT)を許可し、Web(80)とSSHポートを特定の刑務所IPに転送するようにPFを設定します。
ブリッジの有効化
if_bridge
:FreeBSDでは、ブリッジインタフェース生成時に自動的にロードされるカーネルモジュールです。カスタムカーネル設定ファイルに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
!!