iptables子网

我有一个iptable规则,我允许IP的子网。 规则如下:

iptables -I INPUT 2 -i eth0 -s xxxx / 24 -d xxXx -j ACCEPT

例如,我想允许子网172.16.0.0/24。 我可以面对一个像这个子网IP没有访问的问题,虽然我已经configuration这个子网允许?

我正在处理这样的问题。 我configuration了172.16.0.0/24从iptables允许,但是当我尝试从IP 172.16.0.9访问,我没有访问权限。

您可以通过启用TRACE目标来debuggingnetfilter规则:

首先加载相关的内核模块直接login到syslog:

 modprobe -i ipt_LOG 

然后创build一个规则来logging您的行为不当系统中的所有stream量:

 iptables -t raw -A PREROUTING --source 172.16.0.9 -p tcp -j TRACE 

使用string前缀logging数据包: TRACE: tablename:chain- name:type:rulenum其中,types可以是普通规则的“rule”,隐式规则的“return”可以是用户定义链的末尾,“policy”内置链的政策。rulenum可以通过iptables -L --line-numbers

尝试删除“-d xxxx”。 我这样说是因为INPUT意味着所有的stream量都发往你的机器,所以不需要指定目的地。 编辑:另外,尝试在“-s xxxx / 24”之前添加“-p tcp”。 我想你需要指定匹配的协议。 – aseaudi 17分钟前

我正在考虑两个可能的问题:

1 – 您不允许stream量从您的机器出去

 iptables -I OUTPUT 1 -i eth0 -d xxxx/24 -j ACCEPT 

2 – 你正在阻止广播数据包进入你的机器

试试这个,而不是你原来的input:

 iptables -I INPUT 1 -i eth0 -s xxxx/24 -j ACCEPT 

而不使用目的地IP。