1 システムのネットワークの構成

この章では、システムのネットワーク・インタフェースおよびネットワーク・ルーティングを構成する方法について説明します。

ネットワーク・インタフェース名について

Oracle Linuxシステム上の物理ネットワーク・デバイスおよび仮想ネットワーク・デバイスにはそれぞれ、/etc/sysconfig/network-scriptsディレクトリにあるifcfg-interface (interfaceはインタフェースの名前)という名前の構成ファイルが関連付けられています。次に例を示します。

cd /etc/sysconfig/network-scripts
ls ifcfg-*
ifcfg-em1  ifcfg-em2  ifcfg-lo

この例には、マザーボードベースのEthernetインタフェースのための2つの構成ファイル、ifcfg-em1およびifcfg-em2、およびループバック・インタフェースのためのファイル、ifcfg-loがあります。システムではブート時に構成ファイルを読み取り、ネットワーク・インタフェースを構成します。

使用しているシステムによっては、その他のネットワーク・インタフェースの名前が表示されていることがあります。ネットワーク・インタフェース名についてを参照してください。

次に、Dynamic Host Configuration Protocol (DHCP)を使用してIPアドレスを取得するネットワーク・インタフェース用のifcfg-em1ファイルのサンプル・エントリを示します。

DEVICE="em1"
NM_CONTROLLED="yes"
ONBOOT=yes
USERCTL=no
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System em1"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=08:00:27:16:C3:33
PEERDNS=yes
PEERROUTES=yes

インタフェースが静的IPアドレスを使用して構成されている場合、ファイルには次のようなエントリが含まれます。

DEVICE="em1"
NM_CONTROLLED="yes"
ONBOOT=yes
USERCTL=no
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System em1"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=08:00:27:16:C3:33
IPADDR=192.168.1.101
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
PEERDNS=yes
PEERROUTES=yes

通常、インタフェース構成ファイルでは次の構成パラメータが使用されます。

BOOTPROTO

インタフェースでIPアドレスを取得する方法。

bootp

Bootstrap Protocol (BOOTP)。

dhcp

Dynamic Host Configuration Protocol (DHCP)。

none

静的に構成されたIPアドレス。

BROADCAST

IPv4ブロードキャスト・アドレス。

DEFROUTE

このインタフェースがデフォルト・ルートかどうか。

DEVICE

物理ネットワーク・インタフェース・デバイス(またはPPP論理デバイス)の名前。

GATEWAY N

インタフェースのIPv4ゲートウェイ・アドレス。インタフェースはIPアドレス、ネットワーク・マスクの接頭辞の長さ、およびゲートウェイ・アドレスの複数の組合せと関連付けられ、0から始まる連番が付与されます。

HWADDR

イーサネット・デバイスのメディア・アクセス制御(MAC)アドレス。

IPADDR N

インタフェースのIPv4アドレス。

IPV4_FAILURE_FATAL

IPv4構成が失敗した場合にデバイスを無効にするかどうか。

IPV6_DEFAULTGW

インタフェースのIPv6ゲートウェイ・アドレス。たとえば: IPV6_DEFAULTGW=2001:0daa::2%em1

IPV6_FAILURE_FATAL

IPv6構成が失敗した場合にデバイスを無効にするかどうか。

IPV6ADDR

ネットワーク・マスクの接頭辞長を含む、CIDR表記でのインタフェースのIPv6アドレス。たとえば、IPV6ADDR="2001:0db8:1e11:115b::1/32"などです。

IPV6INIT

インタフェースに対してIPv6を有効にするかどうか。

MASTER

このインタフェースがバックアップであるプライマリ結合インタフェースの名前を指定します。

NAME

ネットワーク接続GUIに表示されるインタフェースの名前。

NETWORK

ネットワークのIPV4アドレス。

NM_CONTROLLED

ネットワーク・インタフェース・デバイスがネットワーク管理デーモンNetworkManagerによって制御されるかどうか。

ONBOOT

ブート時にインタフェースをアクティブ化するかどうか。

PEERDNS

DNS解決で使用する/etc/resolv.confファイルに、DHCPサーバーから取得された情報を含めるかどうか。

PEERROUTES

インタフェースのデフォルト・ゲートウェイを定義するルーティング表エントリの情報を、DHCPサーバーから取得するかどうか。

PREFIX N

インタフェースのIPv4ネットワーク・マスク接頭辞の長さ。

SLAVE

このインタフェースが結合インタフェースのバックアップであることを指定します。

TYPE

インタフェース・タイプ。

USERCTL

root以外のユーザーがこのインタフェースの状態を制御できるかどうか。

UUID

ネットワーク・インタフェース・デバイスの汎用一意識別子。

ネットワーク・インタフェース名について

ネットワーク・インタフェース名はシステムBIOS、またはデバイスのファームウェア、システム・パスまたはMACアドレスから派生した情報に基づいています。この機能によって、システムの再起動、ハードウェアの再構成、デバイス・ドライバやカーネルのアップデート後もインタフェース名は維持されます。

biosdevnameブート・オプションを有効にすると(biosdevname=1)、udevデバイス・マネージャへのbiosdevnameプラグインが次のようにネットワーク・インタフェースに名前を割り当てます。

  • マザーボードのEthernetインタフェースにはem Nという名前が付けられます。Nは1から始まるインタフェースの番号です。

  • PCIカードのネットワーク・インタフェースにはp S p Pという名前が付けられます。Sはスロット番号、Pはポート番号です。

  • 仮想インタフェースにはp S p P _ Vという名前が付けられます。Sはスロット番号、Pはポート番号、Vは仮想インタフェース番号です。

biosdevnameが0 (デフォルト)に設定されると、systemdのネーミングで、接頭辞enwl、およびwwがEthernet、ワイヤレスLAN、およびワイヤレスWANインタフェースにそれぞれ割り当てられます。接頭辞の後には、ハードウェア構成、システム・バス構成、またはデバイスのMACアドレスに基づく接尾辞が続きます。

o N

索引番号Nのオンボードのデバイス。

pBsS[fF][dD]

バス番号B、スロット番号S、機能番号FおよびデバイスID Dを持つPCIデバイス。

pBsS[fF][uP]...[cC][iI]

バス番号B、スロット番号S、機能番号F、ポート番号P、構成番号Cおよびインタフェース番号Iを持つUSBデバイス。

sS[fF][dD]

スロット番号S、機能番号FおよびデバイスID Dを持つホットプラグ・デバイス。

x M

MACアドレスMのデバイス。

たとえば、マザーボード上のEthernetポートは、biosdevnameの値が0か1かに応じて、eno1またはem1と名前が付けられます。

カーネルは、このような他のデバイスからデバイスのあいまいさを解消する情報が見つからない場合のみ、予測不可能なレガシー・ネットワーク・インタフェース名(eth Nおよびwlan N) を割り当てます。net.ifnames=0ブート・パラメータを使用して、レガシー・ネーミング・スキームを回復できます。

注意:

ネーミング・スキームを変更するnet.ifnamesまたはbiosdevnameブート・パラメータを使用すると、既存のファイアウォール・ルールを無効にレンダリングできます。ネーミング・スキームを変更すると、ネットワーク・インタフェース名を参照するその他のソフトウェアにも影響することがあります。

ネットワーク構成ファイルについて

次の各項では、システムに構成する必要がある場合がある追加のネットワーク構成ファイルについて説明します。

/etc/hostsファイルについて

/etc/hostsファイルでは、ホスト名とIPアドレスが関連付けられます。これを使用すると、システムでホストのIPアドレスをその名前で、または名前をIPアドレスで参照(resolve)できます。ほとんどのネットワークで、アドレスまたは名前解決の実行にDNS (ドメイン名サービス)が使用されます。ネットワークでDNSが使用されている場合でも、通常は、ループバック・デバイスのIPv4およびIPv6アドレスを指定する行をこのファイルに含めます。たとえば:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

1列目と2列目には、IPアドレスとホスト名が含まれます。追加の列には、ホスト名の別名が含まれます。

詳細は、hosts(5)マニュアル・ページを参照してください。

/etc/nsswitch.confファイルについて

/etc/nsswitch.confファイルでは、様々なデータベースおよび名前解決メカニズムの使用方法が構成されます。このファイルのエントリの最初のフィールドでは、データベースの名前が識別されます。2番目のフィールドでは、解決メカニズムのリストが定義され、この定義順にデータベースに対する問合せの解決が試行されます。

/etc/nsswitch.confからの次の例のホスト定義は、最初にfiles (つまり/etc/hosts)を問い合せ、それが失敗した場合は、次にDNSサーバーを問い合せて、最後にNIS+ (NISバージョン3)を問い合せることによって、ホスト名とIPアドレスの解決が試行されることを示しています。

hosts:      files dns nisplus

詳細は、nsswitch.conf(5)マニュアル・ページを参照してください。

/etc/resolv.confファイルについて

/etc/resolv.confファイルでは、DNSを使用してホスト名とIPアドレスを解決する方法が定義されます。このファイルには通常、検索ドメインを指定する行と、DNSサーバーのIPアドレスを指定する行が3行まで含まれます。/etc/resolv.confからの次のエントリでは、2つの検索ドメインと3つのDNSサーバーが構成されます。

search us.mydomain.com mydomain.com
nameserver 192.168.154.3
nameserver 192.168.154.4
nameserver 10.216.106.3

システムでDHCPサーバーからそのIPアドレスが取得されている場合、通常は、同様にDHCPを使用して取得される情報を使用してこのファイルの内容が構成されます。

詳細は、resolv.conf(5)マニュアル・ページを参照してください。

/etc/sysconfig/networkファイルについて

/etc/sysconfig/networkファイルでは、システム上のすべてのネットワーク・インタフェースに有効な追加情報が指定されます。/etc/sysconfig/networkからの次のエントリでは、IPv4ネットワーキングが有効化されること、IPv6ネットワーキングが有効化されないこと、システムのホスト名、およびデフォルト・ネットワーク・ゲートウェイのIPアドレスが定義されます。

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=host20.mydomain.com
GATEWAY=192.168.1.1

ノート:

Oracle Linuxの以前のリリースでは、システムのホスト名は/etc/sysconfig/networkで定義されていました。現在、ホスト名は/etc/hostnameで定義され、hostnamectlコマンドを使用して変更できます。ホスト名は、単純な短縮名ではなく、host20.mydomain.comなどの完全修飾ドメイン名(FQDN)である必要があります。

また、デフォルト言語、キーボード、コンソールのフォントなど、システム全体でのデフォルトのローカライズ設定は、/etc/sysconfig/i18nで定義されていました。このような設定は、現在/etc/locale.confおよび/etc/vconsole.confで定義されます。

詳細は、hostname(5)hostnamectl(1)locale.conf(5)、およびvconsole.conf(5)の各マニュアル・ページを参照してください。

コマンドラインのネットワーク構成インタフェース

NetworkManagerサービスが実行中の場合は、nmcliコマンドを使用して、システムの物理ネットワーク・インタフェースの状態を表示できます。たとえば:

sudo nmcli device status
DEVICE  TYPE      STATE       
em1     ethernet  connected   
em2     ethernet  connected   
lo      loopback  unmanaged

ipコマンドを使用すると、デバッグまたはシステム・チューニング用に、インタフェースの状態を表示できます。たとえば、アクティブなすべてのインタフェースの状態を表示するには、次のようにします。

sudo ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:16:c3:33 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global em1
    inet6 fe80::a00:27ff:fe16:c333/64 scope link 
       valid_lft forever preferred_lft forever

ネットワーク・インタフェースごとに、現在のIPアドレス、およびインタフェースの状態が出力に表示されます。em1などの単一のインタフェースの状態を表示するには、次に示すようにその名前を指定します。

sudo ip addr show dev em1
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:16:c3:33 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global em1
    inet6 fe80::a00:27ff:fe16:c333/64 scope link 
       valid_lft forever preferred_lft forever

ipを使用すると、プロパティを設定し、ネットワーク・インタフェースをアクティブ化することもできます。次の例では、em2インタフェースのIPアドレスが設定され、アクティブ化されます。

sudo ip addr add 10.1.1.1/24 dev em2
sudo ip link set em2 up

ノート:

これらの操作の実行にifconfigコマンドを使用する場合があります。しかし、ifconfigは廃止が検討されており、将来的にipコマンドによって完全に置き換えられます。

ipを使用してネットワーク・インタフェースに対して構成する設定は、システム再起動をまたいで維持されません。変更を永続的にするには、/etc/sysconfig/network-scripts/ifcfg-interfaceファイル内のプロパティを設定します。

/etc/sysconfig/network-scriptsのインタフェース・ファイルに加えた変更は、ネットワーク・サービスを再起動するか、インタフェースを停止して再び起動するまで有効になりません。たとえば、ネットワーク・サービスを再起動するには、次のようにします。

sudo systemctl restart network

個々のインタフェースを再起動するには、ifupまたはifdownコマンドを使用でき、これによって、インタフェース・タイプに対応する/etc/sysconfig/network-scripts内のスクリプトが起動されます。次に例を示します。

sudo ifdown em1
sudo ifup em1
Connection successfully activated 
(D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)

また、ipコマンドを使用すると、その構成を完全に分解して再構築しなくても、インタフェース上でネットワーク・アクティビティを停止および開始できます。

sudo ip link set em1 down
sudo ip link set em1 up

ethtoolユーティリティは、パフォーマンスに影響を与える潜在的に不適合な設定を診断するために有益であり、ネットワーク・デバイスの低レベルのプロパティを問い合せて設定できます。ethtoolを使用して加えた変更は、再起動をまたいで維持されません。変更を永続的にするには、/etc/sysconfig/network-scriptsにあるデバイスのifcfg-interfaceファイル内の設定を変更します。

詳細は、ethtool(8)ifup(8)ip(8)およびnmcli(1)の各マニュアル・ページを参照してください。

グラフィカル・インタフェースを使用したネットワーク・インタフェースの構成

ノート:

NetworkManagerサービスおよびnmcliコマンドは、NetworkManagerパッケージに含まれています。ネットワーク接続エディタはnm-connection-editorパッケージに含まれています。

NetworkManagerサービスでは、ネットワーク接続が動的に検出され、構成されます。GNOME通知領域でネットワーク・アイコンをクリックすると、ネットワーク・インタフェースの状態に関する情報を取得でき、ネットワーク接続を管理できます。

  • プルダウン・メニューからネットワーク・インタフェースを有効または無効にするには、オン/オフのトグルを使用します。

  • 設定ウィンドウを表示するには、ドロップダウン・メニューから「ネットワーク設定」を選択します。

図1-2に、「ネットワーク設定」エディタを示します。

図1-1 「ネットワーク設定」エディタ


この図は「ネットワーク設定」エディタを示しています。

既存のインタフェースを編集するには、リストからそれを選択し、ギア・アイコンをクリックします。任意のインタフェースにプロファイルを追加して、いつでも使用可能な代替構成を提供できます。このウィンドウでは、ネットワーク・プロキシの構成や、仮想プライベート・ネットワーク(VPN)接続の有効化も可能です。

より複雑な構成を実行する場合や、接続タイプをさらに追加する場合は、「ネットワーク接続」エディタを使用します。このツールを使用すると、有線、ワイヤレス、モバイル・ブロードバンド、VPN、デジタル加入者線(DSL)、仮想(結合、ブリッジ、チーム、VLAN)インタフェースを構成できます。このウィンドウはnm-connection-editorコマンドを使用して開くことができます。図1-2に、「ネットワーク接続」エディタを示します。

図1-2 「ネットワーク接続」エディタ


この図は「ネットワーク接続」エディタを示しています。

新しいネットワーク・インタフェースを作成するには、+アイコンをクリックし、インタフェースのタイプ(ハードウェア、仮想またはVPN)を選択し、「作成」をクリックします。既存のインタフェースを編集するには、リストからそれを選択し、ギア・アイコンをクリックします。選択したインタフェースを削除するには、-アイコンをクリックします。

また、nmcliコマンドを使用して、NetworkManagerを介したネットワーク接続を管理することもできます。詳細は、nmcli(1)マニュアル・ページを参照してください。

ネットワーク・インタフェース結合について

ネットワーク・インタフェース結合は、複数のネットワーク接続を単一の論理インタフェースに組み込みます。結合ネットワーク・インタフェースは、ロード・バランシングによってデータ・スループットを増やし、あるコンポーネント・デバイスから別のコンポーネント・デバイスへのフェイルオーバーを可能にすることによって冗長性を提供できます。デフォルトでは、結合インタフェースは、カーネルからは通常のネットワーク・デバイスのように見えますが、ネットワーク・パケットの送信を、単純なラウンドロビン・スケジューラを使用して、使用可能なセカンダリ・デバイス経由で行います。結合インタフェースの構成ファイル内の結合モジュール・パラメータを構成して、ロード・バランシングとデバイス・フェイルオーバーの動作を変更できます。

基本ロード・バランシング・モード(balance-rrおよびbalance-xor)では、EtherChannelまたはトランキングをサポートするスイッチが使用されます。拡張ロード・バランシング・モード(balance-tlbおよびbalance-alb)では、切替えハードウェアに要件は強要されませんが、各コンポーネント・インタフェースに対するデバイス・ドライバで、ethtoolのサポート、またはデバイスがアクティブ中にハードウェア・アドレスを変更する機能など、ある特定の機能を実装することが必要です。詳細は、/usr/share/doc/iputils-*/README.bondingを参照してください。

ネットワーク・インタフェース結合の構成

Oracle Linuxカーネルに用意されている結合ドライバを使用すると、em1em2などの複数のネットワーク・インタフェースを、bond0などの1つの論理インタフェースに集約できます。「ネットワーク設定」エディタを使用して結合を作成し、この結合にネットワーク・インタフェースを追加できます。別の方法として、nmcliコマンドを使用して結合を作成および構成できます。

コマンドラインから結合インタフェースを作成および構成するには:

  1. 次のように、結合を作成します。

    sudo nmcli con add type bond con-name bond0 ifname bond0 mode balance-rr

    この例では、結合の名前をbond0に、そのモードをbalance-rrに設定します。ロード・バランシングまたはARPリンク監視の使用可能なオプションの詳細は、/usr/share/doc/iputils-*/README.bondingおよびnmcli(1)の各マニュアル・ページを参照してください。

  2. 各インタフェースを結合に追加します。

    sudo nmcli con add type bond-slave ifname em1 master bond0
    sudo nmcli con add type bond-slave ifname em2 master bond0

    これらのコマンドは、em1およびem2インタフェースをbond0に追加します。

  3. NetworkManagerサービスを再開します。

    sudo systemctl restart NetworkManager

    サービスを再開すると、結合インタフェースが使用可能になります。

ネットワーク・インタフェース・チーミングについて

ノート:

ネットワーク・インタフェース・チーミングには、Unbreakable Enterprise Kernelリリース3(UEK R3)四半期更新7以降が必要です。

ネットワーク・インタフェース・チーミングはネットワーク・インタフェース結合と類似しており、比較的保守が不要であり、結合と比較して修正、拡張、およびデバッグが容易なリンク・アグリゲーションの実装方法を提供します。

軽量カーネル・ドライバはチーミングを実装し、teamdデーモンはランナーという名のロード・バランシングおよびフェイルオーバー・スキーマを実装します。定義されているのは、次の標準のランナーです。

activebackup

変更へのリンクを監視し、パケットの送信に使用される有効なポートを選択します。

broadcast

すべてのメンバー・ポートにパケットを送信します。

lacp

メンバー・ポート上にリンク・アグリゲーション制御プロトコル802.3adを実装することにより、ロード・バランシングを実現します。

loadbalance

パッシブ・モードでBPFハッシュ関数を使用し、パケットの送信に使用されるポートを選択します。

アクティブ・モードでバランシング・アルゴリズムを使用し、使用可能なポートで送信パケットを配信します。

random

ポートをランダムに選択し、各送信パケットを送信します。

ノート:

UEK R3は現在、このランナー・モードをサポートしていません。

roundrobin

ラウンドロビン方式で使用可能なポートからパケットを転送します。

特殊化したアプリケーションについては、teamdが解釈できるカスタマイズされたランナーを作成できます。teamdctlコマンドでは、teamdの操作を制御できます。

詳細は、teamd.conf(5)マニュアル・ページを参照してください。

ネットワーク・インタフェース・チーミングの構成

チームのプロパティとそのコンポーネント・インタフェースを指定するJSON形式の定義を作成して、チーミングされたインタフェースを構成できます。次に、teamdデーモンがこれらの定義を解釈します。JSON形式の定義を使用すると、teamdデーモンを手動で開始、/etc/sysconfig/network-scriptsのインタフェース定義ファイルを編集、nmcliコマンドを使用、あるいは「ネットワーク構成」エディタ(nm-connection-editor)を使用することによってチーム・インタフェースを作成できます。この項では、これらのメソッドの最初のものについて説明します。

teamdを手動で開始してチーミングされたインタフェースを作成するには:

  1. チームとそのコンポーネント・ポートに対してJSON形式の定義ファイルを作成します。サンプル構成については、/usr/share/doc/teamd-*/example_configs/内のファイルを参照してください。

    次の例では、ファイルactivebackup_ethtool_1.confのコンテンツに基づき、アクティブ・バックアップ構成を定義しており、ここではem4がプライマリ・ポート、em3がバックアップ・ポートとして構成されており、これらのポートがethtoolによって監視されます。

    {
            "device":       "team0",
            "runner":       {"name": "activebackup"},
            "link_watch":   {"name": "ethtool"},
            "ports":        {
                    "em3": {
                            "prio": -10,
                            "sticky": true
                    },
                    "em4": {
                            "prio": 100
                    }
            }
    }
  2. ipコマンドを使用して、コンポーネント・ポートを停止します。

    sudo ip link set em3 down
    sudo ip link set em4 down

    アクティブなインタフェースはチームに追加できません。

  3. teamdデーモンのインスタンスを開始し、これによって構成ファイル(この例では/root/team_config/team0.conf)を読み取り、チーミングされたインタフェースを作成します。

    sudo teamd -g -f /root/team_config/team0.conf -d
    Using team device "team0".
    Using PID file "/var/run/teamd/team0.pid"
    Using config file "/root/team_config/team0.conf"

    -gオプションでは、デバッグ・メッセージが表示されますが、これは省略できます。

  4. ipコマンドを使用して、チーミングされたインタフェースのIPアドレスとネットワーク・マスク接頭辞の長さを設定します。

    sudo ip addr add 10.0.0.5/24 dev team0

詳細は、teamd(8)マニュアル・ページを参照してください。

チームへのポートの追加およびポートの削除

チームにポートを追加するには、次のようにteamdctlコマンドを使用します。

sudo teamdctl team0 port add em5

チームからポートを削除するには:

sudo teamdctl team0 port remove em5

詳細は、teamdctl(8)マニュアル・ページを参照してください。

チームのポート構成の変更

teamdctlコマンドを使用して、次のようにチームの構成要素であるポート構成を更新できます。

sudo teamdctl team0 port config update em3 '{"prio": -10, "sticky": false}'

JSON形式の定義を一重引用符で囲み、複数行に分割しないようにします。

詳細は、teamdctl(8)マニュアル・ページを参照してください。

チームの削除

チームを削除するには、次のコマンドを使用してteamdデーモンを強制終了します。

# teamd -t team0 -k

詳細は、teamd(8)マニュアル・ページを参照してください。

チームに関する情報の表示

チーミングされたインタフェースのネットワーク状態を表示するには、ipコマンドを使用します。

sudo ip addr show dev team0
7: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 08:00:27:15:7a:f1 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.5/24 scope global team0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe15:7af1/64 scope link 
       valid_lft forever preferred_lft forever

teamnlコマンドを使用して、チームのコンポーネント・ポートに関する情報を表示できます。

sudo teamnl team0 ports
 5: em4: up 1000Mbit FD 
 4: em3: up 1000Mbit FD 

チームの現在の状態を表示するには、次のようにteamdctlコマンドを使用します。

sudo teamdctl team0 state
setup:
  runner: activebackup
ports:
  em3
    link watches:
      link summary: down
      instance[link_watch_0]:
        name: ethtool
        link: down
  em4
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
runner:
  active port: em4

また、teamdctlを使用して、チームのJSON構成、およびそれぞれの構成要素であるポートを表示することもできます。

sudo teamdctl team0 config dump
{
    "device": "team0",
    "link_watch": {
        "name": "ethtool"
    },
    "mcast_rejoin": {
        "count": 1
    },
    "notify_peers": {
        "count": 1
    },
    "ports": {
        "em3": {
            "prio": -10,
            "sticky": true
        },
        "em4": {
            "prio": 100
        }
    },
    "runner": {
        "name": "activebackup"
    }
}

詳細は、teamdctl(8)およびteamnl(8)の各マニュアル・ページを参照してください。

タグ付けされていないデータ・フレームを使用したVLANの構成

仮想ローカル・エリア・ネットワーク(VLAN)は、同じ物理ネットワークにアタッチされているように通信できる、複数のマシンのグループで構成されます。VLANを使用すると、LAN上のその実際の物理的な場所に関係なくシステムをグループ化できます。タグ付けされていないデータ・フレームを使用するVLANでは、ネットワーク・スイッチのポートを同じ永続的なVLAN IDまたはPVID (デフォルトのVLANである1以外)に割り当てることによって、ブロードキャスト・ドメインを作成します。このPVIDに割り当てたすべてのポートが1つのブロードキャスト・ドメインに存在します。同じVLANのデバイス間のブロードキャストは、別のVLANの他のポートには、それらが同じスイッチ上に存在する場合でも認識されません。

「ネットワーク設定」エディタまたはnmcliコマンドを使用してEthernetインタフェース用のVLANデバイスを作成します。

コマンドラインからVLANデバイスを作成するには、次のように入力します。

sudo nmcli con add type vlan con-name bond0-pvid10 ifname bond0-pvid10 dev bond0 id 10

この例では、VLANデバイスbond0-pvid10を結合インタフェースbond0に10のPVIDを使用して設定します。物理LANを使用する標準インタフェースであるbond0に加えて、仮想LANにアクセスするタグ付けされていないフレームを使用できる、bond0-pvid10などのVLANデバイスが設定されました。

ノート:

結合インタフェースのコンポーネント・インタフェースに対する仮想インタフェースを作成する必要はありません。ただし、それらの接続先の各スイッチ・ポートにPVIDを設定する必要があります。

また、次のようにコマンドを使用して、結合されていないインタフェースにVLANデバイスを設定できます。

sudo nmcli con add type vlan con-name em1-pvid5 ifname em1-pvid5 dev em1 id 5

構成されているVLANインタフェースに関する情報を取得するには、/proc/net/vlanディレクトリのファイルを表示します。

ipコマンドを使用したVLANデバイスの作成

ipコマンドでは、VLANデバイスを作成する別の方法が提供されます。ただし、このようなデバイスはシステムを再起動すると維持されません。

5のPVIDでem1のVLANインタフェースem1.5を作成するには:

sudo ip link add link em1 name em1.5 type vlan id 5

詳細は、ip(8)マニュアル・ページを参照してください。

ネットワーク・ルーティングの構成

システムでは、そのルーティング表を使用して、パケットをリモート・システムに送信する際に使用するネットワーク・インタフェースが決定されます。システムに単一のインタフェースしかない場合は、パケットを他のネットワークにルーティングする、ローカル・ネットワーク上のゲートウェイ・システムのIPアドレスを構成すれば十分です。

IPv4ネットワーク・パケットに対するデフォルト・ルートを作成するには、/etc/sysconfig/networkファイルにGATEWAYに対するエントリを含めます。たとえば、次のエントリで、ゲートウェイ・システムのIPアドレスが構成されます。

GATEWAY=192.0.2.1

システムに複数のネットワーク・インタフェースがある場合は、使用するインタフェースを指定できます。

GATEWAY=192.0.2.1
GATEWAYDEV=em1

IPv6パケット用のゲートウェイを定義するには、通常は1つの文で十分です。たとえば:

IPV6_DEFAULTGW="2001:db8:1e10:115b::2%em1"

/etc/sysconfig/networkに加えた変更は、ネットワーク・サービスを再起動するまで有効になりません。

sudo systemctl restart network

ルーティング表を表示するには、ip route showコマンドを使用します。たとえば:

sudo ip route show
10.0.2.0/24 dev em1  proto kernel  scope link  src 10.0.2.15 
default via 10.0.2.2 dev em1  proto static 

この例は、ローカル・ネットワーク(10.0.2.0/24)宛のパケットでゲートウェイが使用されないことを示しています。デフォルトのエントリは、ローカル・ネットワーク外部のアドレス宛のパケットは、ゲートウェイ10.0.2.2経由でルーティングされることを意味します。

ノート:

ルーティングの構成にrouteコマンドを使用する場合があります。しかし、routeは廃止が検討されており、将来的にipコマンドによって完全に置き換えられます。

netstat -rnコマンドを使用してこの情報を表示することもできます。

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 em1
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 em1

表に対してルートの追加または削除を実行するには、ip route addまたはip route delコマンドを使用します。たとえば、静的デフォルト・ルートのエントリを置換するには、次のようにします。

sudo ip route del default
sudo ip route show
10.0.2.0/24 dev em1  proto kernel  scope link  src 10.0.2.15
sudo ip ro add default via 10.0.2.1 dev em1 proto static
sudo ip route show
10.0.2.0/24 dev em1  proto kernel  scope link  src 10.0.2.15  
default via 10.0.2.1 dev em1  proto static 

インタフェースem2経由で10.0.3.1を介するネットワーク10.0.3.0/24にルートを追加し、後でそのルートを削除するには、次のようにします。

sudo ip route add 10.0.4.0/24 via 10.0.2.1 dev em2
sudo ip route show
10.0.2.0/24 dev em1  proto kernel  scope link  src 10.0.2.15 
10.0.3.0/24 via 10.0.3.1 dev em2
default via 10.0.2.2 dev em1  proto static
sudo ip route del 10.0.3.0/24
sudo ip route show
10.0.2.0/24 dev em1  proto kernel  scope link  src 10.0.2.15 
default via 10.0.2.2 dev em1  proto static 

ip route getコマンドは有益な機能であり、このコマンドを使用すると、指定したIPアドレスに到達するために、パケットを送信するルートを問い合せることができます。たとえば:

sudo ip route get 23.6.118.140
23.6.118.140 via 10.0.2.2 dev em1  src 10.0.2.15 
    cache  mtu 1500 advmss 1460 hoplimit 64

この例では、23.6.118.140へのパケットは、ゲートウェイ10.0.2.2を介してem1インタフェースから送信されます。

ip routeを使用してルーティング表に加えた変更は、システム再起動をまたいで維持されません。静的ルートを永続的に構成するには、/etc/sysconfig/network-scriptsにインタフェース用のroute-interfaceファイルを作成することによって構成できます。たとえば、route-em1というファイルにem1インタフェースに対する静的ルートを構成するとします。これらのファイルのエントリは、ip route addコマンドに対する引数と同じフォーマットを使用できます。

たとえば、em1のデフォルト・ゲートウェイのエントリを定義するには、route-em1に次のようなエントリを作成します。

default via 10.0.2.1 dev em1

次に示すroute-em2内のエントリでは、em2経由で10.0.3.1を介する10.0.3.0/24へのルートが定義されます。

10.0.3.0/24 via 10.0.3.1 dev em2

route-interfaceファイルに加えた変更は、ネットワーク・サービスまたはインタフェースのいずれかを再起動するまで有効になりません。

詳細は、ip(8)およびnetstat(8)の各マニュアル・ページを参照してください。