首页 > 系统相关 >在Linux中,如何配置防火墙?

在Linux中,如何配置防火墙?

时间:2024-05-01 16:22:05浏览次数:28  
标签:iptables sudo -- 配置 防火墙 firewall cmd Linux

在Linux中,配置防火墙通常涉及到两个常用的工具:iptablesfirewalld。这两个工具都可以用来设置防火墙规则,但它们的工作方式和配置方法有所不同。

1. 使用iptables配置防火墙

iptables是一个命令行工具,它提供了丰富的功能来控制进出系统的网络流量。

  1. 查看当前规则

    sudo iptables -L -n
    
  2. 允许特定服务
    允许HTTP和HTTPS服务通过防火墙:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  3. 允许来自特定IP的流量
    允许来自IP地址1.2.3.4的所有流量:

    sudo iptables -A INPUT -s 1.2.3.4 -j ACCEPT
    
  4. 拒绝特定服务
    拒绝所有外部的SSH连接:

    sudo iptables -A INPUT -p tcp --dport 22 -j DROP
    
  5. 保存规则
    保存当前的iptables规则:

    sudo iptables-save > /etc/iptables/rules.v4
    
  6. 重启iptables服务
    重启iptables服务以应用更改:

    sudo systemctl restart iptables
    
2. 使用firewalld配置防火墙

firewalldiptables的前端管理工具,它提供了一个动态防火墙管理界面。

  1. 查看状态
    查看firewalld服务的状态:

    sudo firewall-cmd --state
    
  2. 查看所有开放的端口

    sudo firewall-cmd --list-ports
    
  3. 允许特定端口
    允许端口80(HTTP)的流量:

    sudo firewall-cmd --add-port=80/tcp --permanent
    
  4. 拒绝特定端口
    拒绝端口8080(可以是任何其他端口)的流量:

    sudo firewall-cmd --add-rich-rule='rule family="ipv4" port port=8080 protocol=tcp drop' --permanent
    
  5. 允许来自特定IP的流量
    允许来自IP地址1.2.3.4的所有流量:

    sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address=1.2.3.4 accept' --permanent
    
  6. 重新加载防火墙规则
    重新加载firewalld以应用更改:

    sudo firewall-cmd --reload
    
  7. 禁用防火墙
    如果你需要临时禁用防火墙,可以使用:

    sudo firewall-cmd --runtime-to=0
    
3. 注意事项
  • 在配置防火墙规则时,请确保你有足够的权限。
  • 在修改防火墙规则之前,确保你了解每条规则的影响,以避免意外地锁定自己或使服务不可用。
  • 定期审查防火墙规则,确保它们符合安全策略。
  • 在生产环境中,建议在维护时间窗口内进行防火墙配置更改,并确保有回滚计划。

综上所述,通过使用iptablesfirewalld,你可以控制进出Linux系统的网络流量,从而提高系统的安全性。

标签:iptables,sudo,--,配置,防火墙,firewall,cmd,Linux
From: https://www.cnblogs.com/huangjiabobk/p/18169435

相关文章

  • 【Qt 专栏】Qt Creator 的 git 配置 & 上传到gitee
    1.进入到Qt项目文件夹内,打开“GitBashHere”2.初始化,在“GitBashHere”中输入  gitinit3.加入所有文件,在“GitBashHere”中输入 gitadd. (需要注意,gitadd后面还有一个点)4.添加备注,gitcommit-m"备份"5.推送本地仓库到gitee(需要事先在gitee上创建好本......
  • linux下调试串口设备
    USB转串口常用CH34x芯片,该芯片有linux下的驱动。在默认情况下,大部分linux发行版都包含了CH34x的驱动,唯一缺点就是版本比较久。可以先插上开发板,一般是挂载到/dev/ttyCH341USB0文件下,如果该文件不存在,有两种可能,一种是驱动版本太久,可以下载官方的驱动文件,然后编译安装。官方驱......
  • Linux基础之网络管理
    目录网络配置服务管理防火墙配置文件下载wget和curl网络连接信息netstat和ssLinux网络管理涉及一系列任务,包括配置网络接口、设置IP地址、管理网络服务和防火墙等。网络配置网卡命名根据网络接口定义设备:ethX传统的以太网接口命名方式,其中X通常是数字,如eth0等wlan......
  • nginx配置文件
      userroot;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connections1024;}http{include/etc/nginx/mime.types;default_typeapplication/octet-stream;......
  • 如何在aws cli中使用多个配置文件
    awscli使用中,可能会有在多个IAM账户中进行切换的需求,手动切换~/.aws/目录下的config和credentials是十分费力的事情。还好awscli本身就可以支持多个awscredentials配置多个profileawsconfigure时,加上--profile参数来命名不同的账户,依次输入accessid,accesskey,region......
  • kali系统在hyper-v上的配置
    镜像下载地址下载:将压缩包解压,后找到.bat文件,以管理员身份运行。之后便可以在\(hyper-v\)管理器中看到其虚拟机。汉化处理:在最上面找到终端,点击打开。1.打开终端输入命令:sudodpkg-reconfigurelocales,回车。输密码。第二步:使用键盘键(向下键)一直翻到最后,此处无法使......
  • win10 hyper-v 配置教程
    非家庭版跳过以下这一步。pushd"%~dp0"dir/b%SystemRoot%\servicing\Packages\*Hyper-V*.mum>hv.txtfor/f%%iin('findstr/i.hv.txt2^>nul')dodism/online/norestart/add-package:"%SystemRoot%\servicing\Packages\%%i"......
  • 猿代码 Linux基础操作
    Linux基础操作常用操作命令--help#获取/home/user/soft/bin/myexe#执行第三方程序./myexe#当前目录下执行第三方程序whoami#用户名称hostname#服务器名称当前所使用的节点lscpu#查看cpu信息free-h#查看内存信息top#查看哪些进程在运行lsls-l#详细列表显示......
  • 嵌入式Linux,openssh连接报错:ssh_sandbox_violation: unexpected system call
     背景:使用buildroot编译完镜像,烧录到开发板,板子上电启动后,网络正常,ssh不能连接,sshd相同配置在其他机器上可以正常使用;查看内核日志,看到连接时上报异常系统调用的错误:Jan100:01:18NanoPC-T2auth.critsshd[278]:fatal:ssh_sandbox_violation:unexpectedsystemcall......
  • Linux 修改时间
    Linux修改系统时间的两种方式-知乎(zhihu.com)debian安装NTP并设置自动时间同步_debianntpdate-CSDN博客命令修改root@debian:~#date-s"2024-04-3016:43:10"2024年04月30日星期二16:43:10CSTroot@debian:~#root@debian:~#root@debian:~#date2024年04月......