虚拟机内关于防火墙的命令

Linux中的防火墙类型

  1. iptables:基于内核的防火墙,使用表(tables)和链(chains)来管理规则。

  2. nftables:新一代的防火墙框架,旨在替代 iptables,提供更灵活和高效的规则管理。

  3. firewalld:动态管理防火墙规则的服务,支持区域(zones)和富规则(rich rules),适用于RHEL、CentOS等系统。

  4. UFW (Uncomplicated Firewall):基于 iptables 的简化防火墙管理工具,适用于Debian和Ubuntu系统。

防火墙的下载

firewalld

sudo yum install firewalld  # 适用于RHEL/CentOS
sudo apt-get install firewalld  # 适用于Debian/Ubuntu

UFW

sudo apt-get install ufw  # 适用于Debian/Ubuntu

防火墙的开启和关闭

1、设置处修改
  1. firewalld

    • 开启:在系统设置中找到“防火墙”或“安全”选项,启用 firewalld

    • 关闭:在系统设置中找到“防火墙”或“安全”选项,禁用 firewalld

  2. UFW:

  • 开启:在系统设置中找到“防火墙”或“安全”选项,启用 UFW

  • 关闭:在系统设置中找到“防火墙”或“安全”选项,禁用 UFW

2、命令行修改

1、firewalld:

开启:

sudo systemctl start firewalld
sudo systemctl enable firewalld

   关闭:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

eg:允许HTTP和HTTPS流量:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

2、UFW:

开启:

sudo ufw enable

关闭:

sudo ufw disable

添加和修改防火墙规则

1、firewalld

1.添加规则:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="255.255.255.255" service name="ssh" reject'
sudo firewall-cmd --reload

2.修改规则:

sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="255.255.255.255" service name="ssh" reject'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="255.255.255.255" service name="ssh" accept'
sudo firewall-cmd --reload

3.删除规则:

删除富规则
1. 列出当前的富规则:

   sudo firewall-cmd --list-rich-rules

2. 删除特定的富规则:

  sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="255.255.255.255" service name="ssh" reject'

3. 重新加载防火墙配置以应用更改:

   sudo firewall-cmd --reload

删除端口规则
如果之前添加了端口规则,可以使用以下命令删除:

1. 列出当前的端口规则:

   sudo firewall-cmd --reload

2. 删除特定的端口规则:

   sudo firewall-cmd --permanent --remove-port=<端口号>/<协议>

3. 重新加载防火墙配置以应用更改:

   sudo firewall-cmd --reload

删除服务规则
如果之前添加了服务规则,可以使用以下命令删除:

1. 列出当前的服务规则:

   sudo firewall-cmd --list-services

2. 删除特定的服务规则:

 sudo firewall-cmd --permanent --remove-service=<服务名称>

3. **重新加载防火墙配置以应用更改**:
 

sudo firewall-cmd --reload

tips:添加规则的时候如果没有使用 --permanent 选项,那么规则只会在当前会话中生效,重启后会丢失。确保使用的是永久规则

tips2:[规则顺序]防火墙规则是按顺序处理的,如果之前有其他规则允许了来自255.255.255.255的SSH访问,那么新添加的拒绝规则可能不会生效。可以通过以下命令查看所有规则

sudo firewall-cmd --list-all

2、UFW

1.添加规则:

sudo ufw allow 22/tcp  # 允许SSH访问
sudo ufw reload

2.修改规则:

sudo ufw delete allow 22/tcp
sudo ufw deny 22/tcp
sudo ufw reload

查看当前防火墙规则

1.firewalld

sudo firewall-cmd --list-all

2.UFW

sudo ufw status verbose

3.iptables

sudo iptables -L -n -v

4.nftables

sudo nft list ruleset

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值