Linux防火墙配置


启用 iptables(对于 Debian 10 及之前的版本):

  1. 安装 iptables(如果尚未安装):
sudo apt-get install iptables
  1. 启动 iptables 服务:
sudo systemctl start iptables
  1. 配置 iptables 规则,例如,允许 SSH 流量(端口 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  1. 保存规则以在启动时加载:
sudo iptables-save > /etc/iptables/rules.v4

启用 nftables(对于 Debian 11 及以后的版本):

  1. 启动 nftables 服务:
sudo systemctl start nftables
  1. 配置 nftables 规则,例如,允许 SSH 流量(端口 22):
sudo nft add rule ip filter input tcp dport 22 accept
  1. 保存规则以在启动时加载:
sudo nft list ruleset > /etc/nftables.conf

通过修改配置文件来阻止端口 81 的流量的示例:

  1. 打开 nftables 的配置文件:

    sudo nano /etc/nftables.conf

  2. 在配置文件中,添加以下规则来阻止端口 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

声明:Hack All Sec的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Linux防火墙配置


Hacker perspective for security