przekierowanie iptables

Instalacja i konfiguracja oprogramowania sieciowego.
istota
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 09 mar 2010, 11:44
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Inne
Architektura: x86_64

przekierowanie iptables

Post autor: istota »

Witam uprzejmie proszę o pomoc, mam zadanie do wykonania
tak jak w opisie skryptu, metoda dowolna
zrobiłem tak ale nie jest dobrze jakaś pomoc proszę
Ostatnio zmieniony 30 kwie 2013, 15:54 przez istota, łącznie zmieniany 1 raz.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: przekierowanie iptables

Post autor: ethanak »

to praca domowa czy rzeczywisty problem?
jeśli praca domowa to uprzejmie informuję że nie to forum. jeśli rzeczywisty problem proponuję poszukać hasła "squid" i szybką zmianę szefa.
istota
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 09 mar 2010, 11:44
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: przekierowanie iptables

Post autor: istota »

mam coś takiego ale jak to przekierować na localhost index.html
iptables -I FORWARD -m string --string "facebook" --algo bm -j DROP
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: przekierowanie iptables

Post autor: ethanak »

Poczytać mana od iptables ze szczególnym uwzględnieniem magicznego zaklęcia DNAT.
Ale i tak sposób do kitu.
istota
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 09 mar 2010, 11:44
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: przekierowanie iptables

Post autor: istota »

a no to dlaczego do kitu?
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: przekierowanie iptables

Post autor: ethanak »

Bo masz zablokować facebook.com a nie facebook.jest.zakazany.w.naszej.firmie.com
istota
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 09 mar 2010, 11:44
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: przekierowanie iptables

Post autor: istota »

-j REDIRECT

-- 16 sty 2013 18:33 --

dzieki za chec pomocy -tak na boku
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: przekierowanie iptables

Post autor: ethanak »

może być, ale reguła i tak do kitu
istota
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 09 mar 2010, 11:44
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: przekierowanie iptables

Post autor: istota »

kurka wodna, kontrolka na czerwonym, jak mam to ugryźć
bear7
Przyjaciel
Przyjaciel
Posty: 6686
Rejestracja: 20 sty 2009, 23:12
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64
Lokalizacja: pwd

Re: przekierowanie iptables

Post autor: bear7 »

Zmień tytuł tematu tak, aby w sposób możliwie precyzyjny przedstawiał sedno sprawy, w której piszesz. Miej na uwadze również zgodność z REGULAMINEM
Tytuł tematu zmienisz edytując pierwszy post
W razie wątpliwości/zastrzeżeń odnośnie powyższej informacji skontaktuj się z moderatorem, który ją wstawił.
O pomoc pytaj a forum, a nie przez PW.
istota
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 09 mar 2010, 11:44
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: przekierowanie iptables

Post autor: istota »

Może komuś się przyda

Kod: Zaznacz cały

#!/bin/bash
# ---------------------------------------------------------------------
#
#                       ZADANIE 
# W sieci komputerowej małego biura szef postanowił podłączyć komputer
# pośredniczący w dostępie do internetu dla stacji roboczych z systemami
# windows. szef chce ograniczyć pracownikom możliwość przeglądania 
# wybranych stron do których należą: facebook.com nk.pl demotywatory.pl.
# Szef chciałby aby użytkownikom pragnącym wejść na te strony 
# wyświetlała się w przeglądarce informacja przypominająca o obowiązku 
# efektywnej pracy z wykorzystaniem powierzonych komputerów. 
# Zaproponuj konfigurację systemu linux na komputerze pośredniczącym. 
# Przetestuj konfigurację i sporządź projekt.
# ---------------------------------------------------------------------

REPO='security.ubuntu.com'
I=0
function connectiontest () {
	clear
	echo "  Sprawdzanie połączenia Internetowego ...."
	sleep 2s
	echo ""
	IS=`/bin/ping -c 1 $REPO | grep -c "64 bytes"`
	if [ "$IS" -lt "1" ]; then
		until [ "$CONT" != "" ]; do
			echo ""
			IS=`/bin/ping -c 1 $REPO | grep -c "64 bytes"`
			if [ "$IS" -lt "1" ]; then
				clear
				echo "  To połązenie jest błędne"
				echo ""
				echo "  Sprawdz połączenie  z Internetem"
				echo "  Naciśni dowolny klawisz aby kontynułować, lub\"q\""
				echo "  aby zakończyć"
				read -n1 a
				if [ "$a" = "q" ]; then
					clear
					echo "Script aborted."
					sleep 3s
					exit 0
				fi
			else
				CONT="pass"
			fi
		done
	fi
	clear
	echo "  Połączenie zostało ustanowione..."
	sleep 2s
}

if [ "$1" = "--skrypt" ]; then
    clear
    echo ""
    echo "  Skrypt praca szkoła GoWork"
    echo "  --------------------------------"
    echo "  Ten skrypt instaluje Apache2"
    echo "  Udostepnia połączenie dla stacji"
    echo "  roboczej winXP. Ustawia Firewall"
    echo "  na przekierowanie witryn"
    echo "   - facebook.com"
    echo "   - nk.pl"
    echo "   - demotywator.pl"
    echo "  na strone localhosta"
    echo "  umieszcza kod w /var/www/index.html"
    echo ""
    echo -n " Czy chcesz uruchomić skrypt ? (Y|n) > "
    read a
    if [ "$a" = "y" ] || [ "$a" = "Y" ] || \
    [ "$a" = "" ]; then
        
				connectiontest
        
        #update pakietów
        echo "  Uaktualnienie pakietów..."
		sleep 2s
		apt-get update
		clear
		sleep 2s
		
		if ! sudo apt-get install -y apache2; then
            clear
            echo ""
            echo "  Napotkano problem przy installacji Apache"
            echo ""
            echo "  Naciśnij dowolny klawisz by spróbować jeczcze raz \"q\" by wyjść..."
            read -n1 a
            if [ "$a" = "q" ] || [ "$a" = "Q" ]; then
                clear
                exit 0
            else
                --skrypt
                exit 0
            fi
       
        /etc/init.d/apache2 restart
        sleep 3s
       
        # index.html
        
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title>INDEX.PL</title>
  </head>
  <body style=" color: rgb(153, 153, 153); background-color: rgb(0, 0,
    0);" link="#66ffff" vlink="#551A8B" alink="#EE0000">
    <table style=" text-align: left; width: 1200px; height: 700px;
      margin-left: auto; margin-right: auto;" border="0" cellpadding="2"
      cellspacing="2">
      <tbody>
        <tr align="center">
          <td style=" vertical-align: top; height: 150px;">UPRZEJMIE
            INFORMUJEMY ŻE STRONA NA KTÓRĄ ZAMIERZASZ WEJŚĆ JEST NIE
            DOSTĘPNA DLA CIEBIE&nbsp; !!!!!!<br>
            <br>
            JEŚLI MASZ PROBLEM W ZROZUMIENIU UMOWY O PRACE ZAPRASZAM CIE
            DO ODWIEDZENIA STRON<br>
            <br>
            <a style="color: rgb(255, 0, 0);"
href="http://pl.wikipedia.org/wiki/Praca_%28dzia%C5%82alno%C5%9B%C4%87_cz%C5%82owieka%29">PRACA</a><span
              style="color: rgb(0, 153, 0);"><span style="color:
                rgb(255, 0, 0);">&nbsp;</span>&nbsp; </span><a
              style="color: rgb(255, 0, 0);"
              href="http://pl.wikipedia.org/wiki/P%C5%82aca">PŁACA</a><span
              style="color: rgb(0, 153, 0);"><span style="color:
                rgb(255, 0, 0);">&nbsp;</span>&nbsp; </span><a
              style="color: rgb(255, 0, 0);"
              href="http://pl.wikipedia.org/wiki/Odpoczynek">ODPOCZYNEK</a><br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: top;"><br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            I TU POWSTAJE PYTANIE<br>
            <br>
            <br>
            <big><big><big><big><big><big><span style="font-weight:
                          bold;">ZA CO JA CI PŁACE !!!</span></big></big></big></big></big></big><br>
          </td>
        </tr>
        <tr align="center">
          <td style="vertical-align: top; height: 150px;">LUB ZAPRASZAM
            DO<br>
            <br>
            <a style="color: rgb(255, 0, 0);"
              href="http://www.gowork.pl/praca?gclid=CJy4uP_u6rQCFQRc3godGSwAeg">GOWORK
              PRACA</a><br>
          </td>
        </tr>
      </tbody>
    </table>
    <br>
  </body>
</html>
' > /var/www/index.html

chmod 777 -R /home/el/Pulpit/indexa.html
        
        # modyfikacja /etc/network/interfaces
echo "auto eth1
iface eth1 inet dhcp

auto eth2
iface eth2 inet static
		address 192.168.1.1
		netmask 255.255.255.0" >> /etc/network/interfaces
		
		/etc/init.d/networking restart
		sleep 5s
		
				connectiontest
		
		# Plik Firewall
echo '# wlaczenie w kernelu forwardowania 
echo 1 > /proc/sys/net/ipv4/ip_forward

# czyszczenie starych regul" >> /etc/init.d/firewall
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X

# ustawienie domyslnej polityki" >> /etc/init.d/firewall
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# utrzymanie polaczen nawiazanych" >> /etc/init.d/firewall
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

# problematyczny facebook udalo mi sie tylko zablokować		
iptables -I FORWARD -m string --string "facebook" --algo bm -j DROP	

# udostepniaie internetu w sieci lokalnej" >> /etc/init.d/firewall
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT' > /etc/init.d/firewall

echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf 

route add default gw 192.168.1.1 eth1


		# nadanie praw do uruchomienia
		chmod +x /etc/init.d/firewall
		# dodanie do autostartu
		update-rc.d firewall defaults 20
		
		
		# skrypt wyciągajacy ip z dns
echo '#!/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="192.168.1.1"    #ustowione przekierowanie na localchost 
PORT_NA="80"                       #jak wyzej
LISTA_STRON="facebook.com nk.pl demotywatory.pl"  #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 '>> /etc/init.d/prerouting.sh "'{ printf ">> /etc/init.d/prerouting.sh '"%s ", $4 }'>> /etc/init.d/prerouting.sh "'">> /etc/init.d/prerouting.sh ')
            
    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'">> /etc/init.d/prerouting.sh ' ukrywanie/wyswietlanie komunikatow"
		echo "usage:  ./blokowanie_stron on 1"
     ;;

     *)
     echo "Nie podano zmiennej trybu. (on/off/info)"
     exit
     ;;
esac' >> /etc/init.d/prerouting.sh


		# nadanie praw do uruchomienia
		chmod +x /etc/init.d/prerouting.sh
		# dodanie do autostartu
		update-rc.d prerouting.sh defaults 20


		# uruchamianie
		/etc/init.d/networking restart
        /etc/init.d/firewall &
 #       /etc/init.d/prerouting.sh on &
        sleep 5s 
				connectiontest

		else
            clear
            echo ""
            echo "  Proces został wykonany."
            echo ""
            echo "  Dowolny klawisz spowoduje wyjście..."
            read -n1 a
            exit 0
        fi
    else
        exit 0
    fi
fi
GoBang system
GoWork Openbox GoBang
http://wp.me/3gALB
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 2 gości