Linux调试iptables

2024-05-23  本文已影响0人  午觉不眠Orz

一. 开启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
上一篇下一篇

猜你喜欢

热点阅读