启用 iptables(对于 Debian 10 及之前的版本):
- 安装 iptables(如果尚未安装):
sudo apt-get install iptables
- 启动 iptables 服务:
sudo systemctl start iptables
- 配置 iptables 规则,例如,允许 SSH 流量(端口 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 保存规则以在启动时加载:
sudo iptables-save > /etc/iptables/rules.v4
启用 nftables(对于 Debian 11 及以后的版本):
- 启动 nftables 服务:
sudo systemctl start nftables
- 配置 nftables 规则,例如,允许 SSH 流量(端口 22):
sudo nft add rule ip filter input tcp dport 22 accept
- 保存规则以在启动时加载:
sudo nft list ruleset > /etc/nftables.conf
通过修改配置文件来阻止端口 81 的流量的示例:
打开 nftables 的配置文件:
sudo nano /etc/nftables.conf
- 在配置文件中,添加以下规则来阻止端口 81 的流量:
table inet my_filter {
chain input {
type filter hook input priority 0;
tcp dport 81 drop
}
}
应用新的配置:
sudo nft -f /etc/nftables.conf
firewall(Centos)
firewalld 是 CentOS 7 和 CentOS 8 默认的防火墙管理器。您可以使用以下命令来管理 firewalld:
启动/停止/重启 firewalld 服务:
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
检查 firewalld 服务状态:
systemctl status firewalld
开放端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
关闭端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload
列出已经开放的端口:
firewall-cmd --list-ports
允许/拒绝特定服务:
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
设置默认的区域:
firewall-cmd --set-default-zone=public
Comments | NOTHING