28_02_iptables系列之基本应用及显式扩展
28_02_iptables系列之基本应用及显式扩展
captainliu 发表于6个月前
28_02_iptables系列之基本应用及显式扩展
  • 发表于 6个月前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

netfilter :Framework   ,TCP/IP ,工作在内核上
iptables:负责编写规则,并送达到netfilter的某一条链上。
iptable   [ t  TABLE ]  COMMAND  CHAIN  [ num ]  匹配条件  -j  处理动作

匹配条件:

        通用匹配
                -s   
                -d
                -p  { tcp  | udp  |  icmp } 
                -i  :指定数据报文流入接口
                -o:指定数据报文流出接口
        扩展匹配:
                隐含扩展
                        -p    tcp  
                                                --sport      SPORT[ -SPORT ]:源端口
                                                --dport      SPORT[ -SPORT ]:目标端口
                                                --tcp-flags      mask  comp:只检查mask指定的标志位,是逗号分割的标志位列表;comp:此类表中出现在mask中,且必须为1;comp中没出现,而mask中出现的,必须为0;
                                                                        --tcp-flags     SYN  ,FIN,ACK,RST    SYN  ,ACK  == --syn
                                               --syn  

                    -p     icmp

                                --icmp-type
                                                0:  echo-reply
                                                8:  echo-request
                                eg:iptables  -A   OUTPUT  -s   172.16.100.7  -p  icmp  --icmp-type  8  -j  ACCEPT
                                    iptables -A  INPUT     -d  172.16.100.7    -p icmp  --icmp-type  0   -j   ACCEPT

                  -p     udp
                            --sport
                            --dport

                    eg:
               显示扩展 :使用额外的匹配机制
                       -m   EXTESTION  --spe-opt
                        state:状态扩展
                                结合ip_conntrack追踪会话的状态
                                        NEW:新连接请求
                                        ESTABLISHED:已建立的连接
                                        INVALID:非法连接
                                        RELATED:相关联的
                                            eg:  -m  state  --state  NEW  , ESTABLISHED -j  ACCEPT 
保存规则:

                 service  iptables  save  
                        /etc/sysconfig/iptables
                iptables-save  > /etc/sysconfig/iptables.20170605
                iptables-restore  <  /etc/sysconfig/iptables.20170605          

命令:
        管理规则
                -A    附加一条规则:添加在链的尾部
                -i    CHAIN  [ num ]:插入一条规则,插入为对应chain的第num条
                -d    CHAIN  [ num ] :删除指定链中的第num条规则;
                -r   CHAIN  [ num ] :替换指定的规则
        管理链:
                -F [ CHAIN ]:flush,清空指定规则链,如果省略CHAIN,则可以删除对应表中的所有链
                -P  CHAIN  : 设定指定链的默认策略
                -N  : 自定义一个新的空链
                -X:删除一个自定义的空链
                -Z:置零制定链中所有规则的计数器
                -E:重命名一条自定义链

        查看类:
                -L:显示指定表中的规则;
                        -n:以数字形式显示主机地址和端口号;
                        -v:显示详细信息
                        -vv:
                        -x:显示精确值
                        --line-numbers:显示规则号码的

eg:sudo iptables  -L  -n  -v -x

动作(target)
        ACCEPT:放行
        DROP:丢弃
        REJECT:拒绝
        DNAT:目标地址转换
        SNAT:源地址转换
        REDIRECT:端口重定向
        MASQUERAD:地址伪装
        LOG:日志
        MARK:设定标记
        NOTRACK:禁止追踪某个相应的报文
eg:

172.16.100.7  ,sshd  :22/tcp

iptables    -t  filter  -A  INPUT   -s   172.16.0.0/16   -d   172.16.100.7  -p   tcp  --dport  22  -j   ACCEPT
iptables    -t  filter  -A  ONPUT   -s   172.16.100.7   -d   172.16.0.0/16  -p   tcp  --sport  22  -j   ACCEPT
iptables 不是服务,但有服务脚本:服务脚本的主要作用在于生效保存的规则

        装在及移除iptables/netfilter相关的内核模块:

                    iptables_nat  ,  iptables_filter  ,  iptables_mangle ,  iptables_raw   ,   ip_nat  ,   ip_conntrack

ping  请求用的是icmp协议

ip_conntrack:是内核的一个模块,起到连接追踪的功能,能够追踪到哪一个连接和另外一个连接处于什么状态

共有 人打赏支持
粉丝 9
博文 86
码字总数 67173
×
captainliu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: