天天看點

類火牆的iptables

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

iptables是一個工作于使用者空間的防火牆應用軟體

 三表五鍊

 表:filter、mangel、nat

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

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

 鍊:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING

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

<a href="https://s5.51cto.com/wyfs02/M00/97/78/wKiom1kupmnQKXsjAACnl1ARLvE275.png-wh_500x0-wm_3-wmp_4-s_1950237427.png" target="_blank"></a>

  2.iptables指令

   iptables  -t    ##指定表名稱,預設是filter表

        -n    ##不作解析

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

  iptables -t filter -nL   ##檢視filter表的政策

<a href="https://s3.51cto.com/wyfs02/M02/97/79/wKioL1kup1KBsMMgAABvOHbwO-w172.png-wh_500x0-wm_3-wmp_4-s_1237220731.png" target="_blank"></a>

   iptables -A      ##增加政策

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

          -p      ##網絡協定

          --dport   ##端口

          -s      ##資料來源

          -j      ##動作

          ACCEPT    ##允許

          REJECT    ##拒絕

          DROP      ##丢棄

<a href="https://s1.51cto.com/wyfs02/M02/97/78/wKiom1kup2Ly0aJmAADP4MIwqeA994.png-wh_500x0-wm_3-wmp_4-s_3521195040.png" target="_blank"></a>

 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鍊

<a href="https://s2.51cto.com/wyfs02/M02/97/79/wKioL1kuqAXhlERjAACL_rpXWzs712.png-wh_500x0-wm_3-wmp_4-s_3950533922.png" target="_blank"></a>

   iptables -E redhat westos  ##修改redhat鍊為westos

<a href="https://s4.51cto.com/wyfs02/M01/97/78/wKiom1kuqBbTI88gAACESnu7IXE348.png-wh_500x0-wm_3-wmp_4-s_2316815454.png" target="_blank"></a>

   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  ##儲存設定到配置檔案,重新開機後也生效

## 提高通路速度,緩解通路壓力方法

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

<a href="https://s3.51cto.com/wyfs02/M01/97/7A/wKioL1kuqEeRVfWTAAFN7cTpzG0192.png-wh_500x0-wm_3-wmp_4-s_885442780.png" target="_blank"></a>

  4.路由

  sysctl -a | grep forward  ##檢視forward狀态

<a href="https://s5.51cto.com/wyfs02/M02/97/78/wKiom1kuqGDjMTl5AAEK7pV9QhU511.png-wh_500x0-wm_3-wmp_4-s_1682296623.png" target="_blank"></a>

  echo "net.ipv4.ip_forward = 1" &gt;&gt;/etc/sysctl.conf  ##打開net.ipv4.ip_forward

  sysctl -p   ##設定生效

<a href="https://s2.51cto.com/wyfs02/M00/97/7A/wKioL1kuqG7AgX-xAAFXz2qfjlg955.png-wh_500x0-wm_3-wmp_4-s_2644858407.png" target="_blank"></a>

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

<a href="https://s2.51cto.com/wyfs02/M00/97/79/wKiom1kuqJjB6m50AAC2Ex3H8jU602.png-wh_500x0-wm_3-wmp_4-s_3314630603.png" target="_blank"></a>

 測試

本文轉自AELY木部落格51CTO部落格,原文連結http://blog.51cto.com/12768057/1931091如需轉載請自行聯系原作者

AELY木

繼續閱讀