• iptables 基本操作


    iptables 基本操作

    一、 基本概念

    四表五链

    四表

    表名 作用
    filter (默认) 过滤数据包
    nat 网络地址转换、 端口、地址映射
    mangle 用于对特定数据报的修改
    rwa 优先级最高,主要做连接追踪(一般不用)

    五链

    链名 作用
    PREROUTING 进入路由表之前
    INPUT 通过路由表后,目的为本机
    FORWARD 通过路由表后, 做转发
    OUTPUT 由本机向外出的数据
    POSTROUTING 出路由表后的

    数据包走向

    二、 命令操作

    iptables [-t 表名] 命令选项 [链名] [规则号码] [条件匹配] [-j 目标动作]

    例如:允许80端口通过防火墙

    # iptables -t 表名  -I 链名 -p tcp协议  目的端口80 -j 动作 允许通过
    iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
    
    
    # iptables 默认表 filter 可以省略
    iptables  -I INPUT -p tcp --dport 80 -j ACCEPT
    
    1 . 查看 防火墙规则

    -t:后面接table

    -L:列出目前的table的规则

    -n:不进行IP与HOSTNAME的反查,显示信息速度回快很多。

    -v:列出更多的信息,包括通过该规则的数据包总位数、相关的网络接口等

    # 查看规则
    iptables -nL
    
    iptables -t 某个表  -nL
    
    
    2 . 添加规则

    -I : 插入

    -A : 追加

    # iptables 默认表 filter 可以省略
    iptables  -I INPUT -p tcp --dport 80 -j ACCEPT
    
    
    # 也可以写成这样, -m 模块(添加80端口)
    iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    # (添加22端口)
    iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    

    -j 后面跟动作 :

    ACCEPT:允许数据包通过。

    DROP:直接丢弃数据包,不给任何回应信息,这时候客户端会感觉自己的请求泥牛入海了,过了超时时间才会有反应。

    REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息。

    3 . 删除某条规则

    -D : 删除规则

    # 删除某条规则,分2种 一个按照序号, 一个详细信息
    1、 按序号(需要先查看)
    iptables -nL --line     # 查看 显示序号
    
    iptables -D  INPUT  2 	# 删除序号2
    iptables -t nat -D PREROUNTING 2  # 删除 nat 表 prerounting 链的第二条
    
    2、 按详细信息(怎么添加的怎么删除)
    把 -I  换成 -D
    iptables  -D  INPUT -p tcp --dport 80 -j ACCEPT
    
    

    --line : 查看显示序号

    4. 清空防火墙规则
    iptables -F
    
    iptables -t filter -F    # 清空filter表的所有规则
    
    
    5. 命令设置只是暂时- 永久保存
    # 需要保存到配置文件中
    
    iptables-save
    
    6. 本地端口转发
    # 外部访问 9999 端口,实际访问的是80 端口, 80端口不允许直接访问
    
    iptables -t mangle -I PREROUTING -p tcp --dport 80 -j DROP
    iptables -t nat -I PREROUTING -p tcp --dport 9999 -j REDIRECT --to-ports 80
    
    # 防火墙允许端口
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    iptables -I INPUT -p tcp --dport 9999 -j ACCEPT
    
  • 相关阅读:
    维护
    zabbix监控线
    java——快排、冒泡、希尔、归并
    java——注解处理器
    spring boot——常用注解
    java——修改txt文件中某一行的内容
    spring boot——关于一个Mysql主键的问题
    mysql
    springboot
    自信点,不要怕
  • 原文地址:https://www.cnblogs.com/aaak/p/14926982.html
Copyright © 2020-2023  润新知