在 Linux 上,要限制端口的访问,可以使用 iptables 或 firewalld 命令进行配置。
使用 iptables:
允许特定端口的访问:sudo iptables -A INPUT -p tcp --dport <port> -j ACCEPT 将 <port> 替换为你想要允许访问的端口号,例如 80、443。
拒绝特定端口的访问:sudo iptables -A INPUT -p tcp --dport <port> -j DROP 将 <port> 替换为你想要拒绝访问的端口号,例如 22、3389。
最后,保存并应用规则:sudo iptables-save
使用 firewalld:
允许特定端口的访问:
临时生效:sudo firewall-cmd --add-port=<port>/tcp
永久生效:sudo firewall-cmd --permanent --add-port=<port>/tcp 将 <port> 替换为你想要允许访问的端口号,例如 80、443。
拒绝特定端口的访问:
临时生效:sudo firewall-cmd --remove-port=<port>/tcp
永久生效:sudo firewall-cmd --permanent --remove-port=<port>/tcp 将 <port> 替换为你想要拒绝访问的端口号,例如 22、3389。
最后,重新加载防火墙配置:sudo firewall-cmd --reload
使用这些命令可以根据需要允许或拒绝特定端口的访问。请确保替换 <port> 为实际的端口号,并谨慎操作以避免不必要的访问限制或安全风险。
要列出 iptables 中所有打开的端口,你可以使用以下命令:
sudo iptables -L INPUT -n --line-numbers | grep "ACCEPT" | grep "dpt:"
这个命令将列出 INPUT 链中所有允许流量通过的规则,并过滤只显示打开的端口。输出结果将包含端口号和相应的协议。
而要列出 iptables 中所有关闭的端口,你可以使用以下命令:
sudo iptables -L INPUT -n --line-numbers | grep "DROP" | grep "dpt:"
这个命令将列出 INPUT 链中所有拒绝流量通过的规则,并过滤只显示关闭的端口。同样,输出结果将包含端口号和相应的协议。
请注意,在执行这些命令时,需要以管理员权限运行(比如使用 sudo)。这些命令将帮助你查看 iptables 中已配置的打开或关闭的端口。