linux 路由记录文件,Linux路由/日志管理
路由/日志管理? ? ?作者:張巖峰,轉載請注明出處? ? ?筆名:云煙舊夢
目錄:
一、靜態路由和動態路由
二、Linux路由操作
三、實戰
1、網絡端口
2、常見服務管理操作
四、日志
1、日志重要性
2、常見系統日志
3、rsyslog日志管理
3.1、日志類型
3.2、日志優先級
3.3、自定義日志
4、logrotate日志輪轉
4.1、日志輪轉
4.2、日志輪轉實例
4.3、日志輪轉中重啟服務的重要性
五、實戰
一、靜態路由和動態路由
路由器在轉發數據時,需要在路由表中查找相應的路由,有三種途徑
(1)直連路由:路由器自動添加和自己直連的路由
(2)靜態路由:管理員手動添加的路由
(3)動態路由:由路由協議動態建立的路由
靜態路由
缺點:不能動態的反映網絡拓撲,當網絡發生變化的時候,管理員必須手動的改變路由。
優點:不會占用路由器太多的cpu和RAM資源,也不會占用太多帶寬。
如果出于安全的考慮想隱藏網絡的某些部分或者管理員想控制數據轉發路徑也可以使用靜態路由,小網絡也可以配置靜態路由,因為便捷。
默認路由
(1)實際上默認路由是一種特殊的靜態路由,指的是當路由表中與包的目的地址之間沒有匹配的表項時,路由表能夠做出選擇。如果沒有默認路由,那么目的地址在路由表中沒有匹配表項的包將被丟棄。
(2)默認路由(Default route),如果IP數據包中的目的地址找不到存在的其它路由時,路由器會默認的選擇的路由。
默認路由為0.0.0.0
匹配IP地址時,0表示wildcard,任何值都是可以的,所有0.0.0.0和任何目的地址匹配都會成功,造成默認路由要求的效果。就是說0可以匹配的任何IP地址。
動態路由
動態路由是與靜態路由相對的一個概念,指路由器能夠根據路由器之間的交換的特定路由信息自動地建立自己的路由表,并且能夠根據鏈路和節點的變化適時地進行自動調整。當網絡中節點或節點間的鏈路發生故障,或存在其它可用路由時,動態路由可用自行選擇最佳的可用路由并繼續轉發報文。
二、Linux路由操作
ip方式(rhel7)
查看路由表
[root@localhost ~]# ip route
default via 192.168.43.1 dev ens33 proto static metric 100
192.168.43.0/24 dev ens33 proto kernel scope link src 192.168.43.101 metric 100
刪除默認網關
[root@localhost ~]# ip route delete default
刪除靜態路由
[root@localhost ~]# ip r d 192.168.43.0/24
添加默認網關
[root@localhost ~]# ip r add default via 192.168.43.1 dev ens33
via:網關的出口
添加靜態路由
[root@localhost ~]# ip r add 192.168.42.0/24 via 192.168.43.1 dev ens33
三、實戰
1、網絡端口
在網絡技術中,端口(Port)有好幾種意思。集線器、交換機、路由器的端口指的是連接其他網絡設備的接口,如RJ-45端口、Serial端口等。我們這里所指的端口部署指物理意義上的端口,而是特指TCP/IP協議中的端口,是邏輯意義上的端口。
如果把IP地址比作一間房子,端口就是出入這間房子的門。真正的房子只有幾個門,但是一個IP地址的端口可用有65536(即:2^16)個之多!端口是通過端口號來標記的,端口號只有整數,范圍是從0到65535(2^16-1)。
在Internet上,各主機間通過TCP/IP協議發送和接收數據包,各個數據包根據其目的主機的ip地址來進行互聯網絡中的路由選擇,把數據包順利的傳送到目的主機。大多數操作系統都支持多程序(進程)同時運行,那么目的主機應該把接收到的數據包傳送給眾多同時運行的進程中的哪一個呢?顯然這個問題有待解決,端口機制便由此被引入進來。
本地操作系統會給哪些有需求的進程分配協議端口(protocol port,即我們常說的端口),每個協議端口由一個正整數標識,如: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? //設置服務為開機自關閉
四、日志
1、日志重要性
Linux系統日志對管理員來說,是了解系統運行的主要途徑,因此需要對Linux日志系統有個詳細的了解。
Linux系統內核和許多程序會產生各種錯誤信息、告警信息和其他的提示信息,這些各種信息都應該記錄到日志文件中,完成這個過程的程序就是rsyslog,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:該日志文件永久記錄每個用戶登陸、注銷及系統的啟動、停機的事件,使用last命令查看。
3、rsyslog日志管理
3.1、日志類型
auth pam:產生的日志
authpriv ssh,ftp:等登陸信息的驗證信息
cron:時間任務相關
kern:內核
lpr:打印
mail:郵件
mark(syslog)-rsuslog:服務內部的信息,時間標識
news:新聞組
user:用戶程序產生的相關信息
3.2、日志優先級
日志級別分為7種日志級別:代號0-7
0:debug調試信息的,日志信息最多
1:info一般信息的日志,最常用
2:notice最具有重要性的普通條件的信息
3:warning警告級別
4:err錯誤級別,阻止某個功能或者模塊不能正常工作的信息
5:crit嚴重級別,阻止整個系統或者整個軟件不工作的信息
6:alert需要立刻修改的信息
7:emerg內核崩潰等嚴重信息
none什么都不記錄
3.3、自定義日志
[root@localhost ~]# vi /etc/rsyslog.conf
日志對象(設備):你要對什么東東做日志
日志級別:級別越低,信息越多
日志文件:存儲日志的文件
日志對象.日志級別 日志文件
.大于或等于后面指定的日志級別
.=等于后面指定的日志級別
.!非
例:
*.* /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、logrotate日志輪轉
4.1、日志輪轉
[root@localhost ~]# vi /etc/logrotate.conf
//全局配置
weekly:輪轉周期,默認一周輪轉一次
rotate 4:輪轉此時,默認輪轉4次
create:創建新文件
deteext:以輪詢時刻的時間作為輪轉文件的結尾
//局部配置
include /etc/logrotate.d
missingok 在文件不存在的時候也不報錯
create 0644 root utmp
強制輪轉:
[root@localhost ~]# logrotate -s /var/lib/logrotate/logrotate.status
-s指定最后的日志輪轉記錄文件為/var/lib/logrotate/logrotate.status
實戰:輪轉文件/var/log/yum.log
[root@localhost etc]# ls /var/log/yum*
/var/log/yum.log
[root@localhost ~]# vi /etc/logrotate.conf
/var/log/yum.log {
missingok
#notifempty
#maxsize 30k
#yearly
daily
rotate 3
create 0777 root root
}
[root@localhost ~]# date
Thu Nov 12 20:21:34 EST 2020
[root@localhost ~]# date 11132024
Fri Nov 13 20:24:00 EST 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中messages刪除
[root@localhost ~]# vi /etc/logrotate.d/syslog
/var/log/messages
{
prerotate
chattr -a /var/log/messages
endscript
#notifempty
daily
create 0600 root root
missingok
rotate 5
postrotate
chattr +a /var/log/messages
endscript
}
[root@localhost ~]# date
Thu Nov 12 20:21:34 EST 2020
[root@localhost ~]# date 11132024
Fri Nov 13 20:24:00 EST 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/spooler
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || t
rue
endscript
}
[root@localhost ~]# date
Thu Nov 12 20:21:34 EST 2020
[root@localhost ~]# date 11132024
Fri Nov 13 20:24:00 EST 2020
[root@localhost ~]# logrotate /etc/logrotate.conf
4.3、日志輪轉中重啟服務的重要性
日志輪轉配置文件中重啟服務的腳本是為了把新的日志內容寫入到新的日志文件里,因為舊的日志文件被輪轉只是改了個名字,INODE并沒有變,但是日志程序是按日志文件的inode號識別文件的,所以需要重啟日志以改變日志文件為新的文件。
五、實戰
1、使用rsyslog自定義日志
2、使用Logrotate對日志進行日志輪轉
總結
以上是生活随笔為你收集整理的linux 路由记录文件,Linux路由/日志管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: macos 读取ntfs
- 下一篇: 纳税服务系统七(投诉管理模块)【显示投诉