当前位置 主页 > 技术大全 >

    Linux防火墙命令全解析
    linux firewall 命令

    栏目:技术大全 时间:2024-12-16 16:38



    Linux 防火墙命令:构建坚不可摧的安全防线 在当今的互联网环境中,网络安全问题日益严峻,无论是个人用户还是企业组织,都面临着来自四面八方的网络攻击威胁

        Linux 系统以其开源、稳定、高效的特点,在服务器领域占据了举足轻重的地位

        然而,即便是这样强大的操作系统,如果没有合适的防火墙保护,也会变得脆弱不堪

        本文将详细介绍 Linux 防火墙的常用命令,帮助读者构建一道坚不可摧的安全防线

         一、Linux 防火墙概述 Linux 防火墙主要依赖于 `iptables`和 `firewalld`两大工具

        `iptables` 是 Linux 内核自带的防火墙工具,功能强大但配置复杂;`firewalld` 则是一个动态管理防火墙的区域和服务的守护进程,提供了更为直观和友好的配置界面

         1.1 iptables `iptables` 是 Linux 下用于设置、维护和检查 IPv4 数据包过滤规则的工具

        通过定义规则,`iptables` 可以允许或拒绝进出系统的网络流量,从而保护系统免受攻击

         1.2 firewalld `firewalld` 提供了动态防火墙管理功能,支持区域(zones)和服务(services)的概念

        区域定义了网络连接的信任级别,而服务则是一组预定义的端口和协议

        `firewalld` 使得防火墙配置更加直观和易于管理

         二、iptables 基本命令 2.1 查看当前规则 sudo iptables -L -v -n - `-L`:列出规则

         - `-v`:显示详细信息(如数据包计数和字节计数)

         - `-n`:以数字形式显示地址和端口

         2.2 添加规则 sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT - `-A INPUT`:将规则添加到 INPUT 链

         - `-p tcp`:指定协议为 TCP

         - `--dport 22`:指定目标端口为 22(SSH)

         - `-j ACCEPT`:指定动作为接受

         2.3 删除规则 sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT - `-D INPUT`:从 INPUT 链中删除规则

         2.4 保存规则 由于 `iptables` 规则在系统重启后会丢失,因此需要将其保存到配置文件中

         对于基于 Debian 的系统(如 Ubuntu): sudo apt-get install iptables-persistent sudo netfilter-persistent save 对于基于 Red Hat 的系统(如 CentOS): sudo service iptables save 2.5 阻止特定 IP 地址 sudo iptables -I INPUT -s 192.168.1.100 -j DROP - `-I INPUT`:将规则插入到 INPUT 链的开头

         - `-s 192.168.1.100`:指定源 IP 地址

         - `-j DROP`:指定动作为丢弃

         三、firewalld 基本命令 3.1 启动和停止 firewalld sudo systemctl start firewalld sudo systemctl stop firewalld 3.2 启用和禁用 firewalld 开机自启 sudo systemctl enable firewalld sudo systemctl disable firewalld 3.3 查看当前区域和规则 sudo firewall-cmd --get-active-zones sudo firewall-cmd --list-all 3.4 添加服务到区域 sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload - `--zone=public`:指定区域为 public

         - `--add-service=http`:添加 HTTP 服务

         - `--permanent`:永久生效

         - `--reload`:重新加载防火墙配置

         3.5 开放特定端口 sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent sudo firewall-cmd --reload - `--add-port=8080/tcp`:开放 TCP 8080 端口

         3.6 允许特定 IP 地址访问 sudo firewall-cmd --zone=public --add-rich-rule=rule family=ipv4 source address=192.168.1.100 accept --permanent sudo firewall-cmd --reload - `--add-rich-rule`:添加富规则

         - `family=ipv4`:指定 IP 版本为 IPv4

         - `source address=192.168.1.100`:指定源 IP 地址

         四、高级配置与优化 4.1 日志记录 为了更好地监控和分析网络流量,可以启用 `iptables` 的日志记录功能

         sudo iptables -A INPUT