一. 开启iptables调试内核模块
# 适用ubuntu 20.04
modprobe nf_log_ipv4
sysctl net.netfilter.nf_log.2
net.netfilter.nf_log.2 = nf_log_ipv4
写法二
# enable logging
sudo modprobe ipt_LOG
sudo modprobe nf_log_ipv4
sudo sysctl net.netfilter.nf_log.2=nf_log_ipv4
二. 添加iptables规则
# 适用ubuntu 20.04
iptables -t raw -A PREROUTING -p icmp -j TRACE
iptables -t raw -A OUTPUT -p icmp -j TRACE
iptables -t raw -A PREROUTING -p tcp -j TRACE
iptables -t raw -A OUTPUT -p tcp -j TRACE
写法二
iptables -t raw -A PREROUTING -p tcp -j LOG
iptables -t raw -A OUTPUT -p tcp -j LOG
三.测试命令
客户端执行 ping 命令
ping 192.168.6.23 -n 1 # 这里使用 -n 参数指定发送的包数量为1,方便我们分析日志
向10.233.42.142的80端口发起一次tcp syn请求
hping3 -c 1 -S -p 80 xx.xx.xx.xx
四. 查看日志
此时在服务器上执行查看日志命令, 日志文件为:/var/log/syslog 或者 /var/log/kern.log 或者 /var/log/messages
tail -f /var/log/syslog
注意:鉴于日志文件增长太快
五. 取消icmp或者tcp追踪
命令参考
iptables -t raw -nvL PREROUTING --line-number
iptables -t raw -nvL OUTPUT --line-number
iptables -t raw -D PREROUTING 4
iptables -t raw -D OUTPUT 8
iptables -t raw -A PREROUTING -p tcp -j TRACE
iptables -t raw -A OUTPUT -p tcp -j TRACE
六、iptables规则查看命令
iptables-save | grep -E "*raw|*mangle|*nat|*filter|PREROUTING"
iptables-save | grep -E "*raw|*mangle|*nat|*filter|INPUT"
iptables-save | grep -E "*raw|*mangle|*nat|*filter|FORWARD"
iptables-save | grep -E "*raw|*mangle|*nat|*filter|OUTPUT"
iptables-save | grep -E "*raw|*mangle|*nat|*filter|POSTROUTING"
七、ipvs规则查看命令
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.100:443 rr
-> 192.168.1.101:6443 Masq 1 2 0
-> 192.168.1.102:6443 Masq 1 2 0
网友评论