我认为还需要更多的细节。我已经在我的地区开了一家新的咖啡馆,人们正在下载增加我开销的东西,所以我想阻止路由器上的协议,然后如果个人电脑需要它,可能需要几天或几个月,就重新启用它。
我的路由器运行Openwrt态度调整
我阻塞http只是为了测试它,然后使用l7过滤器添加协议。
嗨,我是Iptables的一个菜鸟,为了得到它,我在摆弄它。
这是系统
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数据包。
iptables -I FORWARD -m layer7 --l7proto http -j DROP然后我想为PC1启用http,我编写了下面的规则,但是http不起作用。
iptables -I FORWARD -mlayer7 --l7proto http -s 192.168.1.11 -j ACCEPT它只在我输入规则时起作用。
iptables -I FORWARD -m layer7 --l7proto http -j ACCEPT但现在它支持所有的系统。
我应该如何首先阻止所有系统上的http,然后启用它,让我们只说PC1。
谢谢你的帮助!
OUtput
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发布于 2014-04-10 20:31:24
iptables -I -INPUT -p tcp ! -s [IP address here] --dport 80 -j DROP密切关注'!‘操作符。它会删除所有不是来自源IP地址的通信量。
然而,在稍后的评论中,您会说:
内森,我想要实现的是,首先阻止所有的http,然后根据我的意愿一个接一个地重新启用任何设备。
这有点不同。在这种情况下,您需要依赖于订购。您需要显式地拒绝所有HTTP,但是在要接受的每个主机的删除规则之上添加一个单独的规则。内森的回答更接近目标。
发布于 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链。
https://serverfault.com/questions/588206
复制相似问题