p2p金融网站开发,企业做网站都购买域名吗,电子商务网站建设规划的论文,wordpress外汇2.4路由/日志管理
一、静态路由和动态路由
路由器在转发数据时#xff0c;需要现在路由表中查找相应的路由#xff0c;有三种途径
#xff08;1#xff09;直连路由#xff1a;路由器自动添加和自己直连的路由 #xff08;2#xff09;静态路由#xff1a;管理员手动…2.4路由/日志管理
一、静态路由和动态路由
路由器在转发数据时需要现在路由表中查找相应的路由有三种途径
1直连路由路由器自动添加和自己直连的路由 2静态路由管理员手动添加的路由 3动态路由由路由协议动态建立的路由 静态路由
缺点 不能动态的反映网络拓扑当网络发生变化的时候管理员必须 手动的改变路由 优点 不会占用路由器太多的cpu和RAM资源也不会占用太多带宽。 如果出于安全的考虑想隐藏网咯的某些部分或者管理员想控制数据转 发路径也可以使用静态路由小网络也可以配置静态路由 因为便捷默认路由
(1) 实际上默认路由是一种特殊的静态路由指的是当 路由表中与包的 目的地址之间没有匹配的表项时路由器能够做出选择。如果没有默 认路由那么目的地址在路由表中没有匹配表项的包将被丢弃。 (2)默认路由Default route如果IP数据包中的目的地址找不到存在 的其它路由时路由器会默认的选择的路由。 默认路由为0.0.0.0 匹配IP地址时0表示wildcard任何值都是可以的所有0.0.0.0.和任 何目的地址匹配都会成功造成默认路由要求的效果。就是说0可以匹 配任何的IP地址。动态路由
动态路由是与静态路由相对的一个概念指路由器能够根据路由器之 间的交换的特定路由信息自动地建立自己的路由表并且能够根据链 路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路 发生故障或存在其它可用路由时动态路由可以自行选择最佳的可 用路由并继续转发报文。二、Linux路由操作
[rootlocalhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.120.2 0.0.0.0 UG 100 0 0 ens33
192.168.120.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33Destination 目标网络或目标主机
Gateway 网关
Genmask 网络掩码
Flags 定义的标记Metric 路由的距离Ref 路由的中转次数Use 此路由向查找的次数Iface 设备名称ip方式(rhel7)
查看路由表
[rootlocalhost ~]# ip r
default via 10.18.44.1 dev enp0s25
10.18.40.100 via 10.18.44.1 dev enp0s25 proto dhcp metric 100
10.18.44.0/24 dev enp0s25 proto kernel scope link src 10.18.44.196 metric
100
10.18.45.0/24 via 10.18.44.1 dev enp0s25
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1删除默认网关
[rootlocalhost ~]#ip r d default删除静态路由
[rootlocalhost ~]#ip r del 10.18.45.0/24添加默认网关
[rootlocalhost ~]# ip r add default via 10.18.44.1 dev enp0s25添加静态路由
[rootlocalhost ~]# ip r add 10.18.45.0/24 via 10.18.44.1 dev enp0s25三、实战
1、添加默认路由
2、Linux服务器配置静态路由并测试
四、端口和服务解析
1、网络端口
在网络技术中端口Port有好几种意思。集线器、交换机、路由器
的端口指的是连接其他网络设备的接口如RJ-45端口、Serial端口
等。我们 这里所指的端口不是指物理意义上的端口而是特指TCP/IP
协议中的端口是逻辑意义上的端口。
如果把IP地址比作一间房子 端口就是出入这间房子的门。真正的房
子只有几个门但是一个IP地址的端口可以有65536即2^16个之
多端口是通过端口号来标记的端口号只有整数范围是从0 到
655352^16-1。
在Internet上各主机间通过TCP/IP协议发送和接收数据包各个数据
包根据其目的主机的ip地址来进行互联网络中的路由选择,把数据包顺
利的传送到目的主机。大多数操作系统都支持多程序进程同时运
行那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢显然这个问题有待解决端口机制便由此被引入进 来。 本地操作系统会给那些有需求的进程分配协议端口protocol port即 我们常说的端口每个协议端口由一个正整数标识如80139 445等等。当目的主机接收到数据包后将根据报文首部的目的端口 号把数据发送到相应端口而与此端口相对应的那个进程将会领取 数据并等待下一组数据的到来。说到这里端口的概念似乎仍然抽 象那么继续跟我来别走开。 端口其实就是队操作系统为各个进程分配了不同的队数据包按照 目的端口被推入相应的队中等待被进程取用在极特殊的情况下 这个队也是有可能溢出的不过操作系统允许各进程指定和调整自己 的队的大小。 不光接受数据包的进程需要开启它自己的端口发送数据包的进程也 需要开启端口这样数据包中将会标识有源端口以便接受方能顺 利地回传数据包到这个端口。 2、常见服务管理操作
列出所有启动的units
[rootlocalhost ~]#systemctl list-units列出所有的启动文件
[rootlocalhost ~]#systemctl list-unit-files启动服务httpd
[rootlocalhost ~]#systemctl start httpd查看服务的状态
[rootlocalhost ~]#systemctl status httpd
[rootlocalhost ~]#systemctl status httpd -l关闭
[rootlocalhost ~]#systemctl stop httpd先关闭在重启
[rootlocalhost ~]#systemctl restart httpd重新加载配置文件
[rootlocalhost ~]#systemctl reload httpd设置开机启动
[rootlocalhost ~]#systemctl enable httpd设置开机关闭
[rootlocalhost ~]#systemctl disable httpd五、日志
1、日志重要性
Linux系统日志对管理员来说是了解系统运行的主要途径因此需要 对 Linux 日志系统有个详细的了解。 Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提 示信息这些各种信息都应该记录到日志文件中完成这个过程的程 序就是 rsyslogrsyslog 可以根据日志的类别和优先级将日志保存到不 同的文件中。 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命令查看/var/log/message记录Linux操作系统常见的系统和服务错误信息
[rootlocalhost ~]# tailf /var/log/messages
Nov 17 16:35:22 localhost NetworkManager[687]: info [1700210122.0512] dhcp4 (ens33): domain name localdomain
Nov 17 16:35:22 localhost NetworkManager[687]: info [1700210122.0512] dhcp4 (ens33): state changed bound - bound
Nov 17 16:35:22 localhost dbus[650]: [system] Activating via systemd: service nameorg.freedesktop.nm_dispatcher unitdbus-org.freedesktop.nm-dispatcher.service
Nov 17 16:35:22 localhost systemd: Starting Network Manager Script Dispatcher Service...
Nov 17 16:35:22 localhost dhclient[22705]: bound to 192.168.120.132 -- renewal in 710 seconds.
Nov 17 16:35:22 localhost dbus[650]: [system] Successfully activated service org.freedesktop.nm_dispatcher
Nov 17 16:35:22 localhost systemd: Started Network Manager Script Dispatcher Service.
Nov 17 16:35:22 localhost nm-dispatcher: req:1 dhcp4-change [ens33]: new request (3 scripts)
Nov 17 16:35:22 localhost nm-dispatcher: req:1 dhcp4-change [ens33]: start running ordered scripts...
Nov 17 16:38:08 localhost auditd[627]: Audit daemon rotating log files
[rootlocalhost ~]# yum -y install nginx
已加载插件fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
没有可用软件包 nginx。
错误无须任何处理
[rootlocalhost ~]# yum -y install epel-release
[rootlocalhost ~]# yum -y install nginx[rootlocalhost ~]# yum -y remove httpd[rootlocalhost ~]# id apache
uid48(apache) gid48(apache) 组48(apache)[rootlocalhost ~]# userdel -r apache
userdel: apache 邮件池 (/var/spool/mail/apache) 未找到
userdel未找到 apache 的主目录“/usr/share/httpd”[rootlocalhost ~]# id apache
id: apache: no such user[rootlocalhost ~]# chattr -i /etc/passwd
[rootlocalhost ~]# yum -y install httpd
[rootlocalhost ~]# lsof -i:80[rootlocalhost ~]# systemctl restart httpd会包这个错 我的刚才的用户应该是没有删除
Job for httpd.service failed because the control process exited with error code. See systemctl status httpd.service and journalctl -xe for details.[rootlocalhost ~]# tailf /var/l
lib/ local/ lock/ log/
[rootlocalhost ~]# tailf /var/log/messages
Nov 17 16:47:12 localhost systemd: Started Network Manager Script Dispatcher Service.
Nov 17 16:47:12 localhost nm-dispatcher: req:1 dhcp4-change [ens33]: new request (3 scripts)
Nov 17 16:47:12 localhost nm-dispatcher: req:1 dhcp4-change [ens33]: start running ordered scripts...
Nov 17 16:49:21 localhost yum[79649]: Erased: httpd-2.4.6-99.el7.centos.1.x86_64
Nov 17 16:49:21 localhost systemd: Reloading.
Nov 17 16:52:33 localhost systemd: Reloading.
Nov 17 16:52:33 localhost yum[82550]: Installed: httpd-2.4.6-99.el7.centos.1.x86_64
Nov 17 16:54:24 localhost systemd: Starting The Apache HTTP Server...
Nov 17 16:54:24 localhost httpd: AH00558: httpd: Could not reliably determine the servers fully qualified domain name, using localhost.localdomain. Set the ServerName directive globally to suppress this message
Nov 17 16:54:24 localhost systemd: Started The Apache HTTP Server.[rootlocalhost ~]# useradd apache
useradd用户“apache”已存在
进去删除之前的就可以了
[rootlocalhost ~]# vi /etc/group[rootlocalhost ~]# lsattr /etc/passwd
---------------- /etc/passwd
[rootlocalhost ~]# chattr -i /etc/passwd
[rootlocalhost ~]# useradd apache
useradd用户“apache”已存在
3、rsyslog日志管理
3.1、日志类型
auth pam 产生的日志 authpriv sshftp 等登录信息的验证信息 cron 时间任务相关 kern 内核 lpr 打印 mail 邮件 mark(syslog)-rsyslog 服务内部的信息时间标识 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、自定义日志
[rootlocalhost ~]#vim /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
重启日志服务
[rootlocalhost ~]#systemctl restart rsyslog清空文件内容
[rootlocalhost ~]# /var/log/rsyslog4、logrotate日志轮转
4.1、日志轮转
[rootlocalhost ~]#vim /etc/logrotate.conf
//全局配置
weekly 轮转周期 默认一周轮转一次
rotate 4 轮转次数 默认轮转4次
create 创建新文件
dateext 以轮转时刻的时间作为轮转文件的结尾
//局部配置
include /etc/logrotate.d
missingok 在文件不存在的时候也不报错
create 0644 root utmp强制轮转
[rootlocalhost ~]# logrotate -s /var/lib/logrotate/logrotate.status
/etc/logrotate.conf
-s 指定最后的日志轮转记录文件为/var/lib/logrotate/logrotate.status4.2、日志轮转实例
1测试日志轮转轮转文件/var/log/yum.log
[rootlocalhost ~]#vim /etc/logrotate.d/yum
/var/log/yum.log {
missingok
# notifempty
# size 30k
# yearly
daily
rotate 3
create 0777 root root
}
测试
[rootlocalhost ~]#logrotate /etc/logrotate.conf //手动轮转
[rootlocalhost ~]#ls /var/log/yum*
/var/log/yum.log /var/log/yum.log-20170331
[rootlocalhost ~]#grep yum /var/lib/logrotate/logrotate.status //记录
所有日志文件最近轮转的时间
/var/log/yum.log 2017-3-31-10:0:23
[rootlocalhost ~]#date 09011000
[rootlocalhost ~]#logrotate -s /var/lib/logrotate/logrotate.status
/etc/logrotate.conf2日志安全操作日志的隐藏权限
/etc/logrotate.d/messages
建议测试时先把/etc/logrotate.d/syslog中messages删除
/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
}3为多个日志文件配置日志轮转
[rootqfedu.com ~]#vim /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 || true
endscript
}实验
[rootlocalhost ~]# vi /etc/logrotate.d/yum
/var/log/yum.log {missingoknotifemptymaxsize 30kyearlycreate 0600 root root
}[rootlocalhost ~]# cat /etc/logrotate.d/yum
/var/log/yum.log {missingok# notifempty# maxsize 30k# yearlydailyrotate 3create 0777 root root
}
[rootlocalhost ~]# ls /var/log/yum.*
/var/log/yum.log[rootlocalhost ~]# date
2023年 11月 17日 星期五 17:16:33 CST
[rootlocalhost ~]# date 11181716
2023年 11月 18日 星期六 17:16:00 CST
[rootlocalhost ~]# logrotate /etc/logrotate.conf
[rootlocalhost ~]# ls /var/log/yum.*
/var/log/yum.log /var/log/yum.log-20231118在执行
[rootlocalhost ~]# logrotate /etc/logrotate.conf
[rootlocalhost ~]# ls /var/log/yum.*
/var/log/yum.log /var/log/yum.log-20231118
4.3、日志轮转中重启服务的重要性
日志轮转配置文件中重启服务的脚本 是为了把新的日志内容写入到新 的日志文件里 因为旧的日志文件被轮转只是改了个名字INODE并没 有变但是日志程序是按日志文件的 inode号识别文件的所以需要重 启日志以改变日志文件为新的文件 六、实战
1、使用rsyslog自定义日志
2、使用Logrotate对日志进行日志轮转