Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

E.3.9.4. /proc/sys/net/

このディレクトリーには、さまざまなネットワークトピックに関するサブディレクトリーが含まれています。カーネルのコンパイル時にさまざまな設定により、ethernet/、ipv4/、ipx/ ipv6/ など、ここに異なるディレクトリーが利用可能になります。これらのディレクトリー内のファイルを変更すると、システム管理者は実行中のシステムのネットワーク設定を変更できます。
Linux で利用可能な様々なネットワークオプションがある場合、最も一般的な /proc/sys/net/ ディレクトリーのみを説明します。
/proc/sys/net/core/ ディレクトリーには、カーネルとネットワーク層との間の相互作用を制御するさまざまな設定が含まれています。これらのファイルの最も重要なのは、以下のとおりです。
  • message_burst: message_cost で定義される期間のカーネルログに書き込まれる新しい警告メッセージの最大数を設定します。このファイルのデフォルト値は 10 です。
    message_cost と組み合わせて、この設定は、ネットワークコードからカーネルログに書き込まれた警告メッセージのレート制限を強制し、サービス 拒否(DoS )攻撃を軽減するために使用されます。DoS 攻撃の考え方は、エラーを生成し、ログファイルでディスクパーティションをいっぱいにするか、エラーロギングを処理するためにすべてのシステムのリソースを必要とするリクエストでターゲットシステムを提供することです。
    message_burst および message_cost の設定は、システムの許容リスクと包括的なロギングのニーズに基づいて変更されるように設計されています。たとえば、message_burst を 10 に設定し、message_cost を 5 に設定すると、システムは 5 秒ごとに最大 10 個のメッセージ数を書き込むことができます。
  • message_cost: message_burst の期間を定義して、すべての警告メッセージにコストを設定します。値が大きいほど、警告メッセージが無視されます。このファイルのデフォルト値は 5 です。
  • netdev_max_backlog - 特定のインターフェースがパケットを処理できるよりも早く受信した場合に許可されるパケットの最大数を設定します。このファイルのデフォルト値は 1000 です。
  • optmem_max: ソケットごとに許容される最大バッファーサイズを設定します。
  • rmem_default - 受信ソケットバッファーのデフォルトサイズをバイト単位で設定します。
  • rmem_max - 受信ソケットバッファーの最大サイズをバイト単位で設定します。
  • wmem_default: 送信ソケットバッファーのデフォルトサイズをバイト単位で設定します。
  • wmem_max: 送信ソケットバッファーの最大サイズをバイト単位で設定します。
/proc/sys/net/ipv4/ ディレクトリーには、追加のネットワーク設定が含まれます。これらの設定は、相互と併用されるものの多くは、システムに対する攻撃を防止したり、システムをルーターとして機能させたりする際に役立ちます。
これらのファイルを変更する場合には注意が必要です。
これらのファイルが誤って変更すると、システムへのリモート接続に影響する可能性があります。
以下は、/proc/sys/net/ipv4/ ディレクトリーにある重要なファイルの一部です。
  • icmp_echo_ignore_allicmp_echo_ignore_broadcasts: カーネルが、すべてのホストからの ICMP ECHO パケットを無視すること、またはブロードキャストアドレスとマルチキャストアドレスから発信元のものだけを無視できるようにします。0 の値はカーネルが応答できますが、1 の値はパケットを無視します。
  • ip_default_ttl: デフォルトの Time To Live(TTL) を設定します。これにより、宛先に到達する前にパケットが実行できるホップ数が制限されます。この値を増やすと、システムパフォーマンスが低下する可能性があります。
  • ip_forward: システム上のインターフェースからパケットを転送するのを許可します。デフォルトでは、このファイルは 0 に設定されます。このファイルを 1 に設定すると、ネットワークパケットの転送が可能になります。
  • ip_local_port_range: ローカルポートが必要な場合に TCP または UDP が使用するポートの範囲を指定します。最初の番号は使用される最小ポートで、2 番目の番号は最も高いポートを指定します。デフォルト 1024 から 4999 よりも多くのポートを必要とするシステムは、32768 から 61000 の範囲を使用する必要があります。
  • tcp_syn_retries: 接続の試行時にシステムが SYN パケットを再転送する回数に制限を指定します。
  • tcp_retries1 - 受信接続への応答が許可される再送信の数を設定します。デフォルトは 3 です。
  • tcp_retries2: TCP パケットの許可される再送信の数を設定します。デフォルトは 15 です。
/usr/share/doc/kernel-doc-kernel_version/Documentation/networking/ip-sysctl.txt ファイルには、/proc/sys/net/ipv 4/ ディレクトリーおよび /proc/sys/net/ipv6/ ディレクトリーで利用可能なファイルとオプションの一覧が含まれています。sysctl -a コマンドを使用して、sysctl キー形式でパラメーターを一覧表示します。
/proc/sys/net/ipv4/ ディレクトリーには、ネットワークスタックのさまざまな側面をカバーします。/proc/sys/net/ipv4/conf/ ディレクトリーを使用すると、未設定のデバイス(/proc/sys/net/ipv4/conf/default / サブディレクトリー内)のデフォルト設定の使用や、(/proc/sys/net/ipv4/conf /all / サブディレクトリー内)の上書きの設定など、各システムインターフェースを異なる方法で設定できます。
重要
Red Hat Enterprise Linux 6 はデフォルトで 厳密逆方向パス転送 です。rp_filter ファイルで設定を変更する前に、『Red Hat Enterprise Linux 6nbsp; Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 Security Guide』の「Reverse Path Forwarding」および「 『Red Hat』 ナレッジベースアーティクル「 rp_filter」を参照 してください。
/proc/sys/net/ipv4/neigh/ ディレクトリーには、システムに直接接続されたホスト(ネットワーク近い と呼ばれる)と通信する設定が含まれており、複数のホップ離れているシステム用の異なる設定も含まれます。
IPV4 でのルーティングには、独自のディレクトリー /proc/sys/net/ipv4/route/ もあります。conf/ および neigh/ とは異なり、/ proc/sys/net/ipv4/route/ ディレクトリーには、システム上の任意のインターフェースとのルーティングに適用される仕様が含まれます。max_sizemax_delaymin_delay などの設定の多くは、ルーティングキャッシュのサイズ制御に関連します。ルーティングキャッシュを削除するには、すべての値を フラッシュ ファイルに書き込みます。
これらのディレクトリーおよびそれらの設定ファイルに設定できる値は、以下を参照してください。
/usr/share/doc/kernel-doc-kernel_version/Documentation/filesystems/proc.txt