当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > LINUX下防火墙iptables的日志管理

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 LINUX下防火墙iptables的日志管理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 54 ::
收藏到网摘: n/a

iptables的日志(log)由syslogd纪录和管理。初始存放在 /var/log/messages里面。自动采取循环纪录(rotation)的方式记录。但是由于混在 messages中,对于管理和监视产生了不便。这里,我简单介绍一下我的 iptables日志的管理,循环,和自动报告生成的经验:

由于iptables是linux的内核本身的功能,由dmesg或syslogd的facility结合内核管理。iptables的日志的初始值是[warn(=4)], 需要修改 syslog.conf。
---------------------------------------------------------------
:
kern.=warn /var/log/kern-warn-log←可以自己决定文件名
---------------------------------------------------------------

这里,facility在[kern]是 priority 的[warn], 日志将被记录在 /var/log/kern-warn-log 。

日志循环的设置方法

在 /etc/logrotated.d/syslog 中追加以下语句:

--------------------------------------------------------------
:
/var/log/kern-warn-log {
rotate 50 剩余文件数
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
endscript
}
--------------------------------------------------------------

/etc/logrotate.conf的初始设置是每周一进行一次log的循环。所以每周的日志将被存在 /var/log/kern-warn-log 中,之前的旧日志将被顺次存储在 kern-warn-log.1 ----- kern-warn-log.50 中。

另外还有一种方法就是 通过iptables直接获取日志:(一般不用)

# iptables -A INPUT -s 127.0.0.1 -p icmp -j LOG --log-prefix "iptables icmp-localhost "←保存从eth0 进入的packet纪录
# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP←废除从eth0进入的packet纪录

这样一来,/var/log/kern-warn-log的内容将如下所示:

Sep 23 10:16:14 hostname kernel: iptables icmp-localhost IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=57148 SEQ=256