LinuxでTCP/IPファイルを設定および構成する方法(LinuxのTCP / IP設定)

オタクでない人でも「TCP/IP 」について聞いたことがあると思いますが、それが何であるか、またはコマンドラインを使用して(using the command line)Linuxサーバーで構成する方法を誰もが知っていますか?

最初に基本的な用語を定義するのに役立ちます。少なくとも、理解を深めるためのフレームワークを開発することができます。TCP/IPも例外ではありません。 

用語に関するこのセクションは、完全なリストではありません。Linuxでネットワーキングと(Linux)TCP/IPファイルを構成する方法を理解するための旅を始めるための基礎を提供します。 

The *Nix World

*nixが何を意味するのか疑問に思ったことはありますか?UnixとLinuxは(Unix and Linux are related)どのように関連していますか(それぞれのさまざまなバージョンのすべては言うまでもありません)?

*nixは、ワイルドカード(アスタリスク)を使用して Linuxおよび/またはUnix (または任意のディストリビューション)を参照する方法です。

* Nixは1960年代後半に開発されました。AT&Tベル研究所(T Bell Labs)はほぼ同時にUnixを開発しました。さまざまな反復と開発を通じて、Linuxも誕生しました。

これらの並行した革新の結果、コマンドラインを介して1つのサーバーにインストールを実行する方法を学ぶと、さまざまなUnixまたはLinuxサーバー上の他の多くのタスクと互換性があると思われるスキルを習得できます。 

マニュアルページ–あなたの指先での情報(Man Pages – Information at Your Fingertips)

Googleと同じように、Linuxには、ユーザーが必要なリソースを見つけることができる独自の検索および調査ツールのセットがあります。これらのリソースは、「マニュアルページ」として知られています。Linuxサーバー(またはLinuxベースのオペレーティングシステム)にログインすると、コマンドラインアプリケーションを開いて、インタラクティブなドキュメントファイルに検索語を入力するなど、調査したい内容を入力できます。

Linuxユーティリティ、ツール、デーモン、スクリプト(daemon, script)など、調査したいトピックを選択した場合は、「man」と入力してから単語を入力することで検索できます。これを行う方法については、この記事の後半で学習します。

マニュアルページは使いやすいです。いくつかの単語を入力し始めるだけで、 (Just)LinuxOSが情報を返し始めます。特定のトピックのマニュアルページがない場合、Linuxはそれを教えてくれます。

ほとんどの場合、マニュアルページは、それらが表示されるソフトウェアバージョンに対してかなり正確です。たとえば、10年前のLinuxサーバーにログインしている場合、マニュアルページにはそのバージョン(および年齢)に関連する情報が表示されます。(Linux)

マニュアルページは使いやすく正確ですが、いくつか注意点があります。これらの警告を画像で説明しましょう。 

下の画像では、 ARP(ARP)のマニュアルページは、ARPが廃止され(「メモ」セクションの下)、代わりにipneighを検索する必要があることを示しています。(ip neigh)その表記法では、「man ip neigh」と入力して、交換用のツール/プロトコルに関する情報にアクセスすることをお勧めします。 

ただし、「man ip neigh」と入力しても、「ipneigh」のマニュアルページは検索されません。代わりに、2つのマニュアルページを検索します。1つは「ip」用で、もう1つは「neigh」用です。 

「manipneigh」と入力するとmanページが表示されるのは事実ですが、細心の注意を払っていない限り、実際には探していたものではないことを見逃す可能性があります。 

ダッシュを追加することもできます(置換ツールを参照するときにmanページに表示されるものではありませんが)…したがって、ダッシュを追加して「man ip-neigh」と入力すると、これも正常に機能しますが、正しくありません。また。

「 manip-neighbour 」と入力してみてください(英国式のつづりに注意してください)。その特定のフレーズを入力すると、ARPのマニュアルページを置き換える(またはARPプロトコルを置き換える)ための正しいマニュアルページが表示されます。要点は次のとおりです。必要なものが見つからない場合は、目的のマニュアルページが表示されるまでさまざまな組み合わせを使用してみてください。

例として、nslookupツールのマニュアルページを検索してみてください。これを行うには、「mannslookup」と入力します。これを行うと、以下の画像/スクリーンショットのようなマニュアルページが表示されます。nslookupツールについて知りたいことをすべて学びます。

画面にmanページが表示されたら、下にスクロールして、読み取り、適用、テスト、さらにはmanページを閉じることができます(文字「q」を入力してmanページを自動的に閉じることにより)。

存在しないマニュアルページをリクエストすると、Linuxは、そのマニュアルページのエントリがないというフィードバックを提供し、別のマニュアルページを試してみます。

IPv4およびIPv6(IPv4 and IPv6)

IPv4IPv6はどちらも技術的には同じですが、私たち人間には同じようには見えません。これらは、ローカルエリアネットワーク( LAN(LAN) )上のマシンまたはデバイスを識別する手段です。それらは、 LAN(LAN)内のデバイスを識別する方法でプライベートです。

IPv4は、ドット/ピリオドで区切られた数字を使用します。私たちのほとんどは、 IPv4(IPv4)形式を使用してプライベートネットワークに接続されているコンピューターに表示されるIPアドレスの種類に精通しています。

ネットワーク上のコンピューターにもIPv6アドレスがありますが、見た目は異なります。IPv6は、コロン(:)で区切られた英数字で構成されます。 

では、 IPv4(IPv4)IPv6の違いは何ですか?ネットワーク名のように考えてください。(Think)1つは名のようなもので、もう1つは名前です。両方の名前は同じ人(またはこの場合はコンピューター)を指しています。通常、姓と名が異なるのと同じように、IPv4の「(IPv4 “)名前」は、両方が同じマシンを指している場合でも、 IPv6の「名前」とは異なります。(IPv6 “)

Carla Schroederは、IPv4とIPv6に関する読みやすく便利な記事(useful article about IPv4 and IPv6)を書いています。

Linuxサーバー(およびsuとsudo)でのルートアクセス(Root Access on a Linux Server (and su and sudo))

完了する必要のあるタスクの多くには、rootアクセス(別名Administratorまたはスーパーユーザー)が必要です。これは、これらのユーティリティやアプリの多くが機密性が高いため、セキュリティ上の理由から制限されているためです。 

rootとしてログインするか、スーパーユーザーアクセス(su)をトリガーする別の解決策は、コマンドの前に「sudo」を付けて、その特定のコマンドをスーパーユーザー/ rootとして実行する必要があるが、後続のコマンドは実行しないことをLinuxマシンに通知することです( 「sudo」ディレクティブが前に付けられます)。 

「sudo」が使用され、コマンドの前に付加されている場合、LinuxはスーパーユーザーのIDと権限を認証するためにsuパスワードを要求します。

ネットワーキングプロトコル(Networking Protocols)

Linuxについて議論するときは、考慮すべきさまざまなプロトコルがあります。この記事の主要な2つのプロトコルは、TCPとIPです。

伝送制御プロトコル(TCP)(Transmission Control Protocol (TCP))

伝送制御プロトコル( (Transmission Control Protocol)TCPと呼ばれることが多い)は、名前が示すように、パケットの伝送に使用されるプロトコルです。

トラフィック制御(Traffic Control)(tc) と呼ばれるLinuxツールを含むさまざまなツールの説明については、以下を参照してください。

TCPは、パケットがある場所から別の場所に移動する方法をLinuxオペレーティングシステムに指示します。また、ネットワークトラフィックを制御し、情報のパケット(ある場所から別の場所に移動する データのフォルダーなど)の送信を指示します。(data)

これが、このプロトコルが伝送制御プロトコル(Transmission Control Protocol)(TCP) と呼ばれる理由です  。

インターネットプロトコル(IP)(Internet Protocol (IP))

インターネットプロトコル(Internet Protocol)は、一般的にその頭字語、IPによって参照されます。

IPの場合、パケットを送信するためのより広い領域(インターネット)があります。(Internet)それは、インターネットと呼ばれる、より広く、より長く、より移動の多い超高速道路を持っているようなものです。TCPはネットワークを介したパケットの移動を制御しますが、IPはインターネットを介したパケットの移動を制御します。

ICMPプロトコル(ICMP Protocol)

ICMPは、(ICMP)インターネット制御メッセージングプロトコル(Internet Control Messaging Protocol)の略です。これはほとんどのLinuxディストリビュー(Linux)ションで使用できるプロトコルですが、すべてのLinuxディストリビューション(Linux)で使用できるとは限りません。これは、現在のCentosインストールにmanページがないことによって証明されました。

一見、この特定のプロトコルはそれほど重要ではないように見えるかもしれませんが、実際にはそうです。ICMPは、パケットが宛先に適切に到達しない場合にエラーメッセージを提供する責任があります。ICMPは、送信されている情報のパケットの配信(または受信)に関するステータス更新を受信するために不可欠です。

ユーザーダイアグラムプロトコル(UDP)(User Diagram Protocol (UDP))

User Diagram ProtocolUDP)は、Transmission Control ProtocolTCP)と同様に、あるポイントから別のポイントに情報のパケットを送信するためのプロトコルです。TCPの場合、プロセス/送信の一部として、パケットが正常に配信されたことを確認するため、 UDPよりも信頼性が高くなります。

UDPの場合、検証プロセスがないため、パケットが正常に送信されたか、エラーなしで受信されたかがわかりません。このように、それは利用するのに十分簡単なプロトコルですが、検証可能ではなく、認証することもできません。 

Linux構成(Linux Configuration)

Linuxオペレーティングシステム で利用可能ないくつかの構成ファイルがあります。

たとえば、LinuxマシンでApacheサーバーを実行している場合、 Apache構成ファイルは重要です。これらのファイルは、Apache Webサーバーに、ドメイン、より具体的には、そのサーバーでホストされているサイトで何が起こっているかを知らせます。

構成ファイルにはhttpd.confというラベルが付いている場合があります。時々それはapache.confとしてラベル付けされます。または、完全に異なるラベル/名前である可能性があります。構成ファイルは、あるサーバーの1つの場所にある場合と、別のサーバーのまったく別の場所にある場合があります。

幸い、特定の構成ファイルを見つけるのに役立つコマンドがあります。たとえば、次のように入力して、「httpd.conf」構成ファイルが存在する場合はそれを見つけることができます。

find / -name “httpd.conf”

最初の単語「find」は、使用しているコマンド/ユーティリティ(この場合は「find」ユーティリティ)をLinuxに知らせます。(Linux)コマンドラインの2番目のコンポーネントは「/」です。これにより、検索ユーティリティは、サーバーのルートレベルから開始するパスを検索する必要があることを認識できます。

より具体的な場所を探している場合は、「/ etc」のようなものを使用して、 Linuxにetcディレクトリで開始し、そのパスをたどることを通知できます。Linuxは冗長な場所を検索する必要がないため、特定のパス/場所を提供することで、プロセスをスピードアップできる可能性があります。

-name」オプションは、ファイルまたはディレクトリの名前で探しているものをLinuxに知らせます。(Linux)名前を引用符で囲むと便利です。また、検索時にワイルドカードとしてアスタリスク(*)を使用することもできます。

「/etc」ディレクトリ/パス内の構成ファイルとディレクトリの例は次のとおりです。 

  • pam.d –認証モジュールに関連するユーティリティを含むディレクトリ。例として、「su」と「sudo」があります。
  • sysconfig –電源管理、マウスなどのコンピューターの機能を含むディレクトリ。 
  • resolv.conf – Linuxマシンがその容量で使用されている場合に、ドメインネームサーバーの機能を支援するファイル。
  • サービス–このファイルには、 (services)Linuxマシンで使用可能な接続(つまり、開いているポート)が含まれています。

ファイル、パス、またはユーティリティが廃止または廃止されているかどうか疑問に思っている場合は、マニュアルページを使用して確認してください。これは、最新のものと変更されたものを把握するのに役立つ方法です。

Linuxファイルシステムを理解する(Understanding the Linux File System) 

多くのLinuxディストリビューションでは、構成ファイルは「 (Linux distributions)etc/sysconfig」パスの下のnetwork-scriptsディレクトリにあります。それらがそこにない場合は、同様の場所/パスがある可能性があります。この特定のケースに存在するファイルは、以下のスクリーンショットに示されています。

以下のスクリーンショットでわかるように、2つの構成ファイルがあります。それらのそれぞれは、それぞれのインターフェース(すなわち、ifcfg-eth0)に従ってラベル付けされます。

構成ファイルの前には、 ifconfigコマンド(ifconfig command)を置き換える「 ifcfg 」が付いています(インターフェイスファイル名の一部になります)。とは言うものの、ifcfgはIPv6(IPv6)と互換性がないため、現在は多少置き換えられています。

2つのインターフェイス参照(ifcfg-eth0ifcfg-lo)は、特定のタイプのインターフェイスを参照します。Linux開発者はこの分野で役に立ち、ファイル名の形で定義と方向性を提供しました。「 eth0 」で終わるインターフェースの場合、「イーサネット」を介して接続されているか、イーサネット機能を備えているインターフェースです。

「 eth 」の文字を使用すると、正しい方向を示します。「eth」に続く番号は、デバイスの番号を示します。したがって、次のイーサネットデバイスは「ifcfg-eth1」などのようになります。

「lo」で終わるファイル名は、「ループバック」インターフェースを指します。「 localhost」とも呼ばれます。これは、技術的には実際のネットワーク接続ではないネットワーク接続です。これにより、プロセスはネットワークを介して通信せずにデバイス上で通信できるようになります。この特定のインターフェースについて考えるときは、「仮想」と考えてください。

すべてのLinuxディストリビュー(Linux)ションはループバック(またはローカルホスト)を持つことができ、通常はデフォルトでループバック用に設定されています。「-lo」で終わるインターフェースを使用します。ローカルホストのIPアドレスは通常127.0.0.1です。多くの場合、ループバック仮想インターフェイスを使用して、接続をテストし、他の潜在的なネットワークの問題を除外できます。

ファイル(The Files)

構成ファイルを編集する(およびそれらを表示する)には、さまざまな方法があります。1つの方法は、コマンド「 vi」の後にファイル名を付けてアクセスする「 viエディター」を使用することです。(vi editor)この場合、「vi ifcfg-eth0」(引用符なし)と入力すると、その特定のインターフェース(eth0)のネットワーク情報を表示できます。

ただし、従来の方法で実行し、ifcfgのマニュアルページにあるネットワーク構成の手順に従うことをお勧めします。

これは、技術者でない人にとっても簡単かもしれません。viエディターを使用するには、細部に少し注意を払う必要があるため、細部を重視する場合(または、既にプログラマーまたはシステム管理者である場合)、Linux構成ファイルを操作する場合はviエディターが最適なソリューションになる可能性があります。

マニュアルページにアクセスする際に、ifconfigスクリプトを置き換えたifcfgスクリプトに関する情報を確認できます(上のマニュアルページのスクリーンショットに示されているように)。また、 Linuxディストリビューション(Linux)のインターフェースのリストを見ると、ifupコマンドとifdownコマンドに気づきます。それらも、manページで確認できます。

マニュアルページのスクリーンショットを下の画像に示します。マニュアルページに表示されているように、LinuxでのTCP / IPファイルのセットアップと構成で参照(および変更)できる追加のLinuxTCP/IPファイル(およびそれらのファイルに到達するためのパス)があります(Linux)

viエディターなどのコマンドラインテキストエディターを使用して構成ファイルを表示すると、いくつかのオプションが定義されていることに気付くでしょう。たとえば、ネットワークインターフェイスを見ると、すべて大文字の単語、等号(=)、別の単語が続く場合があります。 

たとえば、「ONBOOT」というディレクティブがあり(ONBOOT)、構成オプションの例として「ONBOOT=yes」と表示されている場合があります。他にもいくつかの構成ポイントとオプションがあります。たとえば、もう1つはNETMASKです。 

構成ディレクティブ「NETWORKING」が表示された場合は、その後に「yes」が続くはずです。その後に「no」が続く場合は、ネットワークインターフェイスがネットワーク用にアクティブ化されていないことを示しているため、問題が発生している可能性があります。 

ここに、今説明した状況を修正するための段階的なプロセスがあります。

  1. 安全のために、構成ファイルのコピーを作成してください。これを行うにはいくつかの方法があります。最も簡単な方法の1つは、コマンドウィンドウを使用することです。

    次のように入力します。cpifcfg-eth0ifcfg-eth0_20200101(cp ifcfg-eth0 ifcfg-eth0_20200101)

    次に、次の行に次のように入力しますmv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101

    これにより、作成したファイルコピーがバックアップに使用しているディレクトリに移動します。
  2. 構成ファイルのバックアップを作成したので、次はその構成ファイルに変更を加えます。viエディターを使用している場合は、次のように入力します

    。vi ifcfg-eth0

    これを実行すると、ファイルがターミナル/コマンドアプリケーションで開きます(トリガーしたときにマニュアルページが開くのと同じ方法です)。

    構成ファイルを開いたら、「NETWORKING=no」を含む行を探し、その行を削除するか、「NETWORKING=yes」に変更します。これは「cwviエディタの」ディレクティブ。スラッシュを入力すると、viエディターに何かを検索していることを伝えることになります。この場合、「NETWORKING」を検索していることをエディターに通知し、検索されたら(マウスをその場所に向けて)、右矢印キーを使用して「no」という単語に移動できます。

    「no」という単語が表示されたら、「n」で停止して「cw」と入力すると、「no」を「yes」に変更できます。「cw」は単語の変更を表し、Linuxでは単語全体をある単語(「no」)から別の単語(「yes」)に変更できます。1文字だけを変更したい場合は、「r」を使用して1文字または文字を置き換えることができます。

    スクリーンショットは、このプロセスを以下に示しています。
     
  3. 構成ファイルを保存した後(つまり、escと入力してINSERTモードを終了し、次にダブルZを入力してファイルを保存します)、サービスまたはコンピューターを再起動します。これは、いくつかの異なる方法で行うことができます。コンピュータを再起動する1つの方法は、次のコマンドラインを入力することです

    。shutdown-r now

    shutdownコマンドは、Linuxマシンにシャットダウンするように指示します。-rオプションは、それが単なるシャットダウンではなく、再起動して今すぐ実行することをコマンドに指示します。

    ヒント:(Tip:)コンピューターまたはサーバーがいつ再起動を完了したかを知りたい場合は、「ping」と入力してから、コンピューター/サーバーのパブリックIPアドレス(またはLinuxサーバーでホストされているサイトのドメイン名)を入力します。

    pingコマンドを使用すると、サーバーが「ping可能」ではないことがわかります(これは再起動中に発生します)。サーバーが正常に再起動すると、pingは肯定応答で応答し、再起動が成功したことを示します。

以下は、上記のリストの手順を説明するのに役立ついくつかの画像です。

ステップ1:

ステップ2:

ヒント:(Tip:)サーバーの世界では、特異なものはないことに注意してください。たとえば、特定のインターフェイス(この場合はeth0)の構成を変更できますが、それはネットワーク上の1つのインターフェイスであり、別のサーバーの影響を受ける(または影響を受ける)可能性があります。

したがって、上記の例では、サーバーを再起動することにより、ネットワークデバイスも再起動します。これはこのインターフェイスの唯一のオプションではありませんが、このインターフェイスは再起動するコマンドの影響を受けます。 

/etc/hosts File(s)

/etc/hostsファイルは存在する場合と存在しない場合があります。存在する場合は、構成で使用される場合と使用されない場合があります。たとえば、ファイルを直接管理するのではなく、ホスト構成を処理する別のシステムがある場合があります。また、hostsファイル自体も異なります。たとえば、次の画像に示すように、 IPv4IPv6では(IPv6)構成の処理が異なります。

Configuration Files; Locations/Paths; Terms; and More

その他の役立つファイル名とファイルの場所は次のとおりです。

  • / etc / sysconfig / network-scripts /(構成ファイルのパス)
  • / etc / sysconfig / network-scripts / ifcfg-eth0(構成ファイル)
  • / etc / hosts(設定ファイル)
  • /etc/resolv.conf(ネームサーバー情報を含む構成ファイル)

多くの場合、システムまたはサーバーソフトウェアは構成ファイルを自動的に作成します。また、DHCPが使用されている場合、静的IPアドレスは使用されないため、オンザフライで計算されるネットワーク構成の他の側面があります。

次のコマンドライン(CL)コマンドは、ほとんどのLinuxディストリビューションで使用されていました(または使用されています)。それらが廃止または廃止された場合、置換コマンドがリストされます。

  • routeobsolete / deprecated):ルートの表示と編集に使用されました。iprouteに置き換えられました。
  • hostname:マシンのホスト名を表示または操作および編集するために使用されます。 
  • netstat:ネットワーク接続、ルーティングテーブル、インターフェイス統計、マルチキャストメンバーシップなどを表示します。
  • arp :(obsolete / deprecatedIPv4情報を表示するために使用されていました。具体的には、ネットワークネイバーキャッシュ。IPv6はネットワークアドレスになり、ピリオドで区切られた4つの数字のIPv4コレクションに取って代わりました。(IPv4)これらの変更に照らして、この廃止されたコマンドはipneighに置き換えられました。
  • ip:IPは「インターネットプロトコル」と究極のWAN(ワイドエリアネットワーク)を表すだけでなく、システム管理者またはコンピュータユーザーがTCP/IPパラメータを表示したり次のように設定したりできるユーティリティでもあります。必要です。
  • tc :これは「トラフィック制御」の略で、 (tc)Linuxマシン でのインバウンドおよびアウトバウンドトラフィックの管理を支援するユーティリティです。

構成ツール:GUIと コマンドライン(CL)(Configuration Tools: GUI Vs. Command Line (CL))

TCP/IPを含むネットワーキングの構成を処理するためのグラフィカルユーザーインターフェイス(GUI)メカニズムを示しています。 

最初のイメージはAppleMacGUISystem Preferences > Networking)で、次の2つのイメージはWindowsオペレーティングシステム(Windows Operating System)のイメージです(バージョンによって異なります)。スクリーンショットでわかるように、 Microsoftのコントロールパネル(Microsoft Control Panel)ネットワーク接続(Network Connections)を介してアクセスします。

GUIとテキストエディタまたはコマンドライン(CL)の長所と短所(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

多くの人は、使いやすさ、視覚的な表現、全体的な単純さからグラフィカルユーザーインターフェイス(GUI)を好みますが、問題のトラブルシューティングと修正を行うには、構成ファイル(この場合はネットワーキングに関連する)を理解しておくと役立ちます。 

最初にGUI(GUI)を取得することもできますが、万が一の場合に備えて、十分な情報を得ることができます。また、必ずしもGUIを備えていない(またはまだ持っていない)オペレーティングシステムもあります。準備しておくと役に立ちます。

次のセクションでは、構成ファイルとそのア​​クセス方法、更新方法、およびファイルとユーティリティの管理について説明します。

Linuxコマンドライン(CL)ツール、ユーティリティ、スクリプト、およびデーモン(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Linuxディストリビュー(Linux)ションで利用できるツールはたくさんあります。繰り返し(Again)ますが、他のコマンドと同様に、これらのツールがさまざまなディストリビューションでどのように使用されるかには類似点(および相違点)があります。場合によっては、ツールを利用できますが、最初にインストールする必要があり、インストールプロセスはさまざまです。

コマンドラインツールは、シェル(shell)と呼ばれることが多く、初期にはターミナル(terminal)と呼ばれていました。他の用語もありますが、一般的には、ユーザーがウィンドウにコマンドを入力してオペレーティングシステムにアクセスできるようにするアプリケーションです。

いくつかの例を見てみましょう。1つ目はWindowsオペレーティングシステムのもので、 (Windows)Windowsユーザーにはなじみがあるように見えます。CMDと入力すると、ツールが開きます(下のスクリーンショットを参照)。 

2番目のスクリーンショットは、ほとんどのApple(Apple)コンピューターにプリインストールされているターミナル(Terminal)と呼ばれるアプリケーションのスクリーンショットです。

NSLookup(nslookup)

nslookupの場合、nsネームサーバー(nameserver)を表し、コマンドのルックアップ(lookup)部分は情報の「ルックアップ」です。したがって、このツールの名前が示しているのは、ネームサーバーを介して一般的に利用可能な情報を検索するということです。

NSLookupは便利なツールです。この場合、eBayに関する情報を検索するために使用しています。そのために、「nslookup ebay.com」と入力すると、下の画像に示されているものと同様の情報が表示されます。

コマンドはスクリーンショットの上部に表示されます(個人情報がぼやけた後)。次に、そのリクエスト(nslookup )からの出力が、サーバー(Server)(パブリックIPアドレス)、特定のIPアドレス(IP address)など の情報とともにその下に表示されます。

交通管制(tc)(Traffic Control (tc))

もう1つのツールは、「トラフィック制御」ツール(「tc」とも呼ばれます)です。これは、データパケットのスケジューリングと処理を可能にするツールです。 

このコマンドは、パケットがネットワーク上をどのように移動するかを示します。(how)その方法(how)の側面には、タイミング、速度、デバイスなどの質問への回答が含まれます。トラフィック制御(Traffic Control)(tc)の使用に関するコマンドライン(CL)表現は次のとおりです。

一部の人にとっては「ぎこちない」ように見えるかもしれませんが、コマンドラインの各単語は重要なことを表しています。リストは次のとおりです。

  • tc:これはツールであり、この場合は「トラフィック制御」(別名「tc」)です。これは、コマンドラインアプリケーション/ソフトウェアにどのLinuxツールを使用するかを指示します。
  • qdisc:この省略形は、キューイングの規律(queuing discipline)を表し、単純なスケジューラーを説明する別の方法です。
  • 追加(add):構成(はい、技術的にはファイル)を構築しているので、コントロールに追加(adding)していることをツールに伝えています。
  • dev eth0:「dev」は「デバイス」を指し、デバイスを定義しようとしていることをツールに通知します。この場合の「eth0」は、デバイスへの参照です。これは、デバイスラベルのグラフィカルユーザーインターフェイス( GUI )に表示されるものと似ていることに気付くでしょう。
  • ルート(root):これは、ルートレベルまたは出力からのアウトバウンドトラフィックを変更していることをツールに通知します。
  • netem:この単語は、「ネットワークエミュレータ」というフレーズを表します。ハードウェアネットワークではないかもしれませんが、同じものをエミュレートしています。これは、 Parallelsソフトウェアが(Parallels)Appleコンピュータ用のWindowsソフトウェアをエミュレートする方法に似ています。確かに、これはまったく異なるソフトウェアですが、netemがネットワークをエミュレートしているのと同じようにエミュレーションソフトウェアです。この場合、netemはLAN(ローカルエリア ネットワーク)ではなく、 WAN(ワイドエリアネットワーク)を表します。
  • delay:この単語は、トランザクションの「遅延」コンポーネントを変更していることをtcツールに通知します。
  • 400ms:遅延に影響していることはすでにツールに伝えましたが、遅延に影響している量を定義する必要があります。この場合、400ミリ秒です。 

ネットワーク管理者(Network Manager)

Network Managerの目的は、ネットワーク構成を簡素化および自動化することです。DHCPユーザーの場合、ネットワークマネージャー(Network Manager)はIPアドレスを取得し、デフォルトルートを置き換え、ネームサーバーを自動的に交換できます。

ネットワークマネージャ(Manager)を使用するためのnmtuiツールは、すべてではありませんが、ほとんどのLinuxディストリビュー(Linux)ションで利用できます。また、一部のツールは「利用可能」であるがまだ利用できないことに注意してください。つまり、インストールする必要があり、必ずしも問題のLinuxディストリビュー(Linux)ションにプリインストールされているとは限らないツールやデーモンがいくつかあります。

その他のネットワーキングトピック(Other Networking Topics)

TCP/IPLinuxディストリビューション(Linux)を扱う場合に特に魅力的な多くの側面があります。Linux(Don)インストール(Linux)内で手動ページ(別名manページ)を利用できることを忘れないでください。したがって、これはすべきでないことの一種の無関係なリストのように見えるかもしれませんが、いつでもマニュアルページを使用して何をすべきかを理解することができます。

ルーターとしてのLinux(Linux as the Router)

最近では、ほとんどの人がルーティングのタスク専用のハードウェア(つまりルーター)を使用してネットワークルートタスクを管理しています(manage the network route task)

多くの場合、それはルーターが家庭やオフィスのインターネットパッケージ/契約を扱うパッケージの一部であるためです。顧客は通常、月額(または年額)のレンタル/リース料金を支払うか、ルーターを購入する必要があります。 

どのように処理されても、 Linux(Linux)がルーターとして機能することは可能ですが、ルーターとして機能する必要はほとんどありません。上記のシナリオは、Linuxのほぼ疑似的な非推奨の状況を生み出しますが、それはLinux(Linux)(Linux)完全にゲームから外れていることを意味するわけではありません。必要に応じて、 Linux(Linux)サーバーをハードウェア(および後続のソフトウェア)ルーターとして設定することができます。

IPルート(以前の「ルート」)(IP Route (Formerly “Route”))

次の画像は、「ルート」のマニュアルページとそのツールで可能なディレクティブのスクリーンショットを示しています。 

SNORT –侵入者検知システム(SNORT – An Intruder Detection System)

Snort Softwareは、Martin Roeschによって開発され、CiscoSystemsによって買収され(Martin Roesch and since acquired by Cisco Systems)たオープンソースの侵入検知システム(Intrusion Detection System)IDS )です。TCP/IP層を利用するルールに基づいて動作します。これらのルールを定義すると、ネットワークを保護するための侵入を識別できます。

How to Set Up Linux > TCP/IP Settings for Linux

次のミニチュートリアルは、 Linux(Linux)の世界 で遭遇する可能性のあるいくつかの一般的なタスクに役立ちます。

時間は急速に変化することを覚えておいてください。そのため、マニュアルページとGoogleでの検索を使用して、次の手順を確認し、仕事をより良くする可能性のある他のツールがないことを確認すると便利です。この記事の執筆時点では、そうではありません。

チュートリアル01:Linuxマシンへの静的IPアドレスの割り当て(Tutorial 01: Assigning a Static IP Address to a Linux Machine)

最初に尋ねる質問は、コンピューター/サーバーに静的IPアドレス(変更されないもの)または変更可能なIPアドレス(DHCP –動的ホスト構成プロトコル(DHCP – Dynamic Host Configuration Protocol)など)が必要かどうかです。これが(サーバーではなく)パーソナルコンピュータである場合、インターネットへのアクセスにDHCPを使用している可能性があります。

つまり、静的IPアドレスをコンピューターに割り当てることをいじくり回す必要はありません。インターネットサービスプロバイダー(ISP)および提供/リースされているハードウェアは、インターネットに接続できるように、オンザフライでIPアドレスを自動的に計算します。つまり、静的IPアドレスが必要ない場合は、サーバー以外のコンピューターでは動的に変更するIPアドレスで十分です。

サーバーがあり、他の人がサーバーにアクセスできるようにする必要がある場合(つまり、自宅の外、WAN/internet、非LAN)、使用しているドメインがサーバーにマッピングされるように、静的IPアドレスが必要になります。ドメインに割り当てられたホスティングネームサーバーを介して、または静的IPアドレスを介して直接アクセスできます。

誰もあなたの家の外であなたのコンピュータやサーバーにアクセスする必要がない場合、誰も静的IPアドレスを使用していないので、IPアドレスの変更(動的;非静的)は問題ありません。

注:一部の人々は、パブリックアクセスにDHCP IPアドレスを使用しています(はい、サーバーとしても)が、

  1. そうするためには非常に技術的な知識のある人が必要なので、それほど一般的ではありません。
  2. 静的IPアドレスよりも(その性質は絶えず変化するため)維持するのははるかに困難です。

静的IPアドレスが必要な場合は、先に進んでここの手順に従ってください。そうでない場合は、このセクションをスキップできます。

ご覧のとおり、コマンド(上に表示)には、行の先頭に「sudo」が含まれています。「su」コマンド(スーパーユーザー)を使用してスーパーユーザーとしてログインすることは可能ですが、「sudo」を使用すると、その1つのコマンドのみがスーパーユーザーとして実行されます。

もう1つの方法であるスーパーユーザーとしてログインすると、すべてのタスクをスーパーユーザーとして完了できるため、必要な処理をより簡単に実行できます。

ただし、それに伴ってセキュリティリスクが発生します。そのため、sudoを使用してコマンドを開始し、アプリが(必要に応じて)パスワードを要求して、そのタスク/コマンドのスーパーユーザーとしてコマンドを完了することを許可する方が安全です。

選択はあなた次第であり、より簡単な方法に基づく必要があります。以下のスクリーンショットで表されているファイルには、次のコマンドを使用してアクセスします。

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

そのコマンドを使用する前に、ネットワークデバイス番号が検証され(eth0)、それが正しいことを確認します。ご存知のように、Linux構成はインターフェースのファイル内で管理されるため、構成ファイルを編集する前に、そのファイルからインターフェース番号を確認することが不可欠です。

注意すべき構成ファイルのもう1つの側面は、「静的」という言葉の使用です。静的IPアドレスを追加しているので、そのことを構成ファイルに通知することが重要です。 

メモは、説明のために以下のスクリーンショットに追加されましたが、構成ファイルに含めるべきではありません。また、一部のLinuxディストリビュー(Linux)ションでは、引用符が必要です。この特定の構成ファイルでは、自動作成された構成ファイルに引用符が存在しないため、傾向が継続され、引用符は追加されませんでした。

次のスクリーンショットは、メモと余分なスペースを削除して、ファイルが実際にどのように表示されるかを示しています。

編集する次の(そして最後の)構成ファイルには、次のように入力してアクセスします。

sudo vi /etc/resolv.conf

そのファイル内で、ネームサーバーを追加(または変更)できます。これらのネームサーバーは、変更されたばかりの他の構成ファイルと一致する必要があります。この場合、/etc/sysconfig/network-scripts/ifcfg-eth0(上のスクリーンショット)にあります。

使用される言い回しは「nameserver」です。したがって、デバイス構成ファイルにDNS1=8.8.8.8が表示されている場合、resolv.confファイルにはnameserver8.8.8.8が表示され(nameserver 8.8.8.8)ます。

DNS2=4.4.4.4に対応するものは、resolv.confファイルにnameserver4.4.4.4として(nameserver 4.4.4.4 )表示されます。

大まかに言えば、上記の手順はRed Hat Linuxディストリビュー(Red Hat Linux)ションで機能しますが、テクノロジーの変更が発生した場合に、将来的に機能するという保証はありません。これが、構成をテストおよび検証する必要がある理由です。

構成が完了したら、上記の推奨される方法でネットワークインターフェイスを再起動します。これにより、変更が適用されます。静的IPアドレスをテストする場合にも役立ちます。これを行うには、別のデバイス(できれば別のネットワーク上)からそのパブリック静的IPアドレスに接続しようとします。

また、友人や同僚に電話して、別の地理的な場所(および別のネットワーク)から静的IPアドレスへの接続を試行させることもできます。

チュートリアル02:ネットワークIPエイリアシング(Tutorial 02: Network IP Aliasing)

1つのネットワークインターフェイスカード( NIC(NIC) )に複数のIPアドレスを割り当てることができます。これは、ネットワークIPエイリアス(Network IP Aliasing)と呼ばれます。これは、実際のIPが1つだけであり、追加のIPアドレスが同じカードのエイリアスであるためです。IPアドレスを割り当てるには、チュートリアル01で説明されているように、お好みのIPアドレスの割り当て方法を使用します。

静的である必要はありませんが、ネットワークIPエイリアス(Network IP Aliasing)を使用して複数のIPアドレスを割り当てるには、静的IPを使用してIPアドレスを割り当てる必要があります。

チュートリアル03:Linuxマシンのホスト名を変更する(Tutorial 03: Change Host Name of the Linux Machine)

次の手順を使用して、好みのエディターを使用してLinuxマシンのホスト名を変更します。

1.コマンドラインアプリで次のように入力して、ホスト名構成ファイルを変更します。

   sudo vi /etc/hostname

その構成ファイルに古いホスト名が表示されている場合は、それを新しいホスト名に置き換えます。

2.コマンドラインアプリで次のように入力して、ホスト構成ファイルを変更します。

   sudo vi /etc/hosts

そのファイルに古いホスト名が表示されている場合は、上記の手順1でホスト名(hostname)構成ファイルを使用した場合と同じ方法で、新しく選択/指定されたホスト名に置き換えます。

3.サーバーまたはLinuxコンピューターを再起動します。これを行う1つの方法(Linuxディストリビューションによって異なります)は、コマンドラインアプリで次のように入力することです。

   sudo shutdown –r now

この再起動は、変更を有効にするために必要です。

チュートリアル04:NICを有効または無効にする(Tutorial 04: Enable and Disable Your NIC)

Linuxのコマンドラインを介して実行できるより魅力的なことの1つは、イーサネット(Ethernet)接続を有効または無効にすることです。

これを行うには、次の2つから適切なコマンドを入力します。

   sudo ip link setup
   sudo ip link setdown

古いバージョンのLinuxでは(Linux)、ifconfigupまたはifconfigdownを実行できますが、これらのコマンドは、新しいLinuxディストリビュー(Linux)ション内で非推奨または廃止される可能性があります。その場合は、新しいipコマンドをお勧めします。

チュートリアル05:ネットワーク転送を有効にする(Tutorial 05: Enable Network Forwarding)

Linuxオペレーティングシステムは、さまざまなネットワークに接続でき、ルーターとして機能できます(Linux)あなたがする必要があるのはあなたがIPアドレスを転送することを可能にするuncomment the net.ipv4.ip_fporward=1 line

必要な設定ファイルは通常/etc/sysctl.confに保存されています:

設定方法の例については、「How to enable IP forwarding on Linux (IPv4 / IPv6)」を参照してください。

(静的IPアドレスの代わりに) DHCPを使用して(DHCP)Linuxサーバーをセットアップしている場合は、ネットワーク転送の形式を選択できます。これは一般的ではありませんが、実行可能であり、誰かがそうする傾向がある場合を表すため、ここで参照されます。

チュートリアル06:シェルを介したリモートコマンド(Tutorial 06: Remote Commands Via Shell)

Linuxサーバーにアクセスする必要があり、そのサーバーが地理的に同じ場所に配置されていない場合は、リモートコマンドを使用してそのリモートLinuxサーバーにアクセスする必要があります。 

プログラマーやシステム管理者にとって、サーバーへの「リモートイン」は通常のことです。 

これを行う最も一般的な方法の1つは、「ssh」コマンドを使用して、安全でない接続を介してアクセスしている場合でも 、 Linuxサーバーに安全にアクセスすることをコマンドラインアプリに通知することです。(Linux)

「ssh」コマンドの使用に加えて、接続している場所と方法に関する情報を提供する必要があります(利用可能な他のオプションの中でも)。

Linuxサーバーへのアクセスにはドメイン名を使用することも、パブリック静的IPアドレスを使用することもできます。名前またはIPアドレスは、sshコマンドがアクセスしているものとその場所を示します。

他のオプションには、リモートサーバーへのログインに使用されるユーザー名が含まれる場合があります。そのオプションが定義されていない場合、要求される可能性がありますが、sshコマンドと同時に定義するオプションでもあります。

例えば:

   ssh username myserver.com

パスワードをコマンドに設定することもできますが、セキュリティ上の理由から、リモートサーバーとの接続時にパスワードを入力することをお勧めします。 

なんで?コマンドにパスワードをプレーンテキストで入力すると、同じコンピューターを使用している次のユーザーがパスワードにアクセスでき、パスワードにアクセスできるようになります。

追加のセキュリティ上の理由から、特定のポートを介してLinuxサーバーにアクセスすることをお勧めします。使用できるポートを指定することで、他のポートをブロックし、ハッカーの試みやDOS(サービス拒否)攻撃を防ぐことができます。 

sshにはさまざまな構成ポイントがあります。これらのいくつかはshellhacks.comにリストされています。

チュートリアル07:ネットワーク監視ツール(Tutorial 07: Network Monitoring Tools)

ネットワークを管理するための重要なコンポーネントの1つは、すべてが機能し、機能し続けることを確認することです。これは、ネットワーク監視を通じて行うことができます。ネットワーク監視に対応するツールはさまざまですが、最終的には同様の目標と目的を達成します。  

そのようなネットワーク監視ツールの1つがCactiです。Cacti  は、オープンソースのネットワーク監視ツールです。Cactiはネットワークを監視し、ログに記録された内容をグラフィカルに表現します。これは、ユーザー(特に初心者)が問題が発生する可能性のある場所を特定するのに役立ちます。

フロントエンドは多くのユーザーに対応でき、ホスティングサービスで使用されて、リアルタイムの帯域幅情報やその他のデータを次のグラフに表示することがあります。

データは、任意の外部スクリプトまたはコマンドを介してCactiにフィードできます。(Cacti)Cactiは、cronジョブを介してデータをまとめ、MySQLデータベースに入力してから、フロントエンドユーザーグラフとして表示します。

データ収集を処理するために、ユーザーが「入力」する必要のあるデータとともに、外部スクリプト/コマンドへのパスをサボテンにフィードできます。次に、 Cacti(Cacti)はこのデータをcronジョブに収集し、MySQLデータベースにデータを入力します。

Cactiは、ネットワークの使用状況を監視し、消費者にわかりやすいビジュアルを提供したいネットワーク管理者にとって便利なツールです。Cactiは、 (Cacti)cacti.netから無料でダウンロードできます。このWebサイトには、ネットワーク監視ツールをインストールおよび構成するためのドキュメントが含まれています。

試すことができるサボテン(Cacti)の代替品には、 Solarwinds NPMPRTGNagiosなどがあります。Solarwindsは、SNMPだけでなく、ICMP/PingWMINetflowSflowJflowIPFIXなどもサポートします。事前に作成されたテンプレート、グラフ、およびアラートは、ネットワークの監視をすばやく開始するのに役立ちます。

PRTGは最大100個のセンサーを無料で提供します。Solarwindsと同様の機能に加えて、スマートフォン(Smartphones)、タブレット、iPad向けの柔軟なアラートとアプリケーションを備えています。

Nagiosには、 (Nagios)Cactiにあるすべてのツールがありますが、もう少し構成が必要です。選択できるプラグインはたくさんあります。これは、最も古いネットワーク管理および監視ツールの1つとして確固たる評判を持っています。ただし、構成ファイルの保守には手を汚す必要があります。



About the author

私は長年 Android とオフィス ソフトウェアを扱ってきたコンピューター技術者です。私はまた、過去 5 年ほどの間、人々に Mac の使い方を教えてきました。あなたのコンピュータの問題を解決する方法を知っている人を探しているなら、おそらく私がお手伝いできるでしょう!



Related posts