gpt4 book ai didi

linux - 添加Iptables规则后无法访问端口号80和443

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:27 24 4
gpt4 key购买 nike

在我的 CentOS 6 中,我添加了一个 IPtables 规则,比如 DROP all the policy like

iptables -P INPUT DROP

然后我允许端口号 22,80,443 使用此命令,

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

现在可以使用 putty 访问 SSH。但是我不能上网。我必须知道这个的确切问题。?请帮助我。

最佳答案

当然您不能访问互联网。您刚刚添加了一条丢弃所有传入流量的规则(传入端口 22、80 和 443 的流量除外)。

当您尝试访问互联网时(如果您使用的是浏览器),您的机器会建立连接

<local IP>:<port1>  <---->  <remote IP>:80

当远程服务器响应您时,它会响应您发送请求的同一端口 1(不会是 22、80 或 443。它通常是高于 32768 的数字),因此它会被 iptables 丢弃。

试试这些规则:

iptables -P INPUT DROP
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

第二条规则告诉 IP 表接受到达我们的流量,如果它到达我们用来发送传出流量的端口。这将允许您查看您正在删除的服务器的响应。

但是,DNS 流量仍然存在问题,因为它使用 UDP 而不是 TCP。您可以通过将第一条规则更改为:

iptables -P INPUT -p tcp DROP

所以它只丢弃 TCP 流量而不丢弃 UDP 流量。可能有其他方法可以解决 DNS 问题,具体取决于您想要做什么。

所以你的最终规则集应该是这样的:

iptables -P INPUT -p tcp DROP
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

关于linux - 添加Iptables规则后无法访问端口号80和443,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32135042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com