• Linux iptables



    软件防火墙,它是建立在netfilter架构基础上的一个包过滤管理工具;提供包过滤、NAT(网络地址转换)和通用的pro-route packet mangling。

    所在目录:/etc/init.d/iptables
    所有规则文件:/etc/sysconfig/iptables

    自身基本操作

    • 启动iptables:service iptables start
    • 关闭iptables:service iptables stop
    • 重启iptables:service iptables restart
    • 查看iptables状态:service iptables status
    • 保存iptables配置:service iptables save
    • iptables服务配置文件:/etc/sysconfig/iptables-config
    • iptables规则保存文件:/etc/sysconfig/iptables
    • 打开iptables转发:echo "1" > /proc/sys/net/ipv4/ip_forward

    三种内建链

    1、INPUT链 处理来自外部的数据;
    2、OUTPUT链 处理向外发送的数据;
    3、FORWARD链 将数据转发到本机上的其他网卡设备上;

    指令

    • ACCEPT:数据包被允许到达目的地;
    • REJECT:数据包被拒绝并返回给发数据包主机一个简单的解释;
    • DROP:数据包被拒绝不返回任何信息;


    包状态

    • NEW:第一服务器发送给第二服务器一个SYN数据包来新建一个连接;
    • RELATED:第二服务器接收SYN数据库并发送给第一服务器一个SYN-ACK数据包来确定连接正常;
    • ESTABLISHED:第一服务器收到SYN-ACK数据包并发送给第二服务器,TCP三次握手完成;

    注意


    1、规则的顺序;如果一开始就添加了阻止任何的规则,那么下面的规则就不起作用了。
    2、编写的规则是存储在内存中的,重启后就会失效,因此需要手工执行初始化脚本来保存规则;
    3、如何你是通过SSH等远程管理服务器的,那么首先配置规则添加允许ssh的规则。

    参数-A:增加一个规则
    -D 删除规则
    -R 替换
    -I 插入
    -L 显示所有规则
    -F 删除所有规则
    -s:来源IP
    -d:目的地址
    -i:指定网卡
    -p:指定通信协议
    --sport:源端口
    --dport:目的端口
    --state:状态
    -j:指令

    基于TCP/IP状态的规则


    iptables -A INPUT -m state --state RELATED,ESTABLISHED j ACCEPT
    iptables -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED

    阻止IP

    iptables -A INPUT -s ip -j DROP


    保存规则

    /etc/init.d/iptables save
    /etc/init.d/iptables stop
    /etc/init.d/iptables start

     

  • 相关阅读:
    Jaxb2 实现JavaBean与xml互转
    标准输入与标准输出
    linux 一行一行的读取文件
    linux $* 和$@ if [ ](字符串比较)
    scala 学习(三)——Array和ArrayBuffer
    Shell编程(六)awk工具
    Shell编程(五)脚本语法
    Shell编程(四)Shell变量
    Shell编程(三)Shell特性
    Shell编程(一)概览
  • 原文地址:https://www.cnblogs.com/endust/p/11881647.html
Copyright © 2020-2023  润新知