netstat -tuln
` ,,该命令将显示当前正在运行的所有TCP和UDP连接,并列出它们的本地和远程地址以及端口号。您可以使用以下命令之一来关闭特定的端口: ,,
` sudo iptables -A INPUT -p tcp --dport [port_number] -j DROP
` ,,或者 ,,
` sudo iptables -D INPUT -p tcp --dport [port_number] -j DROP
``技术介绍
在Linux系统中,我们可以使用iptables或firewalld等工具来管理网络流量和端口,本文将介绍如何使用这些工具关闭端口。
1、iptables
iptables是Linux系统中最常用的防火墙工具之一,它允许用户通过命令行配置网络包过滤规则,从而实现对网络流量的控制,要关闭一个端口,我们需要创建一个新的规则,将该端口的输入和输出方向的流量都阻止掉。
以下是一个使用iptables关闭端口的示例:
清除已有规则 sudo iptables -F 设置默认策略为拒绝 sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT 关闭指定端口(TCP协议的80端口) sudo iptables -A INPUT -p tcp --dport 80 -j DROP sudo iptables -A OUTPUT -p tcp --sport 80 -j DROP
2、firewalld
firewalld是Linux系统中另一个常用的防火墙工具,与iptables相比,firewalld提供了更加简洁的配置方式,并且可以自动更新规则,以下是一个使用firewalld关闭端口的示例:
确保firewalld已经安装并启动:
安装firewalld(如果尚未安装) sudo apt-get install firewalld 启动firewalld并设置开机自启 sudo systemctl start firewalld sudo systemctl enable firewalld
接下来,关闭指定端口(TCP协议的80端口):
永久关闭指定端口(TCP协议的80端口) sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" reject' sudo firewall-cmd --reload
相关问题与解答
1、如何查看当前系统中已启用的端口?
答:可以使用netstat
命令或ss
命令查看当前系统中已启用的端口,使用netstat
命令查看所有监听状态的端口:
netstat -tuln
或者使用ss
命令查看所有监听状态的端口:
ss -tuln | grep ESTABLISHED
2、如何查看防火墙中的规则?
答:可以使用iptables
或firewall-cmd
命令查看防火墙中的规则,使用iptables
命令查看所有规则:
sudo iptables -L --line-numbers
或者使用firewall-cmd
命令查看所有规则:
sudo firewall-cmd --list-all | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewall-cmd --list-all --permanent | grep "incoming\|outgoing" | grep "rule" || sudo firewall-cmd --reload && sudo firewalls list all >&2 &>/dev/null && sudo systemctl restart systemd-resolved.service && sudo systemctl reload NetworkManager.service && sudo systemctl restart NetworkManager.service && echo "防火墙规则已刷新!" || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火墙规则刷新失败!请检查防火墙配置。" && exit 1 || echo "防火
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/259625.html