Linux防火墙相关命令

防火墙相关命令


在linux环境中,不同的操作系统,防火墙的命令是有差异的。Centos7使用的是firewall,之前的版本使用iptables。

CentOS7

1.查看防火墙状态

systemctl status firewalld
#或者
firewall-cmd --state

2.启动防火墙

systemctl start firewalld.service

若无法启动,按顺序执行如下命令:

systemctl unmask firewalld.service
systemctl start firewalld.service

3.关闭防火墙

systemctl stop firewalld.service

4.重启防火墙

systemctl retart firewalld.service
#或者
firewall-cmd --reload

5.启动开机启动防火墙

systemctl enable firewalld.service

6.关闭开机启动防火墙

systemctl disable firewalld.service

7.检查是否开机启用防火墙

systemctl is-enabled firewalld.service

8.查询某个端口是否开发

firewall-cmd --query-port=80/tcp

9.查询已开放的端口列表

firewall-cmd --list-port

10.增加开放端口

#--permanent永久生效,没有此参数重启后失效,格式为:端口/通讯协议
firewall-cmd --zone=public --add-port=80/tcp --permanent

11.移除开放端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 或者
firewall-cmd --permanent --remove-port=123/tcp #永久生效,没有permanent参数重启后失效

12.firewall-cmd命令

防火墙操作命令

firewall-cmd
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--remove-port=80/tcp #移除端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
--list-port #开放端口
--query-port=80/tcp #查询端口
--version #查看版本
--help #查看帮助文档
--state #显示状态
--reload #更新防火墙
--get-active-zones #查看区域信息
--panic-on #拒绝所有包
--panic-off #取消拒绝状态
--query-panic #查看是否拒绝

CentOS6

1.查看防火墙状态

service iptables status

2.启动防火墙

service iptables start

3.关闭防火墙

service iptables stop

4.启动开机启动防火墙

chkconfig -add iptables

5.关闭开机启动防火墙

chkconfig -del iptables

6.查看开机启动服务列表

centos6的服务启动脚本都放在/etc/rc.d/init.d/下,/etc/init.d/是/etc/rc.d/init.d/的软链接;

chkconfig --list

7.iptables命令

  • 语法格式

    iptables [-t 表名] 命令选项 [链名][条件匹配] [-j 目标动作或跳转]
    
    • -t:指定需要维护的防火墙规则表 filter、nat、mangle或raw。在不使用 -t 时则默认使用 filter 表

    • 命令选项:子命令,定义对规则的管理

    • 链名:规则链,与规则表配合

    • 条件匹配:匹配参数

    • ACTION:触发动作

  • 示例

    iptables -t filter -I INPUT -s 192.xx.xxx.xxx -p tcp --dport 3306 -j ACCEPT
    
  • 规则表

    名称 包含的链表 描述
    filter INPUT、FORWARD、OUTPUT 过滤数据包
    Nat PREROUTING、POSTROUTING、OUTPUT 用于网络地址转换(IP、端口) 内核模块:iptable_nat
    Mangle PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD 修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
    Raw OUTPUT、PREROUTING 决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
  • 命令选项规则

    选项 功能
    -A 添加防火墙规则
    -D 删除防火墙规则
    -I 插入防火墙规则
    -F 清空防火墙规则
    -L 列出添加防火墙规则
    -R 替换防火墙规则
    -Z 清空防火墙数据表统计信息
    -P 设置链默认规则
  • 规则链详情

    名称 描述
    INPUT 进来的数据包应用此规则链中的策略
    OUTPUT 外出的数据包应用此规则链中的策略
    FORWARD 转发数据包时应用此规则链中的策略
    PREROUTING 对数据包作路由选择前应用此链中的规则
    POSTROUTING 对数据包作路由选择后应用此链中的规则
  • 条件匹配

    参 数 功 能
    [!]-p 匹配协议,! 表示取反
    [!]-s 匹配源地址
    [!]-d 匹配目标地址
    [!]-i 匹配入站网卡接口
    [!]-o 匹配出站网卡接口
    [!]–sport 匹配源端口
    [!]–dport 匹配目标端口
    [!]–src-range 匹配源地址范围
    [!]–dst-range 匹配目标地址范围
    [!]–limit 四配数据表速率
    [!]–mac-source 匹配源MAC地址
    [!]–sports 匹配源端口
    [!]–dports 匹配目标端口
    [!]–stste 匹配状态(INVALID、ESTABLISHED、NEW、RELATED)
    [!]–string 匹配应用层字串
  • 目标动作或跳转

    触发动作 功 能
    ACCEPT 允许数据包通过
    DROP 丢弃数据包
    REJECT 拒绝数据包通过
    LOG 将数据包信息记录 syslog 曰志
    DNAT 目标地址转换
    SNAT 源地址转换
    MASQUERADE 地址欺骗
    REDIRECT 重定向

相关推荐

  1. Linux防火墙相关命令

    2024-01-11 01:10:03       59 阅读
  2. Linux 查看防火墙相关命令

    2024-01-11 01:10:03       41 阅读
  3. Linux防火墙相关命令整理【转】

    2024-01-11 01:10:03       51 阅读
  4. Linux相关命令使用

    2024-01-11 01:10:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-11 01:10:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-11 01:10:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-11 01:10:03       87 阅读
  4. Python语言-面向对象

    2024-01-11 01:10:03       96 阅读

热门阅读

  1. Kubernetes 调度器及其优化

    2024-01-11 01:10:03       46 阅读
  2. 3个Linux文件权限命令

    2024-01-11 01:10:03       55 阅读
  3. LeetCode 0383. 赎金信:计数

    2024-01-11 01:10:03       62 阅读
  4. sap报表导入查询数据检查

    2024-01-11 01:10:03       42 阅读
  5. 【笔记】Helm-2 如何使用-2 同步你的仓库

    2024-01-11 01:10:03       62 阅读
  6. linux网络

    2024-01-11 01:10:03       48 阅读
  7. LeetCode 2723. 两个 Promise 对象相加

    2024-01-11 01:10:03       48 阅读