我对 iptables 完全陌生。我写了两条规则:
1-iptables -A OUTPUT -p tcp – dport80 -j DROP.
2-iptables -A INPUT -i eth0 -j ACCEPT .
我想测试或检查它们,但我不知道如何进行?
另外,我想知道一些规则的含义:
1-iptables -A INPUT -s 192.168.0.4 -m mac --mac-source 00:50:8D:FD:E6:32 -j ACCEPT
2-iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT .
3-iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT.
4-iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT.
谢谢,
答案1
你的规则
规则 1:拒绝访问任何目标端口 TCP 80。
可以通过网络浏览器进行测试。任何具有 URL= 的页面都http://www.some.domain
必须无法访问。此类 URL 使用端口 TCP 80。
但是https://www.some.domain
(注意http中的“s”s) 将可达,因为它使用 TCP 443 端口。
待测试的纯HTTP(非HTTPS)页面:http://httpforever.com/
通用(HTTP 或 HTTPS)测试页:
您可以通过单击窗口右上角的 HTTP 或 HTTPS 链接来选择 HTTP (TCP 80) 或 HTTPS (TCP 443) 协议。
规则 2:允许传入连接到接口eth0
。
eth0
放置在该规则之下的有关接口传入流量的任何规则都是无用的。可以通过从另一个网络节点(例如PC)访问设置了IPtables规则的节点来进行测试。根据被测机器监听的端口,可以使用 ping、ssh、nc 等命令。
其他4条规则的含义
它们都是 ACCEPT 规则,它们允许输入流量。
- 允许来自 IP 地址 192.168.0.4 的连接和(同时)来自 MAC 地址 00:50:8D:FD:E6:32。发送节点应具有这些 IP 和 MAC 地址。例如,该规则可以防止重要网络节点的 ARP 攻击/地址欺骗。
- 允许来自 IP 网络 192.168.0.0/24 的连接,即来自地址 192.168.0.0 ... 192.168.0.255 的连接。值为
/24
掩码长度,相当于掩码 255.255.255.0 - 规则与规则2完全相同,但网络大小以另一种格式表示。使用掩码代替掩码长度(以位为单位)。
- 允许传入 TCP 流量以 6881 到 6890 的间隔到达目标端口。这些端口是本地端口,它们在设置 IPtables 规则的同一台计算机上侦听(或者它们可以侦听)。