linux – 如何找出我的IPTables规则的存储位置?

前端之家收集整理的这篇文章主要介绍了linux – 如何找出我的IPTables规则的存储位置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Debian服务器上工作,我正试图弄清楚我的IPTable规则存储在哪里.

从在互联网上四处看看,我发现通常有两个地方通常都会保存.

http://major.io/2009/11/16/automatically-loading-iptables-on-debianubuntu/建议使用/etc/network/if-up.d/iptables,但该目录中不存在该文件.

http://beginlinux.wordpress.com/2009/05/26/saving-changes-for-iptables/ / etc / sysconfig / iptables但是/ etc / sysconfig目录甚至不存在.

据我所知,以前的管理员为了安全起见将常见文件保存到不同的位置并不常见,我想知道是否有办法让我找到iptables-save时保存规则的位置使用命令.此页面还指出使用位于/etc/init.d/iptables的脚本还原文件,但这也不存在.

有关如何继续查找规则保存位置的任何帮助或建议?我知道我可以尝试使用grep来查找一个位于规则中的稀有字符串,但我觉得必须有一个更简单,更直接的方法.

更新:

谢谢你的帮助.我尝试使用grep来搜索/ etc目录但是花了很长时间我不想冒内存耗尽的风险,所以我停止了它.我想我会尝试使用strace作为一种不太密集的方法.

通过浏览我已经到了线(我将IP地址更改为1.1.1.1):

`open("/etc/protocols",O_RDONLY|O_CLOEXEC) = 5
fstat64(5,{st_mode=S_IFREG|0644,st_size=2859,...}) = 0
mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0xb7747000
read(5,"# Internet (IP) protocols\n#\n# Up"...,4096) = 2859
close(5)                                = 0
munmap(0xb7747000,4096)                = 0
write(1,"-A net2fw -s 1.1.1.1/32 -p t"...,66) = 66`

我不是100%肯定这是做什么的,但我觉得这就是它使用文件/ etc / protocols中的#5协议,它将是:

st 5 ST#ST数据报模式

读取某个文件文件统计信息,然后将其读取的内容映射到内存位置0xb7747000.我不确定它从哪里读取,但随后关闭协议,从内存中取消映射,然后将规则写入文件描述符1.

我有多接近正确阅读?以及如何找出由1表示的文件

解决方法

iptables-persistent wheezy包将规则保存在/etc/iptables/rules.v4中.

您可以在此处查看包的来源:https://packages.debian.org/search?keywords=iptables-persistent

猜你在找的Linux相关文章