首页 > 系统相关 >在Linux中,iptables和firewalld两种防火墙如何使用?

在Linux中,iptables和firewalld两种防火墙如何使用?

时间:2024-04-08 11:01:07浏览次数:29  
标签:iptables cmd Linux -- sudo firewalld 规则

在Linux中,iptablesfirewalld是两种常用的防火墙工具,它们用于配置和管理系统的网络流量。它们都提供了对数据包的过滤、转发和网络地址转换(NAT)等功能。

1. iptables

iptables是Linux内核的防火墙组件,它提供了一个命令行界面来设置数据包过滤规则。iptables使用表(tables)和链(chains)来定义规则,每种表对应不同的网络层和功能。

基本使用

  1. 查看规则

    sudo iptables -L -n -v
    
  2. 添加规则
    例如,允许所有22端口(SSH)的流量:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  3. 删除规则
    删除特定的规则(假设规则编号为1):

    sudo iptables -D INPUT 1
    
  4. 保存规则
    iptables的规则是临时的,需要保存才能在系统重启后保持。不同的发行版有不同的保存方法。在Debian基础上的系统,可以使用:

    sudo iptables-save > /etc/iptables/rules.v4
    

    在Red Hat基础上的系统,可以使用:

    sudo service iptables save
    
  5. 恢复默认规则
    清空所有规则并加载默认策略:

    sudo iptables -F
    sudo iptables -X
    
2. firewalld

firewalld是一个动态管理防火墙的守护进程,它提供了一个更易于使用的界面,支持即时添加和删除规则。firewalld使用区域(zones)和服务(services)的概念来管理规则。

基本使用

  1. 启动和停止服务

    sudo systemctl start firewalld
    sudo systemctl stop firewalld
    
  2. 查看默认区域和规则

    sudo firewall-cmd --get-default-zone
    sudo firewall-cmd --list-all
    
  3. 添加规则
    允许所有22端口(SSH)的流量:

    sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
    
  4. 删除规则
    删除特定的规则(假设端口为22):

    sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent
    
  5. 重新加载规则
    应用更改:

    sudo firewall-cmd --reload
    
  6. 启用或禁用服务
    允许HTTP服务:

    sudo firewall-cmd --zone=public --add-service=http --permanent
    

    禁用FTP服务:

    sudo firewall-cmd --zone=public --remove-service=ftp --permanent
    
3. 注意事项
  • iptablesfirewalld可以同时存在于一个系统上,但通常建议只使用其中一个,以避免规则冲突。
  • iptables更适合熟悉命令行和需要精细控制的用户。
  • firewalld提供了更友好的用户界面,适合需要快速配置和管理防火墙的用户。
  • 在修改防火墙规则时,务必确保新的规则不会影响系统的安全性和网络的可用性。
  • 保存规则后,确保测试新规则以验证其正确性和系统的功能。

综上所述,通过使用iptablesfirewalld,你可以有效地管理Linux系统的网络安全,控制进出系统的网络流量,保护系统免受未授权访问和网络攻击。

标签:iptables,cmd,Linux,--,sudo,firewalld,规则
From: https://www.cnblogs.com/huangjiabobk/p/18120666

相关文章

  • 在Linux中,如何实现数据备份和恢复?
    在Linux中,数据备份和恢复是一个涉及多个层面和工具的过程,以下是如何在Linux中实现数据备份和恢复的基本步骤和常见方法:1.数据备份:文件和目录备份:使用tar命令:tar是Linux中常用的归档和备份工具,可以创建文件和目录的压缩备份。#创建一个未压缩的tar备份tar-cfbackup.ta......
  • 在Linux中,如何配置SSH以确保远程连接的安全?
    在Linux中,可以通过以下步骤配置SSH以确保远程连接的安全:更新SSH软件包:首先,确保已安装最新版本的OpenSSH软件包。在终端中运行以下命令来更新软件包:sudoapt-getupdatesudoapt-getupgradeopenssh-server修改SSH端口:默认情况下,SSH服务器使用端口22。为了......
  • linux环境安装——整理汇总
    性能测试复习准备——linux环境下——常用命令简记  性能测试复习准备——linux环境下安装nginx-1.24.0.tar.gz  性能测试复习准备——linux环境下安装nacos-server-2.3.0.tar.gz  性能测试复习准备——linux环境下安装kafka_2.13-3.2.3.tgz  ......
  • Linux 使用 crontab 定时拆分日志、清理过期文件
    @目录前言简介一、准备工作1.1创建写入脚本1.2设置执行权限1.3添加定时任务1.4配置生效二、Tomcat日志按每天分割2.1创建一个sh文件2.2设置执行权限2.3设置crontab指令,指定每日定时任务2.4配置生效总结前言请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、......
  • mkdir命令Linux新建文件夹
    大家好,下面给大家介绍一下Linux中新建文件夹的命令,他一般用三种方法,1、先cd进入需要创建文件夹的路径,输入命令mkdirabc这里的abc表示新建的文件夹名称.2、直接在任意目录输入详细路径创建文件夹mkdir/home/bin/abc这里表示在home下的bin文件夹下创建abc文件夹.3.-p,带上这......
  • Linux编程中进程的概念和环境变量
    目录概述1认识进程1.1进程的定义1.2进程状态1.3进程的调用2进程环境2.1进程ID2.2父进程与子进程2.3UID和GID2.4环境变量2.4.1通过main函数参数获取环境变量2.4.2environ全局变量获取环境变量2.4.3getenv()函数获取环境变量2.5环境变量的作用3......
  • Linux下/dev/null介绍
    前言/dev/null是一个特殊的设备文件,它丢弃一切写入其中的数据,可以将它视为一个黑洞,它等效于只写文件,写入其中的所有内容都会消失,尝试从中读取或输出不会有任何结果,/dev/null在命令行和脚本中都非常有用。使用java-jarapp.jar>/dev/null#表示忽略标准输出java-jarapp......
  • Linux核心目录及核心命令
    1.运维必备职场技能01:如何有效提问?1.1示范错误示范:可以适当客气,没有直奔主题。路人甲:李导,在吗?忙不忙?我有个问题 过了1个小时 李导996:在,请说。 过了2个小时路人甲:李导,我这里有个服务的故障,可以帮助我下吗? 过了1个小时 李导996:请讲路人甲:李导,有......
  • Linux下安装Kubernetes
    准备工作预留2G左右的内存,尽可能多,需要提前安装了dockerkubeadm:用来初始化集群的指令。kubelet:在集群中的每个节点上用来启动Pod和容器等。kubectl:用来与集群通信的命令行工具。集群安装,但只有一个节点curl-LOhttps://storage.googleapis.com/minikube/releases/lates......
  • linux自动化运维之ansible实战
    ansible基础介绍优点-相比于saltatack和puppet,没有客户端,更轻量级-只是一个工具,可以很容易实现分布式拓展-更强的远程执行命令特点-模块化-支持自定义模块,可以用任何语言编写模块-基于python语言实现-部署简单,基于python和ssh,agentless,无需代理-安全安装......