ルーティング/ログ管理作成者:Zhang Yanfeng、ソースの仮名を示してください:clouds dreams
51CTOコースアドレス:https://edu.51cto.com/lecturer/12750547.html
目次:
1つは、静的ルーティングと動的ルーティングです。
2、Linuxルーティング操作
3、実際の戦闘
1.ネットワークポート
2.一般的なサービス管理操作
4、ログ
1.ログの重要性
2.一般的なシステムログ
3.rsyslogログ管理
3.1、ログタイプ
3.2、ログの優先度
3.3、カスタムログ
4.ログローテーションログローテーション
4.1、ログローテーション
4.2。ログローテーションの例
4.3、ログローテーションでサービスを再起動することの重要性
5、実際の戦闘
1つは、静的ルーティングと動的ルーティングです。
ルーターがデータを転送するとき、ルーティングテーブルで対応するルートを見つける必要があります。3つの方法があります。
(1)直接接続ルート:ルーターは、自身に直接接続されたルートを自動的に追加します
(2)静的ルート:管理者が手動で追加したルート
(3)動的ルーティング:ルーティングプロトコルによって動的に確立されたルーティング
静的ルーティング
短所:ネットワークトポロジを動的に反映できないため、ネットワークが変更された場合、管理者は手動でルートを変更する必要があります。
利点:ルーターのCPUおよびRAMリソースをあまり消費せず、帯域幅もあまり消費しません。
セキュリティ上の理由でネットワークの特定の部分を非表示にしたい場合、または管理者がデータ転送パスを制御したい場合は、静的ルーティングを使用することもできます。小規模なネットワークは、便利なため静的ルーティングで構成することもできます。
デフォルトルート
(1)実際、デフォルトルートは特別な静的ルートです。これは、ルーティングテーブルにパケットの宛先アドレスと一致するエントリがない場合にルーティングテーブルが選択できることを示します。デフォルトルートがない場合、宛先アドレスのルーティングテーブルに一致するエントリがないパケットは破棄されます。
(2)デフォルトルート。IPデータパケットの宛先アドレスが存在する他のルートを見つけることができない場合、ルーターはデフォルトでルートを選択します。
デフォルトルートは0.0.0.0です
IPアドレスに一致する場合、0はワイルドカードを意味し、任意の値が可能です。任意の宛先アドレスとの0.0.0.0の一致はすべて成功し、デフォルトのルーティング要件の影響を受けます。これは、0が任意のIPアドレスと一致できることを意味します。
動的ルーティング
動的ルーティングは静的ルーティングとは逆の概念です。つまり、ルーターは、ルーター間で交換される特定のルーティング情報に基づいて独自のルーティングテーブルを自動的に確立し、リンクやノードの変更に応じてタイムリーに自動的に調整できます。ネットワーク内のノードまたはノード間のリンクに障害が発生した場合、または他の使用可能なルートがある場合、動的ルーティングはそれ自体で使用可能な最適なルートを選択し、パケットの転送を続行できます。
2、Linuxルーティング操作
ipメソッド(rhel7)
ルーティングテーブルを表示する
[root @ localhost〜] #ip route
192.168.43.1 devens33プロト静的メトリック100を介したデフォルト
192.168.43.0/24 devens33プロトカーネルスコープリンクsrc192.168.43.101メトリック100
デフォルトゲートウェイを削除する
[root @ localhost〜] #ip route delete default
静的ルートを削除する
[root @ localhost〜] #ip rd 192.168.43.0/24
デフォルトゲートウェイを追加する
[root @ localhost〜] #ip r 192.168.43.1 devens33を介してデフォルトを追加
経由:ゲートウェイの出口
静的ルートを追加する
[root @ localhost〜] #ip r add 192.168.42.0/24 via 192.168.43.1 dev ens33
3、実際の戦闘
1.ネットワークポート
ネットワーク技術では、ポートにはいくつかの意味があります。ハブ、スイッチ、ルーターのポートは、RJ-45ポート、シリアルポートなど、他のネットワークデバイスを接続するインターフェイスを指します。ここで参照しているポート展開は、物理的な意味でのポートを指しますが、具体的には、論理的な意味でのポートであるTCP / IPプロトコルのポートを指します。
IPアドレスを家と比較すると、ポートは家への出入りの扉です。実際の家にはドアが数個しかありませんが、IPアドレスに65536(つまり、2 ^ 16)ポートを使用できます。ポートは、0〜65535(2 ^ 16-1)の範囲の整数のみのポート番号でマークされます。
インターネットでは、各ホストがTCP / IPプロトコルを介してデータパケットを送受信します。各データパケットは、宛先ホストのIPアドレスに従ってインターネット上でルーティングされ、データパケットは宛先ホストにスムーズに送信されます。ほとんどのオペレーティングシステムは、同時に実行される複数のプログラム(プロセス)をサポートします。したがって、同時に実行される多くのプロセスのうち、宛先ホストが受信したデータパケットを転送するのはどれですか。明らかに、この問題を解決する必要があるため、ポートメカニズムが導入されています。
ローカルオペレーティングシステムは、要件のあるプロセスにプロトコルポート(プロトコルポートと呼ばれることが多い)を割り当てます。各プロトコルポートは、80、139、445などの正の整数で識別されます。宛先ホストは、データパケットを受信すると、メッセージのヘッダーにある宛先ポート番号に従って対応するポートにデータを送信し、このポートに対応するプロセスがデータを受信して、次のデータセットを待機します。到着する。そうは言っても、ポートの概念はまだ抽象的なように思われるので、私と一緒に続けて、消えないでください。
ポートは実際にはチームです。オペレーティングシステムは各プロセスに異なるペアを割り当てます。データパケットは宛先ポートに応じて対応するチームにプッシュされ、プロセスによって取得されるのを待ちます。非常に特殊な状況では、このチームもオーバーフローする可能性があります。ただし、オペレーティングシステムでは、各プロセスが独自のチームのサイズを指定および調整できます。
データパケットを受信するプロセスは独自のポートを開く必要があるだけでなく、データパケットを送信するプロセスもポートを開く必要があります。このようにして、アクティブなポートがデータパケットで識別され、受信者がデータパケットをこのポートにスムーズに返すことができます。
2.一般的なサービス管理操作
[root @ localhost〜] #systemctl list-units //システムサービスのステータスを表示する
[root @ localhost〜] #systemctl list-unit-files //サービスが有効で自己起動しているかどうかを確認します
[root @ localhost〜] #systemctl start httpd //サービスを開始します
[root @ localhost〜] #systemctl status httpd //サービスステータスを表示
[root @ localhost〜] #systemctl status httpd -l //サービスステータスを確認し、ログを確認します
[root @ localhost〜] #systemctl stop httpd //サービスを閉じます
[root @ localhost〜] #systemctl restart httpd //サービスを再起動します
[root @ localhost〜] #systemctl reload httpd //構成ファイルをリロードします
[root @ localhost〜] #systemctl enable httpd //起動後にサービスが自動的に開始するように設定します
[root @ localhost〜] #systemctl disable httpd //起動後にシャットダウンするようにサービスを設定します
4、ログ
1.ログの重要性
Linuxシステムログは、管理者がシステムの操作を理解するための主な方法であるため、Linuxログシステムの詳細な理解が必要です。
Linuxシステムカーネルと多くのプログラムは、さまざまなエラーメッセージ、警告メッセージ、その他のプロンプトメッセージを生成します。これらのさまざまなメッセージは、ログファイルに記録する必要があります。このプロセスを完了するプログラムはrsyslogであり、のタイプと優先度に基づくことができます。ログ。ログを別のファイルに保存します。
2.一般的なシステムログ
/ var / log / message:Linuxオペレーティングシステムの一般的なシステムおよびサービスのエラーメッセージを記録します。
/var/log/boot.log:システムのブートプロセス中に発生するイベントを記録します。これは、Linuxシステムのブートセルフチェックプロセス中に表示される情報です。
/ var / log / lastlog:ユーザーが最後に正常にログインした時刻、ログインIP、およびその他の情報(通常はコマンドlastlogで表示)を記録します。
/ var / log / secure:Linuxシステムのセキュリティログ、ユーザーとワークグループの劣化の記録、およびユーザーログイン認証。
/ var / log / btmp:Linuxログイン失敗のユーザー、時刻、およびリモートIPアドレスを記録します。
/ var / log / wtmp:このログファイルは、各ユーザーのログイン、ログアウト、システムの起動とシャットダウンのイベントを永続的に記録し、最後のコマンドで表示できます。
3.rsyslogログ管理
3.1、ログタイプ
auth pam:生成されたログ
authpriv ssh、ftp:ログイン情報などの認証情報
cron:時間タスク関連
カーン:カーネル
lpr:印刷
メール:メール
mark(syslog)-rsuslog:サービス内部情報、タイムスタンプ
ニュース:ニュースグループ
ユーザー:ユーザープログラムによって生成された関連情報
3.2、ログの優先度
ログレベルは7つのログレベルに分けられます:コード0-7
0:デバッグ情報の場合、ログ情報が最も多くなります
1:最も一般的に使用される一般情報の情報ログ
2:最も重要な一般的な状態情報に注意してください
3:警告警告レベル
4:エラーエラーレベル、機能またはモジュールが正しく機能するのを妨げる情報
5:クリティカルの重大度レベル、システム全体またはソフトウェア全体の動作を妨げる情報
6:すぐに変更する必要がある情報を警告します
7:emergカーネルクラッシュなどの重大な情報
何も記録しない
3.3、カスタムログ
[root @ localhost〜] #vi /etc/rsyslog.conf
ログオブジェクト(デバイス):何をログに記録しますか
ログレベル:レベルが低いほど、より多くの情報が得られます
ログファイル:ログを保存するファイル
ログオブジェクト。ログレベルのログファイル
。後で指定するログレベル以上
。=後で指定されたログレベルに等しい
。!non
例:
*。* / var / log / mylog
kern.err /var/log/kernel.log
* .info; mail.none /var/log/big.log
mail.info /var/log/mail.log
cron.info; cron。!err / var / log / newcron
cron.info / var / log / newcron
ログサービスを再起動します。
[root @ localhost〜] #systemctl restart rsyslog
4.ログローテーションログローテーション
4.1、ログローテーション
[root @ localhost〜] #vi /etc/logrotate.conf
//グローバル構成
毎週:ローテーションサイクル、デフォルトのローテーションは週に1回です
回転4:この時点で回転します。デフォルトでは4回回転します。
作成:新しいファイルを作成します
deteext:ポーリングの瞬間の時間をローテーションファイルの終わりとして使用します
//部分的な構成
/etc/logrotate.dを含めます
ファイルが存在しない場合、missingokはエラーを報告しません
0644ルートUTMPを作成します
強制回転:
[root @ localhost〜] #logrotate -s /var/lib/logrotate/logrotate.status
-sは、最終的なログローテーションレコードファイルを/var/lib/logrotate/logrotate.statusとして指定します
実際の戦闘:ローテーションファイル/var/log/yum.log
[root @ localhostなど] #ls / var / log / yum *
/var/log/yum.log
[root @ localhost〜] #vi /etc/logrotate.conf
/var/log/yum.log {
missingok
#notifempty
#maxsize 30k
#yearly
毎日
回転3
0777ルートルートを作成します
}
[root @ localhost〜]#日付
11月12日(木)20:21:34 EST 2020
[root @ localhost〜]#日付11132024
3月13日水曜日20:24:00EST 2020
[root @ localhost〜] #logrotate /etc/logrotate.conf
[root @ localhost〜] #ls / var / log / yum *
/var/log/yum.log /var/log/yum.log-20201112
/var/log/yum.log-20201111 /var/log/yum.log-20201113
4.2。ログローテーションの例
1:ログセキュリティ:操作ログの非表示のアクセス許可
/etc/logrotate.d/messages
テストする前に、/ etc / logrotate.d / syslog内のメッセージを削除することをお勧めします
[root @ localhost〜] #vi /etc/logrotate.d/syslog
/ var / log / messages
{{
前回転
chattr -a / var / log / messages
エンドスクリプト
#notifempty
毎日
0600ルートルートを作成します
missingok
5回転
後回転
chattr + a / var / log / messages
エンドスクリプト
}
[root @ localhost〜]#日付
11月12日(木)20:21:34 EST 2020
[root @ localhost〜]#日付11132024
3月13日水曜日20:24:00EST 2020
[root @ localhost〜] #logrotate /etc/logrotate.conf
2:複数のログファイルのログローテーションを構成します
[root @ localhost〜] #vi /etc/logrotate.d/syslog
/ var / log / cron
/ var / log / maillog
/ var / log / secure
/ var / log /スプーラー
{{
missingok
sharedscripts
後回転
/ bin / kill -HUP `cat /var/run/syslogd.pid 2> / dev / null` 2> / dev / null || t
ルー
エンドスクリプト
}
[root @ localhost〜]#日付
11月12日(木)20:21:34 EST 2020
[root @ localhost〜]#日付11132024
3月13日水曜日20:24:00EST 2020
[root @ localhost〜] #logrotate /etc/logrotate.conf
4.3、ログローテーションでサービスを再起動することの重要性
ログローテーション構成ファイルでサービスを再起動するためのスクリプトは、新しいログコンテンツを新しいログファイルに書き込むことです。古いログファイルは名前を変更するだけでローテーションされるため、INODEは変更されていませんが、ログプログラムはログファイル。iノード番号はファイルを識別するため、ログを再起動してログファイルを新しいファイルに変更する必要があります。
5、実際の戦闘
1.rsyslogを使用してログをカスタマイズします
2.Logrotateを使用してログをローテーションします