Advertisement
Guest User

Untitled

a guest
Jul 25th, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 10.96 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. IPT="/sbin/iptables"
  4. INET_IFACE="eth0"
  5. INET_IFACE2="wlan0"
  6. UNPRIPORTS="1024:65535"
  7. start_fw()
  8. {
  9.     echo 1 > /proc/sys/net/ipv4/ip_forward
  10.     $IPT -F
  11.     $IPT -X
  12.     $IPT -P INPUT DROP
  13.     $IPT -P FORWARD ACCEPT
  14.     $IPT -P OUTPUT DROP
  15.  
  16.     $IPT -A INPUT -i lo -j ACCEPT
  17.     $IPT -A OUTPUT -o lo -j ACCEPT
  18.     $IPT -A INPUT -m state ! -i lo --state NEW -j DROP
  19.     $IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP
  20.     $IPT -A INPUT   -m state --state INVALID -j DROP
  21.     $IPT -A FORWARD -m state --state INVALID -j DROP
  22.     $IPT -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
  23.     $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  24.     $IPT -t nat -I PREROUTING -i $INET_IFACE -s 10.0.0.1/32 -j ACCEPT
  25.     $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
  26.     $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
  27.     $IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP
  28.     $IPT -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT
  29.     $IPT -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT  
  30.     $IPT -A INPUT -p UDP -j RETURN                                                                                                                                                  
  31.     $IPT -A OUTPUT -p UDP -s 0/0 -j ACCEPT                                                                                                                                          
  32.     $IPT -A INPUT --fragment -p ICMP -j DROP
  33.     $IPT -A OUTPUT --fragment -p ICMP -j DROP
  34.     $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT
  35.     $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT
  36.     $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT
  37.     $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT
  38.     $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT
  39.     $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type parameter-problem -j ACCEPT
  40.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn
  41.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 783
  42.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 3310
  43.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 10000
  44.     $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
  45.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
  46.     $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT
  47.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT
  48.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $UNPRIPORTS -j ACCEPT
  49.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn
  50.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP
  51.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $UNPRIPORTS -j ACCEPT
  52.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn
  53.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $UNPRIPORTS -j ACCEPT
  54.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn
  55.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 143 --sport $UNPRIPORTS -j ACCEPT
  56.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn
  57.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport $UNPRIPORTS -j ACCEPT
  58.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn
  59.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport 1020:1023 -j ACCEPT
  60.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1020:1023 --sport 22 -j ACCEPT ! --syn
  61.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 21 --sport $UNPRIPORTS -j ACCEPT
  62.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn
  63.     $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $UNPRIPORTS -j ACCEPT --dports 80,443
  64.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn
  65.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 20 -j ACCEPT
  66.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 20 --sport $UNPRIPORTS -j ACCEPT ! --syn
  67.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT
  68.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT ! --syn
  69.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 23 --sport $UNPRIPORTS -j ACCEPT
  70.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 23 -j ACCEPT ! --syn
  71.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 79 --sport $UNPRIPORTS -j ACCEPT
  72.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 79 -j ACCEPT ! --syn
  73.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 43 --sport $UNPRIPORTS -j ACCEPT
  74.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 43 -j ACCEPT ! --syn
  75.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 70 --sport $UNPRIPORTS -j ACCEPT
  76.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 70 -j ACCEPT ! --syn
  77.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 210 --sport $UNPRIPORTS -j ACCEPT
  78.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 210 -j ACCEPT ! --syn
  79.     $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT
  80.     $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 67 --sport 68 -j ACCEPT
  81.     $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport 68 --sport 67 -j ACCEPT
  82.     #wlan0
  83.     $IPT -t nat -I PREROUTING -i $INET_IFACE2 -s 10.0.0.1/32 -j ACCEPT
  84.     $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE2 --icmp-type source-quench -j ACCEPT
  85.     $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE2 --icmp-type source-quench -j ACCEPT
  86.     $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE2 --icmp-type echo-reply -j ACCEPT
  87.     $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE2 --icmp-type echo-request -j ACCEPT
  88.     $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE2 --icmp-type parameter-problem -j ACCEPT
  89.     $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE2 --icmp-type parameter-problem -j ACCEPT
  90.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport 6000:6063 -j DROP --syn
  91.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE2 -j DROP --dports 783
  92.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE2 -j DROP --dports 3310
  93.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE2 -j DROP --dports 10000
  94.     $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE2 --dport 53 --sport $UNPRIPORTS -j ACCEPT
  95.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 53 --sport $UNPRIPORTS -j ACCEPT
  96.     $IPT -A INPUT -p udp -m udp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 53 -j ACCEPT
  97.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport 1024:65353 --sport 53 -j ACCEPT
  98.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 113 --sport $UNPRIPORTS -j ACCEPT
  99.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn
  100.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport 113 -j DROP
  101.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 25 --sport $UNPRIPORTS -j ACCEPT
  102.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn
  103.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 110 --sport $UNPRIPORTS -j ACCEPT
  104.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn
  105.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 143 --sport $UNPRIPORTS -j ACCEPT
  106.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn
  107.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 22 --sport $UNPRIPORTS -j ACCEPT
  108.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn
  109.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 22 --sport 1020:1023 -j ACCEPT
  110.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport 1020:1023 --sport 22 -j ACCEPT ! --syn
  111.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 21 --sport $UNPRIPORTS -j ACCEPT
  112.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn
  113.     $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE2 --sport $UNPRIPORTS -j ACCEPT --dports 80,443
  114.     $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE2 --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn
  115.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 20 -j ACCEPT
  116.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 20 --sport $UNPRIPORTS -j ACCEPT ! --syn
  117.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT
  118.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT ! --syn
  119.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 23 --sport $UNPRIPORTS -j ACCEPT
  120.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 23 -j ACCEPT ! --syn
  121.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 79 --sport $UNPRIPORTS -j ACCEPT
  122.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 79 -j ACCEPT ! --syn
  123.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 43 --sport $UNPRIPORTS -j ACCEPT
  124.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 43 -j ACCEPT ! --syn
  125.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 70 --sport $UNPRIPORTS -j ACCEPT
  126.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 70 -j ACCEPT ! --syn
  127.     $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE2 --dport 210 --sport $UNPRIPORTS -j ACCEPT
  128.     $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE2 --dport $UNPRIPORTS --sport 210 -j ACCEPT ! --syn
  129.     $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE2 --dport 33434:33523 --sport 32769:65535 -j ACCEPT
  130.     $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE2 --dport 67 --sport 68 -j ACCEPT
  131.     $IPT -A INPUT -p udp -m udp -i $INET_IFACE2 --dport 68 --sport 67 -j ACCEPT
  132. }
  133.  
  134. case "$1" in
  135. start)  echo -n "Starting firewall: iptables"
  136.     start_fw
  137.         echo "."
  138.     ;;
  139. stop)   echo -n "Stopping firewall: iptables"
  140.     iptables -F
  141.     iptables -X
  142.         echo "."
  143.         ;;
  144. save)   echo -n "Saving firewall: iptables"
  145.     iptables-save > /etc/rules-save
  146.     echo "."
  147.     ;;    
  148. restart) echo -n "Restarting firewall: iptables"
  149.     iptables -F
  150.     iptables -X
  151.     cat /etc/rules-save | iptables-restore
  152.         echo "."
  153.         ;;
  154. reload|force-reload) echo -n "Reloading configuration files for firewall: iptables"
  155.         echo "."
  156.         ;;
  157. *)      echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload"
  158.         exit 1
  159.         ;;
  160. esac
  161. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement