加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 16:52:28 所属栏目:Linux 来源:网络整理
导读:我在Debian服务器上工作,我正试图弄清楚我的IPTable规则存储在哪里. 从在互联网上四处看看,我发现通常有两个地方通常都会保存. http://major.io/2009/11/16/automatically-loading-iptables-on-debianubuntu/建议使用/etc/network/if-up.d/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) protocolsn#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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读