類火牆的iptables

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

iptables是一個工作於用戶空間的防火牆應用軟件

 三表五鏈

 表:filter、mangel、nat

filter:到達本機,不經過內核。

nat:通過本機做什麼東西,經過內核。

 鏈:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING


  1.實驗之前關閉firewalld服務,開啓iptables


wKiom1kupmnQKXsjAACnl1ARLvE275.png-wh_50

  

  2.iptables命令

   iptables  -t    ##指定表名稱,默認是filter表

        -n    ##不作解析

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

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

wKioL1kup1KBsMMgAABvOHbwO-w172.png-wh_50

   iptables -A      ##增加策略

          -i      ##向規則鏈中增加條目

          -p      ##網絡協議

          --dport   ##端口

          -s      ##數據來源

          -j      ##動作

          ACCEPT    ##允許

          REJECT    ##拒絕

          DROP      ##丟棄

wKiom1kup2Ly0aJmAADP4MIwqeA994.png-wh_50

 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鏈

wKioL1kuqAXhlERjAACL_rpXWzs712.png-wh_50

   iptables -E redhat westos  ##修改redhat鏈爲westos

wKiom1kuqBbTI88gAACESnu7IXE348.png-wh_50

   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   ##拒絕所有主機數據來源

wKioL1kuqEeRVfWTAAFN7cTpzG0192.png-wh_50

  4.路由

  sysctl -a | grep forward  ##查看forward狀態

wKiom1kuqGDjMTl5AAEK7pV9QhU511.png-wh_50

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

  sysctl -p   ##設置生效

wKioL1kuqG7AgX-xAAFXz2qfjlg955.png-wh_50

  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  ##出路由設置

wKiom1kuqJjB6m50AAC2Ex3H8jU602.png-wh_50

 測試

 wKioL1kuqPjC82d5AACusgt1bRI365.png-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章