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
Sp
Pという名前が付けられます。Sはスロット番号、Pはポート番号です。 -
仮想インタフェースには
p
Sp
P_
Vという名前が付けられます。Sはスロット番号、Pはポート番号、Vは仮想インタフェース番号です。
biosdevname
が0 (デフォルト)に設定されると、systemd
のネーミングで、接頭辞en
、wl
、およびww
がEthernet、ワイヤレスLAN、およびワイヤレスWANインタフェースにそれぞれ割り当てられます。接頭辞の後には、ハードウェア構成、システム・バス構成、またはデバイスのMACアドレスに基づく接尾辞が続きます。
-
o
N -
索引番号Nのオンボードのデバイス。
p
Bs
S[f
F][d
D]-
バス番号B、スロット番号S、機能番号FおよびデバイスID Dを持つPCIデバイス。
p
Bs
S[f
F][u
P]...[c
C][i
I]-
バス番号B、スロット番号S、機能番号F、ポート番号P、構成番号Cおよびインタフェース番号Iを持つUSBデバイス。
s
S[f
F][d
D]-
スロット番号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 「ネットワーク設定」エディタ
![この図は「ネットワーク設定」エディタを示しています。 この図は「ネットワーク設定」エディタを示しています。](img/NetSettings.png)
既存のインタフェースを編集するには、リストからそれを選択し、ギア・アイコンをクリックします。任意のインタフェースにプロファイルを追加して、いつでも使用可能な代替構成を提供できます。このウィンドウでは、ネットワーク・プロキシの構成や、仮想プライベート・ネットワーク(VPN)接続の有効化も可能です。
より複雑な構成を実行する場合や、接続タイプをさらに追加する場合は、「ネットワーク接続」エディタを使用します。このツールを使用すると、有線、ワイヤレス、モバイル・ブロードバンド、VPN、デジタル加入者線(DSL)、仮想(結合、ブリッジ、チーム、VLAN)インタフェースを構成できます。このウィンドウはnm-connection-editorコマンドを使用して開くことができます。図1-2に、「ネットワーク接続」エディタを示します。
図1-2 「ネットワーク接続」エディタ
![この図は「ネットワーク接続」エディタを示しています。 この図は「ネットワーク接続」エディタを示しています。](img/NetConnect.png)
新しいネットワーク・インタフェースを作成するには、+アイコンをクリックし、インタフェースのタイプ(ハードウェア、仮想またはVPN)を選択し、「作成」をクリックします。既存のインタフェースを編集するには、リストからそれを選択し、ギア・アイコンをクリックします。選択したインタフェースを削除するには、-アイコンをクリックします。
また、nmcliコマンドを使用して、NetworkManager
を介したネットワーク接続を管理することもできます。詳細は、nmcli(1)
マニュアル・ページを参照してください。
ネットワーク・インタフェース結合について
ネットワーク・インタフェース結合は、複数のネットワーク接続を単一の論理インタフェースに組み込みます。結合ネットワーク・インタフェースは、ロード・バランシングによってデータ・スループットを増やし、あるコンポーネント・デバイスから別のコンポーネント・デバイスへのフェイルオーバーを可能にすることによって冗長性を提供できます。デフォルトでは、結合インタフェースは、カーネルからは通常のネットワーク・デバイスのように見えますが、ネットワーク・パケットの送信を、単純なラウンドロビン・スケジューラを使用して、使用可能なセカンダリ・デバイス経由で行います。結合インタフェースの構成ファイル内の結合モジュール・パラメータを構成して、ロード・バランシングとデバイス・フェイルオーバーの動作を変更できます。
基本ロード・バランシング・モード(balance-rr
およびbalance-xor
)では、EtherChannelまたはトランキングをサポートするスイッチが使用されます。拡張ロード・バランシング・モード(balance-tlb
およびbalance-alb
)では、切替えハードウェアに要件は強要されませんが、各コンポーネント・インタフェースに対するデバイス・ドライバで、ethtoolのサポート、またはデバイスがアクティブ中にハードウェア・アドレスを変更する機能など、ある特定の機能を実装することが必要です。詳細は、/usr/share/doc/iputils-*/README.bonding
を参照してください。
ネットワーク・インタフェース結合の構成
Oracle Linuxカーネルに用意されている結合ドライバを使用すると、em1
やem2
などの複数のネットワーク・インタフェースを、bond0
などの1つの論理インタフェースに集約できます。「ネットワーク設定」エディタを使用して結合を作成し、この結合にネットワーク・インタフェースを追加できます。別の方法として、nmcliコマンドを使用して結合を作成および構成できます。
コマンドラインから結合インタフェースを作成および構成するには:
-
次のように、結合を作成します。
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)
の各マニュアル・ページを参照してください。 -
各インタフェースを結合に追加します。
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
に追加します。 -
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
を手動で開始してチーミングされたインタフェースを作成するには:
-
チームとそのコンポーネント・ポートに対して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 } } }
-
ipコマンドを使用して、コンポーネント・ポートを停止します。
sudo ip link set em3 down sudo ip link set em4 down
アクティブなインタフェースはチームに追加できません。
-
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オプションでは、デバッグ・メッセージが表示されますが、これは省略できます。
-
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)
マニュアル・ページを参照してください。
チームに関する情報の表示
チーミングされたインタフェースのネットワーク状態を表示するには、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アドレスを構成すれば十分です。
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)
の各マニュアル・ページを参照してください。