在linux系统上如何部署防火墙

在 Linux 系统中可以使用 iptables 或 firewalld 来部署防火墙。以下是分别介绍它们的部署方法:

一、使用 firewalld

  1. 安装 firewalld(如果系统没有预装):
    • 在基于 Red Hat 的系统(如 CentOS、Fedora)上:
     sudo yum install firewalld
  • 在基于 Debian 的系统(如 Ubuntu)上:
     sudo apt install firewalld

  1. 启动 firewalld 服务:
​sudo systemctl start firewalld
​
   - 设置为开机自启动:

sudo systemctl enable firewalld


3. 配置区域:
   - firewalld 有不同的区域,如 `public`、`internal`、`dmz` 等。默认情况下,新连接会被分配到 `public` 区域。
   - 可以使用 `firewall-cmd --get-default-zone` 查看默认区域。

4. 开放端口:
   - 例如,要开放 HTTP(80 端口)和 HTTPS(443 端口):

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent

   - `--permanent` 参数表示永久生效,需要重新加载防火墙配置使其生效:

sudo firewall-cmd --reload


5. 阻止特定 IP 或 IP 范围:
   - 例如,阻止 IP 地址为 192.168.1.100 的访问:

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
sudo firewall-cmd --reload


**二、使用 iptables**

1. 查看当前规则:
   - ```
     sudo iptables -L

  1. 开放端口:
    • 例如,开放 80 端口:
     sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  1. 保存规则(在系统重启后规则会丢失,需要保存):
    • 在基于 Red Hat 的系统上,可以使用 iptables-save 和 iptables-restore
      • 保存当前规则:
       sudo iptables-save > /etc/sysconfig/iptables

  • 在系统启动时恢复规则,可以在 /etc/rc.d/rc.local 文件中添加 iptables-restore < /etc/sysconfig/iptables
  • 在基于 Debian 的系统上,可以使用 iptables-persistent 包:
    • 安装包:
       sudo apt install iptables-persistent

  • 在安装过程中会提示你保存当前规则,之后系统启动时会自动加载保存的规则。

需要注意的是,配置防火墙时要谨慎操作,确保不会意外阻止必要的服务和连接。在进行重大配置更改之前,最好先测试并备份现有配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值