天天看點

centos 防火牆 iptables 用shell代碼來添加centos 防火牆 iptables 用shell代碼來添加



centos 防火牆 iptables 用shell代碼來添加

  • |
  • 浏覽:501
  • |
  • 更新:2014-04-22 15:45

百度經驗:jingyan.baidu.com

很多時候,添加iptable 防火牆規則的時候,大家都喜歡一條一條的指令打,确實很友善。

不過,我喜歡用shell scripts 來添加,原因是,不容易出錯,還可以一直儲存着,友善修改等等。

百度經驗:jingyan.baidu.com

工具/原料

  • centos 6.5 系統
  • iptable
  • vi 編輯

百度經驗:jingyan.baidu.com

方法/步驟

  1. 1

    #vim bin/firewall.sh

    建立一個firewall.sh的用來寫shell scripts的檔案。

  2. 2

    往firewall.sh裡面輸入以下内容,根據自己的伺服器端口需要,添加,或者修改一些端口,或者規則。

    #!/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin; export PATH

    # 1. 清除規則

    iptables -F

    iptables -X

    iptables -Z

    # 2. 設定政策

    iptables -P   INPUT DROP

    iptables -P  OUTPUT ACCEPT

    iptables -P FORWARD ACCEPT

    # 3~5. 制訂各項規則

    iptables -A INPUT -i lo -j ACCEPT

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

    #SSH的端口,不然遠端不了

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    #做了FTP伺服器,開啟21端口

    iptables -A INPUT -p tcp --dport 21 -j ACCEPT

    iptables -A INPUT -p tcp --dport 10000:20000 -j ACCEPT

    #WEB伺服器,開啟80端口.

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    #郵件伺服器,開啟25,110端口

    #iptables -A INPUT -p tcp --dport 110 -j ACCEPT

    #iptables -A INPUT -p tcp --dport 25 -j ACCEPT

    #做了DNS伺服器,開啟53端口

    iptables -A INPUT -p tcp --dport 53 -j ACCEPT

    #允許loopback!(不然會導緻DNS無法正常關閉等問題)

    iptables -A INPUT -i lo -p all -j ACCEPT

    iptables -A OUTPUT -o lo -p all -j ACCEPT

    #允許icmp包通過,也就是允許ping

    iptables -A OUTPUT -p icmp -j ACCEPT

    iptables -A INPUT -p icmp -j ACCEPT

    #減少不安全的端口連接配接

    iptables -A OUTPUT -p tcp --sport 31337 -j DROP

    iptables -A OUTPUT -p tcp --dport 31337 -j DROP

    #samb

    iptables -A INPUT -p tcp --dport 137 -j ACCEPT

    iptables -A INPUT -p tcp --dport 138 -j ACCEPT

    iptables -A INPUT -p tcp --dport 139 -j ACCEPT

    iptables -A INPUT -p tcp --dport 445 -j ACCEPT

    #iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT

    # 6. 寫入防火牆規則配置檔案

    /etc/init.d/iptables save

    最後儲存退出

  3. 3

    #chmod 700 /bin/firewall.sh

    改一下權限,避免檔案被人惡意修改

    # sh bin/firewall.sh

    來執行指令後,

    # service iptables restart

    重新開機iptables 防火牆,也可以把# service iptables restart加到firewall.sh裡面的最後地方。這樣隻要實行# sh bin/firewall.sh就可以了。

  4. centos 防火牆 iptables 用shell代碼來添加centos 防火牆 iptables 用shell代碼來添加

繼續閱讀