zoukankan      html  css  js  c++  java
  • Linux iptables设置

    先举例子说明,若服务器网卡:

    eth0 10.10.0.100

    eth0:0 10.10.0.200

    eth0:1 10.10.0.201

    eth0:2 10.10.0.202

    只允许10.10.0.100的IP启用80端口

    iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

    需要关闭10.10.0.100的80端口,其他ip的80端口都需要打开

    iptables -A INPUT -i eth0 -d 10.10.0.100 -p tcp --dport 80 -j DROP

    只允许 10.10.0.100 访问本机的80端口

    iptables -I INPUT -p TCP –dport 80 -j DROP

    iptables -I INPUT -s 10.10.0.80 -p TCP –dport 80 -j ACCEPT

    禁用80端口

    iptables -I INPUT -p tcp --dport 80 -j DROP

    打开80端口

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT

    只允许通过域名请求80端口
     iptables -A INPUT -s 100.64.0.0/10 -p tcp --dport 80 -j ACCEPT 

    理论详解: 

    INPUT 链 – 处理来自外部的数据。
    OUTPUT 链 – 处理向外发送的数据。
    FORWARD 链 – 将数据转发到本机的其他网卡设备上。
    保存现有的规则:
    iptables-save > /etc/iptables.rules
    然后新建一个 bash 脚本,并保存到 /etc/network/if-pre-up.d/ 目录下:
    #!/bin/bash
    iptables-restore < /etc/iptables.rules
    这样,每次系统重启后 iptables 规则都会被自动加载


    描述规则的基本参数
    -p 协议(protocol)
    指定规则的协议,如 tcp, udp, icmp 等,可以使用 all 来指定所有协议。
    如果不指定 -p 参数,则默认是 all 值。这并不明智,请总是明确指定协议名称。
    可以使用协议名 (如 tcp),或者是协议值(比如 6 代表 tcp)来指定协议。映射关系请查看 /etc/protocols
    还可以使用–protocol 参数代替 -p 参数
    -s 源地址(source)
    指定数据包的源地址
    参数可以使 IP 地址、网络地址、主机名
    例如:-s 192.168.1.101 指定 IP 地址
    例如:-s 192.168.1.10/24 指定网络地址
    如果不指定 -s 参数,就代表所有地址
    还可以使用–src 或者–source
    -d 目的地址(destination)
    指定目的地址
    参数和 -s 相同
    还可以使用–dst 或者–destination
    -j 执行目标(jump to target)
    -j 代表 ”jump to target”
    -j 指定了当与规则 (Rule) 匹配时如何处理数据包
    可能的值是 ACCEPT, DROP, QUEUE, RETURN
    还可以指定其他链(Chain)作为目标
    -i 输入接口(input interface)
    -i 代表输入接口 (input interface)
    -i 指定了要处理来自哪个接口的数据包
    这些数据包即将进入 INPUT, FORWARD, PREROUTE 链
    例如:-i eth0 指定了要处理经由 eth0 进入的数据包
    如果不指定 -i 参数,那么将处理进入所有接口的数据包
    如果出现! -i eth0,那么将处理所有经由 eth0 以外的接口进入的数据包
    如果出现 -i eth+,那么将处理所有经由 eth 开头的接口进入的数据包
    还可以使用–in-interface 参数
    -o 输出(out interface)
    -o 代表 ”output interface”
    -o 指定了数据包由哪个接口输出
    这些数据包即将进入 FORWARD, OUTPUT, POSTROUTING 链
    如果不指定 -o 选项,那么系统上的所有接口都可以作为输出接口
    如果出现! -o eth0,那么将从 eth0 以外的接口输出
    如果出现 -i eth+,那么将仅从 eth 开头的接口输出
    还可以使用–out-interface 参数

    Iptables 命令格式

    Iptables过滤条件

     

    参考链接:

    http://segmentfault.com/a/1190000002540601

    http://www.cnblogs.com/metoy/p/4320813.html

  • 相关阅读:
    mac 环境下adb的安装
    iOS开发Swift版本
    UILabel-Swift
    Android应用上架
    Android应用开发
    andriod
    Android 6.0 更新包与已安装应用的签名不一致
    苹果手机怎么录屏 iOS12设置录屏
    Siri语音唤醒的开启与语音矫正
    Git的工作流程
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/4560351.html
Copyright © 2011-2022 走看看