#####iptables#######

iptables是一个工作于用户空间的防火墙应用软件

 三表五链

 表:filter、mangel、nat

filter:到达本机,不经过内核。

nat:通过本机做什么东西,经过内核。

 链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING


  1.实验之前关闭firewalld服务,开启iptables


类火墙的iptables_第1张图片

  

  2.iptables命令

   iptables  -t    ##指定表名称,默认是filter表

        -n    ##不作解析

        -L    ##列出指定表中的策略

  iptables -t filter -nL   ##查看filter表的策略

类火墙的iptables_第2张图片

   iptables -A      ##增加策略

          -i      ##向规则链中增加条目

          -p      ##网络协议

          --dport   ##端口

          -s      ##数据来源

          -j      ##动作

          ACCEPT    ##允许

          REJECT    ##拒绝

          DROP      ##丢弃

类火墙的iptables_第3张图片

 iptables -A INPUT -i lo -j ACCEPT  ##允许回环接口通过

 iptables -A INPUT -p tcp --dport 22 -j ACCEPT  ##允许访问22端口

 iptables -A INPUT -s 172.25.254.213 -j ACCEPT  ##允许213主机访问本机所有端口

 iptables -A INPUT -j REJECT   ##拒绝所有主机数据来源


   iptables   -N  ##增加链

            -E  ##修改链名称

            -X  ##删除

            -D  ##删除指定策略

            -I  ##插入

            -R  ##修改策略

            -P  ##修改默认策略




   iptables -N redhat    ##添加redhat链

类火墙的iptables_第4张图片

   iptables -E redhat westos  ##修改redhat链为westos

类火墙的iptables_第5张图片

   iptables -X westos  ##删除westos链


   iptables -D INPUT 2   ##删除INPUT 链中的第二条策略


   iptables -I INPUT -p tcp --dport 80 -j REJECT  ##INPUT链第一条插入策略


   iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT   ##修改INPUT链中的第一条策略


   iptables -P INPUT DROP  ##修改默认策略

 

   iptables -F  ##刷掉所以策略,临时生效

  

  service iptables save  ##保存设置到配置文件,重启后也生效

wKiom1kup-OTlLieAAAspJyZGs4736.png-wh_50  


## 提高访问速度,缓解访问压力方法

  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  、

  ##允许RELATED,ESTABLISHED状态通过防火墙

  iptables -A INPUT -i lo -m state --state NEW -j ACCEPT   ##允许回环接口访问

  iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT  

  ##允许状态是NEW访问22端口

  iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT  

  ##允许访状态是NEW问80端口

  iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT 

  ##允许状态是NEW访问443端口

  iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT  

  ##允许状态是NEW访问53端口 

  iptables -A INPUT -j REJECT   ##拒绝所有主机数据来源

类火墙的iptables_第6张图片

  4.路由

  sysctl -a | grep forward  ##查看forward状态

类火墙的iptables_第7张图片

  echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf  ##打开net.ipv4.ip_forward

  sysctl -p   ##设置生效

类火墙的iptables_第8张图片

  iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-dest 172.25.13.11  ##进入路由

  iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.213  ##出路由设置

类火墙的iptables_第9张图片

 测试

 类火墙的iptables_第10张图片