All pastes #770543 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-12 11:40 UTC
rendered paste body

#!/bin/bash
#version 1.1

. /lib/lsb/init-functions

INTERNET="eth1"
SERVICII="http ssh"        # servicii (porturi) care pot fi accesate din internet


case "$1" in
start)
        log_daemon_msg "Starting Firewall" "firewall"

        modprobe ip_conntrack_ftp

        iptables -P INPUT DROP                          # blocheaza tot
        iptables -A INPUT -i ! ${INTERNET} -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # permite pachetele din conexiuni deja stabilite
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


        # accepta conexiuni noi pe porturile din $SERVICII
        for i in ${SERVICII}; do
        iptables -A INPUT -p tcp --dport ${i} -m state --state NEW -j ACCEPT
        done

        # NAT, daca nu aveti nevoie, stergeti linia
        iptables -t nat -A POSTROUTING -o ${INTERNET} -j MASQUERADE
        echo 1 > /proc/sys/net/ipv4/ip_forward

        #Protectii SYN attack
        echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
        echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
        echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
        echo 1 > /proc/sys/net/ipv4/tcp_syncookies

        #Deschid port pentru torrent 
        iptables -t nat -I PREROUTING -p tcp --dport 22769 -i ${INTERNET} -j DNAT --to 192.168.0.3
        iptables -t nat -I PREROUTING -p udp --dport 22769 -i ${INTERNET} -j DNAT --to 192.168.0.3

        #DC 
        iptables -t nat -I PREROUTING -p tcp --dport 22768 -i ${INTERNET} -j DNAT --to 192.168.0.3
        iptables -t nat -I PREROUTING -p udp --dport 22768 -i ${INTERNET} -j DNAT --to 192.168.0.3


        #torrent 
        iptables -t nat -I PREROUTING -p tcp --dport 22770 -i ${INTERNET} -j DNAT --to 192.168.0.2
        iptables -t nat -I PREROUTING -p udp --dport 22770 -i ${INTERNET} -j DNAT --to 192.168.0.2

        #DC 
        iptables -t nat -I PREROUTING -p tcp --dport 22771 -i ${INTERNET} -j DNAT --to 192.168.0.2
        iptables -t nat -I PREROUTING -p udp --dport 22771 -i ${INTERNET} -j DNAT --to 192.168.0.2

        #Xchat file transfer
        iptables -t nat -I PREROUTING -p tcp --dport 22772:22780 -i ${INTERNET} -j DNAT --to 192.168.0.2

        log_end_msg $?
;;
stop)
        log_begin_msg "Stopping Firewall"
        iptables -F INPUT
        iptables -F FORWARD
        iptables -P FORWARD ACCEPT
        iptables -P INPUT ACCEPT

        # opreste NAT, daca nu aveti nevoie, stergeti linia
        iptables -t nat -F POSTROUTING
        iptables -F -t nat
        echo 0 > /proc/sys/net/ipv4/ip_forward

        log_end_msg $?
;;
restart)
    $0 stop
    sleep 1
    $0 start
;;
*)
    log_success_msg "usage: $0 {start|stop|restart}"
esac
exit 0