首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这些iptables规则不起作用

为什么这些iptables规则不起作用
EN

Server Fault用户
提问于 2014-04-10 20:03:59
回答 2查看 1.6K关注 0票数 1

我认为还需要更多的细节。我已经在我的地区开了一家新的咖啡馆,人们正在下载增加我开销的东西,所以我想阻止路由器上的协议,然后如果个人电脑需要它,可能需要几天或几个月,就重新启用它。

我的路由器运行Openwrt态度调整

我阻塞http只是为了测试它,然后使用l7过滤器添加协议。

嗨,我是Iptables的一个菜鸟,为了得到它,我在摆弄它。

这是系统

代码语言:javascript
复制
Router IP-192.168.1.10
PC1 IP-192.168.1.11
PC2 IP-192.168.1.12
Laptop IP-192.168.1.13
Mobile IP-192.168.1.14

我应用了下面的规则,它丢弃了所有的http数据包。

代码语言:javascript
复制
iptables -I FORWARD -m layer7 --l7proto http -j DROP

然后我想为PC1启用http,我编写了下面的规则,但是http不起作用。

代码语言:javascript
复制
iptables -I FORWARD -mlayer7 --l7proto http -s 192.168.1.11 -j ACCEPT

它只在我输入规则时起作用。

代码语言:javascript
复制
iptables -I FORWARD -m layer7 --l7proto http -j ACCEPT

但现在它支持所有的系统。

我应该如何首先阻止所有系统上的http,然后启用它,让我们只说PC1。

谢谢你的帮助!

OUtput

代码语言:javascript
复制
Chain FORWARD (policy DROP 12 packets, 2700 bytes)
pkts bytes target     prot opt in     out     source               destination
5   200 ACCEPT     all  --  *      *       192.168.1.113        0.0.0.0/0           LAYER7 l7proto http
25  1036 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           LAYER7 l7proto http
EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-04-10 20:31:24

代码语言:javascript
复制
iptables -I -INPUT -p tcp ! -s [IP address here] --dport 80 -j DROP

密切关注'!‘操作符。它会删除所有不是来自源IP地址的通信量。

然而,在稍后的评论中,您会说:

内森,我想要实现的是,首先阻止所有的http,然后根据我的意愿一个接一个地重新启用任何设备。

这有点不同。在这种情况下,您需要依赖于订购。您需要显式地拒绝所有HTTP,但是在要接受的每个主机的删除规则之上添加一个单独的规则。内森的回答更接近目标。

票数 1
EN

Server Fault用户

发布于 2014-04-10 20:28:24

做以下工作:

iptables -I INPUT -p tcp -s 192.168.1.11 --dport 80 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -j DROP

这将允许来自端口80 (http)上的IP的通信量,否则丢弃它。不知道为什么要使用FORWARD链。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/588206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档