#!/bin/bash TRYB=$1 #zmienne skryptu SIEC="192.168.1.0/24" #siec lokalna, ktora ma nie meic dostepu do nizej wymienionych stron PORT="80" #port 80 = WWW PRZEKIEROWANIE_NA="209.85.135.147" #ustawilem domyslne przekierowanie na strone Google PORT_NA="80" #jak wyzej LISTA_STRON="chomikuj.pl wrzuta.pl rapidshare.com megaupload.com" #lista oddzielona spacjami #domyslnie nie sa wyswietlane reguly w czasie dzialania programu VERBOSE="0" if [ -n $2 ]; then VERBOSE=$2 fi case $TRYB in "on") if [ -n "$LISTA_STRON" ]; then for STRONY in ${LISTA_STRON}; do if [ "$VERBOSE" = "1" ]; then echo $STRONY fi ADRESY=$(host -t a $STRONY | awk '{ printf "%s ", $4 }') if [ -n "$ADRESY" ]; then for STRONY_IP in ${ADRESY}; do if [ "$VERBOSE" = "1" ]; then echo "iptables -t nat -A PREROUTING -p tcp -s $SIEC -d $STRONY_IP --dport $PORT -j DNAT --to $PRZEKIEROWANIE_NA:$PORT_NA" fi iptables -t nat -A PREROUTING -p tcp -s $SIEC -d $STRONY_IP --dport $PORT -j DNAT --to $PRZEKIEROWANIE_NA:$PORT_NA done fi if [ "$VERBOSE" = "1" ]; then echo "" fi done fi ;; "info") iptables --list PREROUTING -t nat ;; "off") iptables --flush PREROUTING -t nat ;; "-h") echo "Program przyjmuje zmienne: " echo "-h pomoc" echo "on wlaczenie regul" echo "off wylaczenie regul" echo "info informacje o regulach" echo "0/1 w trybie 'on' ukrywanie/wyswietlanie komunikatow" echo "usage: ./blokowanie_stron on 1" ;; *) echo "Nie podano zmiennej trybu. (on/off/info)" exit ;; esac