zoukankan      html  css  js  c++  java
  • Linux Iptables

    • iptables是Linux中内核防火墙,可以对出入计算机的流量进行控制。
    •  iptables -t --table [tablename]:系统中默认的表有五个:
    1.   filter表:(如果没有提供-t选项,默认使用filter表)。filter表中有 INPUT,FORWARD,OUTPUT三条链,INPUT链对入站数据包进行检测,FORWARD链对路由数据包进行检         测,OUTPUT对本机产生的出站数据包进行检测。
    2.   nat表:使用本机做NAT转换时使用这个表。nat表中有PREROUTING,OUTPUT,POSTROUTING三条链:当数据包到达本机时PREROUTING链就起作用,对数据包进行检          查;OUTPUT链对本机产生的即将被路由的数据包发挥作用;当数据将要离开时,POSTROUTING链发挥作用。
    3.   mangle表:修改包中的参数。mangle表中有INPUT,OUTPUT,PREROUTING,POSTROUTING,FORWARD五条链:INPUT对入站数据包做更改,OUTPUT对本机产生的出         站数据包参数做出更改;PREROUTING对即将进行路由的数据包做更改;POSTOUTING对将要出站的数据包进行更改;FORWARD对经过本机路由的数据包进                  行参数修改。
    4.   raw表:修改数据链路层数据。有PREROUTING,OUTPUT两条链。PREROUTING对到达本机网络接口的数据发挥作用,OUTPUT对本机产生的数据发挥作用。
    5.   security表:配置MAC(Mandatory Acess Control)规则,有INPUT,OUTPUT,FORWARD三条链;INPUT对入站数据设置规则,OUTPUT对出站数据配置规则,              FORWARD对经过本站路由的数据设置规则。

    OPTIONS

      COMMANDS

        -A --append  chain rule-specification 向一条链中追加一条规则

        -C --check chain rule-specification 检查某条链中是否包含匹配的规则,和-D有同样的作用,但是-C不更改已经存在的规则,仅返回代码表示成功或者失败。

        -D --delete chain rule-specification

        -D --delete chain rule-number 删除某一个或多个规则

        -I --insert chain [rulenum] rule-specification 在某条链路规则前添加一条规则,默认规则是1

        -R --replace chain rulenum rule-specification 替换选定链中的某条规则,如果源目标或者目的目标涉及多个名字,这条命令将会执行失败。

        -L --list chain 列出所有的链,如果未指定表名,则默认为filter表。

        -S --list-rules 列出所有的链,如果未指定表名,则默认为filter表。

        -F --flush chain 删除选定链中的左右规则,如果未指定规则,将会删除所有链中的所有规则

        -Z --zero [chain[rulenum]] 重置选定链指定规则中的计数器,如果未制定链和规则,将重置所有计数器

        -P --policy chain target 只有内建的链可以使用策略(用户建立的链不可以使用策略),内建链和用户链都不可以成为策略目标

        -E --rename-chain old-chain new-chain 重命名链名称(没有实质性作用)

        -h help 提供语法描述

    PARAMETERS

      以下参数用在OPTION中(add,delete,insert,append,replace)组成规则

        -4 --ipv4

        -6 --ipv6

        [!] -p --protocol protocol 协议名称,可以是tcp,udp,udplite,icmp,icmpv6,esp,ah,sctp,mh或者是all(表示全部协议)也可以是某一个数字,0代表全部协议。!表示对      规则取反

        [!] -s --source(或者--src) address[/mask][,...] 指定源目标地址

        [!] -d --destination(或者--dst) address[/mask][,...] 指定目标地址

        -m --match match 指定一个匹配规则

        -j --jump target 指定规则要跳转的目标,如果target为一个rule而没有提供-g选项,规则的计数器值会自动增加,但是将不会对数据包起作用

        -g --goto chain  指定一个链将会对数据包继续起作用,而不像--jump那样返回而不再起作用

        [!] -i --in-interface name 接收数据的端口名称,仅对INPUT,FORWARD,PREROUTING三条链起作用,如果interface name以+结束,那么任何以这个名字开始的端口都将      被匹配

        [!] -o --out-interface name  发送数据端口名称,仅对OUTPUT,FORWARD,POSTOUTING三条链起作用,如果interface name以+结束,那么任何以这个名字开始的端      口都将被匹配

        [!] -f --fragement 仅匹配IPV4第二个或者以后的数据片(fragement)

        -c --set-counters packets bytes

        

  • 相关阅读:
    IsEmpty函数和IsNull函数之间的区别
    JavaScript的self和this使用小结
    PHP中读写文件实现代码
    ExtJs的数据代理proxy
    php递归列出所有文件和目录的代码
    解析Extjs与php数据交互(增删查改)
    MySql 批量创建、导入实例
    MySQL 进入 导入
    小知识:批量导入数据
    js 扩展实例
  • 原文地址:https://www.cnblogs.com/websocket/p/5250246.html
Copyright © 2011-2022 走看看