我正在尝试将对端口 22 的任何请求记录到我的系统日志中,因此我的 iptables 中有以下行:
LOG tcp -- anywhere anywhere tcp dpt:ssh LOG level debug
但是,当我通过 ssh 登录时,没有任何记录。我使用的是 RHEL6 (6.2)
知道原因吗?
答案1
我使用下面的方法记录到端口 22 的新连接
iptables -I INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j LOG --log-level 1 --log-prefix "New Connection "
此规则仅记录到端口 22 的新连接。它记录到/var/log/messages
我手头的 CentOS 机器上
11月8日 16:20:54 centos6 内核:新连接 IN=eth0 OUT= MAC=00:0c:29:d2:2c:38:00:0c:29:fe:8e:bb:08:00 SRC=192.168.1.73 DST=192.168.254.188 LEN=52 TOS=0x00 PREC=0x00 TTL=126 ID=9880 DF PROTO=TCP SPT=63861 DPT=22 WINDOW=8192 RES=0x00 SYN URGP=0
请注意,iptables 操作规则按照其定义的顺序进行,因此如果您将iptables -A
规则添加到现有规则集,则数据包可能会被早期规则接受或拒绝,并且您的日志操作永远不会被执行。