zoukankan      html  css  js  c++  java
  • 日常运维二

    规则netfilter5表5链介绍

     

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

    1.filter表——三个链:INPUT、FORWARD、OUTPUT
    作用:过滤数据包  内核模块:iptables_filter.
    2.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
    作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
    3.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
    作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
    4.Raw表——两个链:OUTPUT、PREROUTING
    作用:决定数据包是否被状态跟踪机制处理  内核模块:iptable_raw
    (这个是REHL4没有的,不过不用怕,用的不多)

    规则链:


    1.INPUT——进来的数据包应用此规则链中的策略
    2.OUTPUT——外出的数据包应用此规则链中的策略
    3.FORWARD——转发数据包时应用此规则链中的策略
    4.PREROUTING——对数据包作路由选择前应用此链中的规则
    (记住!所有的数据包进来的时侯都先由这个链处理)
    5.POSTROUTING——对数据包作路由选择后应用此链中的规则
    (所有的数据包出来的时侯都先由这个链处理)

    1.查看iptables规则

    [root@bogon ~]# iptables -nvL
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    80697  196M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
        1    52 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
     105K   16M REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
        0     0 DROP       tcp  --  *      *       192.168.1.1          192.168.1.2          tcp spt:123 dpt:80
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT 301 packets, 31573 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    [root@bogon ~]# 
    

    2.重启iptables 

    [root@bogon ~]# service iptables restart
    Redirecting to /bin/systemctl restart  iptables.service
    [root@bogon ~]# 
    

    3.iptables保存的文件

    [root@bogon ~]# cat /etc/sysconfig/iptables
    # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    [root@bogon ~]# 
    

    4.清空规则(零时清空),需要真正的清空需要执行保存命令

    [root@bogon ~]# iptables -F
    [root@bogon ~]#
    

    5.保存规则

    [root@bogon ~]# service iptables save
    

    6.重启服务将之前的规则加载回来

    [root@bogon ~]# service iptables restart
    

    7.默认操作的都是filter 表

    [root@bogon ~]# iptables -t filter -nvL
    Chain INPUT (policy ACCEPT 554 packets, 62984 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 105 packets, 10485 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    [root@bogon ~]# 
    

    8.查看nat表的规则

    [root@bogon ~]# iptables -t nat -nvL    
    Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    

    9.iptables -Z 清空

    [root@bogon ~]# iptables -Z
    

    10.iptables -A INPUT -s 192.168.1.1 -p tcp --sport 123 -d 192.168.1.2 --dport 80 -j DROP 或 REJECT

    [root@bogon ~]# iptables -A INPUT -s 192.168.1.1 -p tcp --sport 123 -d 192.168.1.2 --dport 80 -j DROP
    [root@bogon ~]# iptables -nvL
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
       69  4988 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
      564 59695 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
        0     0 DROP       tcp  --  *      *       192.168.1.1          192.168.1.2          tcp spt:123 dpt:80
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT 4 packets, 592 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    [root@bogon ~]# 
    

    11.iptables -A添加  -I 插入 删除-D

    12.显示规则行号

    [root@bogon ~]# iptables -nvL --line-number
    

    13.删除规则

    [root@bogon ~]# iptables -D INPUT 7
    

    14.-P设置默认策略

    iptables filter表小案例

    15.创建shell脚步

    #!/bin/bash
    ipt="/usr/sbin/iptables"
    $ipt -F
    $ipt -P INPUT DROP
    $ipt -P OUTPUT ACCEPT
    $ipt -P FORWARD ACCEPT
    $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    $ipt -A INPUT -s 10.21.95.0/24 -p tcp --dport 22 -j ACCEPT
    $ipt -A INPUT -p tcp --dport 22 -j ACCEPT
    $ipt -A INPUT -p tcp --dport 22 -j ACCEPT

    [root@bogon ~]# sh /usr/local/sbin/iptables.sh 
    [root@bogon ~]# iptables -nvL
    Chain INPUT (policy DROP 29 packets, 3013 bytes)
     pkts bytes target     prot opt in     out     source               destination         
       28  2056 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
        0     0 ACCEPT     tcp  --  *      *       10.21.95.0/24        0.0.0.0/0            tcp dpt:22
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 19 packets, 1780 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    [root@bogon ~]# 
    

    16.当前主机可以ping通外部机器,外部机器拼不通当前机器

    [root@bogon ~]# iptables -A INPUT -p icmp --icmp-type 8 -j DROP
    [root@bogon ~]# 
    

      

    [root@bogon ~]# ping 10.21.95.218
    PING 10.21.95.218 (10.21.95.218) 56(84) bytes of data.
    64 bytes from 10.21.95.218: icmp_seq=1 ttl=64 time=0.402 ms
    64 bytes from 10.21.95.218: icmp_seq=2 ttl=64 time=0.332 ms
    ^C
    --- 10.21.95.218 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.332/0.367/0.402/0.035 ms
    [root@bogon ~]# 
    
    C:Usersdell>ping 10.21.95.122
    
    正在 Ping 10.21.95.122 具有 32 字节的数据:
    请求超时。
    请求超时。
    请求超时。
    

      

    [root@bogon ~]# iptables -D INPUT -p icmp --icmp-type 8 -j DROP 
    [root@bogon ~]# 
    

    iptables nat表应用(上)

     

    1.准备两台机器,01和02

    第一步,给01机器添加一块儿网卡

    第二步添加一个区段叫自定义名字

    第三步选中自定义名字

    01的设置结果

    02机器进去统一选择自定义名字,同样Lan区段

    第四步启动两台机器

    第五步给01的新网卡设置IP(零时),如果永久生效需要更改ens37的配置文件。

    第六步把02机器的ens33网卡ifdown掉

    执行ifdown ens33命令,只保留ens37内网网卡

    第七步同样给02的ens37设置ip

    第八步打开01机器的内网转发

    第九步01上增加一条规则让100.0网段能够上网。

    第10步设置02的网关

    再次ping133.1发现能ping通了

    设置dns让它可以访问网络

    我们用windows  ping100.100还是不能连通

     iptables规则备份和恢复

     

     firewalld的9个zone

    1.关闭iptables开启firewalled

    [root@centos-01 ~]# systemctl disable iptables 
    [root@centos-01 ~]# systemctl stop iptables   
    [root@centos-01 ~]# systemctl enable firewalld
    Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
    Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
    [root@centos-01 ~]# 
    
    [root@centos-01 ~]# systemctl start firewalld
    [root@centos-01 ~]# 
    

    firewalld关于zone的操作

    firewalld关于service的操作

  • 相关阅读:
    Python解释器【转载】
    Python第一行代码
    Hive安装部署
    Python 3.6安装教程
    Spark安装部署
    Code:Blocks中文输出乱码解决方法
    HBase集群安装部署
    Hadoop集群时间同步
    ZooKeeper安装部署
    Linux重置mysql密码
  • 原文地址:https://www.cnblogs.com/sunyujun/p/8336077.html
Copyright © 2011-2022 走看看