如何使用 iptables 拒绝到本地主机端口 80 的所有流量但允许来自本地机器的流量?

如何使用 iptables 拒绝到本地主机端口 80 的所有流量但允许来自本地机器的流量?

如何使用 iptables 拒绝到本地主机端口 80 的所有流量但允许来自本地机器的流量?

这是我当前的解决方案,似乎不会阻止流量。ip,本地机器的 ip。如果我不输入第二行,所有流量都会被阻止,启用它后,所有流量都会被接受?!

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A INPUT -p tcp --dport 80 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 10.80.225.83 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j LOG --log-prefix "TCP LOGDROP: "

只是要确定:

  • 10.80.225.83是 Web 服务器的 IP,我希望能够访问 127.0.0.1:80
  • 我确实想10.80.225.83拒绝端口 80 上的任何连接,除来自本地主机的连接之外的其他连接。

答案1

iptables -I INPUT ! -i lo -p tcp --dport 80 -j DROP

当流量从你的机器流向你的机器时,始终具有输入接口“lo”。源或目标 IP 地址无关紧要。

答案2

如果可能的话,您能否提供全部内容/etc/sysconfig/iptables?(一旦信息可用,我将更新我的答案(如果适用))

由于我必须假设没有默认的 DROP 规则,因此您需要:

iptables -A INPUT -p tcp --dport 80 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 10.80.225.83 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j LOG --log-prefix "TCP LOGDROP: "

iptables -A 输入 -p tcp --dport 80 -j DROP

相关内容