xhb8413 发表于 2011-12-21 08:43

iptables 防火墻腳本

&nbsp; <a href=".http://blog.chinaunix.net/attachment/attach/19/72/33/33197233020a43e67ad2c5779f061f9a586f689c.rar" target="_blank" target="_blank"><img src="/blog/image/attachicons/rar.gif" align="absmiddle" border="0">&nbsp;iptables.rar </a>&nbsp; <br>iptables 防火墻腳本,主要根據鳥哥的腳本改寫,可作為範例修改使用。<br><br><br><p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#!/bin/bash</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#write
by Ethan xie 2011/05/04</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#email:
ethan225@163.com</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#init
settings</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">EXTIF="eth1"<span style=""> </span>#wan interface</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">INIF="eth0"<span style="">&nbsp; </span>#lan interface</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">export
EXTIF INIF</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#kernel
settings</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">echo
"1" &gt; /proc/sys/net/ipv4/tcp_syncookies</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">echo
"1" &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">for i
in /proc/sys/net/ipv4/conf/*/rp_filter;do</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>echo "1" &gt; $i</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">done</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">for i
in /proc/sys/net/ipv4/conf/*/log_martians;do</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>echo "1" &gt; $i</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">done</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">for i
in /proc/sys/net/ipv4/conf/*/accept_source_route;do</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>echo "0" &gt; $i</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">done</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">for i
in /proc/sys/net/ipv4/conf/*/accept_redirects;do</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>echo "0" &gt; $i</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">done</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">for i
in /proc/sys/net/ipv4/conf/*/send_redirects;do</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>echo "0" &gt; $i</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">done</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#Iptables
settings</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin;
export PATH</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-F</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-X</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-Z</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-P INPUT DROP</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-P OUTPUT ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-P FORWARD ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -i lo -j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -m state --state RELATED -j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p tcp -i $EXTIF --sport 1:1023 -j DROP<span style=""> </span>#deny 1-1023 port access</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#Other
script to control other ip access this pc</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#file
should place in /usr/local/virus/iptables/iptables.deny</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#iptables.deny
file like follow</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#!/bin/bash</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#iptables
-A INPUT -i $EXTIF -s 140.116.43.0/24 -j DROP</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#chmod
700 iptalbes.deny</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">if [ -f
/usr/local/virus/iptables/iptables.deny ];then</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>sh /usr/local/virus/iptables/iptables.deny</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">fi</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#iptables.allow
file like follow</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#!/bin/bash</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#iptables
-A INPUT -i $EXTIF -s 140.116.43.0/24 -j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#chmod
700 iptables.allow</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#file
should place in /usr/local/virus/iptables/iptables.allow</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">if [
-f /usr/local/virus/iptables/iptables.allow ];then</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>sh /usr/local/virus/iptables/iptables.allow</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">fi</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#file
should place in /usr/local/virus/iptables/iptables.http</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#It is
use to deny httpd-err ip</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">if [
-f /usr/local/virus/iptables/iptables.http ];then</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp;&nbsp; </span>sh /usr/local/virus/iptables/iptables.http</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">fi</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -m state --state ESTABLISHED -j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#allow
icmp </span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">AICMP="0
3 3/4 4 11 12 14 16 18"</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">for
tyicmp in $AICMP</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">do</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US"><span style="">&nbsp; </span>iptables -A INPUT -i $EXTIF -p icmp
--icmp-type $tyicmp -j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">done</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">#other
service </span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p tcp -i $INIF -s 192.168.1.0/24 -m state --state
NEW,RELATED,ESTABLISHED -j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p tcp -i $EXTIF --dport 80 -m state --state NEW,RELATED,ESTABLISHED
-j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p tcp -i $EXTIF --sport 53 -m state --state RELATED,ESTABLISHED -j
ACCEPT<span style=""> </span>#access wan dns server</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p udp -i $EXTIF --sport 53 -m state --state RELATED,ESTABLISHED -j
ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p tcp -i $EXTIF --dport 8000 -m state --state NEW,RELATED,ESTABLISHED
-j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p tcp -i $EXTIF --dport 8010 -m state --state NEW,RELATED,ESTABLISHED
-j ACCEPT</span></p>

<p class="MsoPlainText"><span style="" courier="" new="" ;="" lang="EN-US">iptables
-A INPUT -p udp -i $EXTIF --dport 8080 -m state --state NEW,RELATED,ESTABLISHED
-j ACCEPT</span></p>
页: [1]
查看完整版本: iptables 防火墻腳本