linux 命令行防火墙两种具体操作firewalld和iptables

本文详细介绍CentOS系统中firewalld与iptables两种防火墙的配置与管理方法,包括服务控制、端口开放、IP屏蔽及规则设置等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld
 
 
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
 
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
 
调整默认策略(默认拒绝所有访问,改成允许所有访问):
firewall-cmd --permanent --zone=public --set-target=ACCEPT
firewall-cmd --reload
对某个IP开放多个端口:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.159.60.29" port protocol="tcp" port="1:65535" accept"
firewall-cmd --reload
二,IPTABLE
启动: service iptables start
关闭: service iptables stop
查看状态: service iptables status
开机禁用  : chkconfig iptables off
开机启用  : chkconfig iptables on
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许ping 
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT
3、屏蔽IP
#如果只是想屏蔽IP的话 “3、开放指定的端口” 可以直接跳过。
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
iptables -Fiptables -F
//清空规则缓冲区(这个操作会将上面的增加操作全部清空,若须保留建议先执行一下句:保存)
service iptables save
//将规则保存在/etc/sysconfig/iptables文件里
service iptables restart
//重启Iptables服务
//清空规则缓冲区(这个操作会将上面的增加操作全部清空,若须保留建议先执行一下句:保存)
service iptables save
//将规则保存在/etc/sysconfig/iptables文件里
service iptables restart
//重启Iptables服务
### 回答1: CentOS 系统防火墙两种iptables firewalld。 1. iptables:是 Linux 内核的一部分,是一个防火墙管理工具。使用 iptables 命令管理防火墙规则。 2. firewalld:是一个防火墙管理工具,可以动态管理防火墙规则。使用 firewall-cmd 命令管理防火墙规则。 ### 回答2: CentOS 系统有两种防火墙iptables firewalld。这两种防火墙都可以用于保护系统免受网络攻击恶意访问。 iptables 是一种传统的 Linux 防火墙工具,可以通过命令行来配置、管理监控防火墙规则。以下是一些常用的 iptables 命令: 1. iptables -L:列出当前防火墙规则列表。 2. iptables -F:清空所有防火墙规则。 3. iptables -A INPUT -p tcp --dport 80 -j ACCEPT:允许所有进入端口 80 的 TCP 连接。 4. iptables -A INPUT -p tcp --dport 22 -j DROP:禁止所有进入端口 22 的 TCP 连接。 5. iptables-save > /etc/sysconfig/iptables:保存当前防火墙规则至文件。 firewalld 是 CentOS 7 及更新版本中引入的防火墙管理工具,相比于 iptables,它提供了更加灵活方便的使用方式。以下是一些常用的 firewalld 命令: 1. systemctl start firewalld:启动 firewalld 服务。 2. firewall-cmd --state:检查 firewalld 是否处于运行状态。 3. firewall-cmd --list-all:显示当前防火墙规则配置的详细信息。 4. firewall-cmd --zone=public --add-port=80/tcp --permanent:永久性开放 80 端口,使其对外可访问。 5. firewall-cmd --reload:重新加载防火墙规则。 总之,对于 CentOS 系统,在使用防火墙时可以根据具体需求选择合适的工具。如果对于命令行操作更为熟悉或需要更精细的控制,可以使用 iptables;而如果需要更简单的操作集中管理,可以选择 firewalld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值