Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Firewall Script

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    Karlsruhe
    Beiträge
    153

    Firewall Script

    Hallo zusammen,

    ich bräuchte ein kleines Firewall Script was mir folgendes realisiert.

    Router (debian woody 2.4.19)
    eth0= 192.168.1.1
    eth1= 208.216.129.67 (öffentliche oder feste ip)
    eth2= 192.168.2.1
    Webserver,Mailserver (debian woody)
    eth0= 192.168.2.2

    Interne Clients
    192.168.1.5 192.168.1.20 192.168.1.22 usw.

    ich bräuchte ein Portforwarding von router port 80 auf webserver port 80 sowohl von draus als auch von innen.

    ebenfals ein portforwarind von router port 22 ssh auf 192.168.1.5 port 22.
    von innen sollte alles erlaubt sein.
    der reste sollte alles abgeblock werden.

    Ist das viel Aufwand so ein Script zu schreiben?
    Wäre wirklich sehr wichtig? Muss das script heute noch zum laufen bringen.

    Viele Grüsse

    Matthias

  2. #2
    Moderator
    Registriert seit
    May 2002
    Ort
    Dortmund
    Beiträge
    1.407
    Hallo,

    ich empfehle Dir zunächst einen Blick in die iptables-FAQ unter http://www.harry.homelinux.org/modul...er%2Fiptables.
    Im wesentlichen werden dort alle Themen angeschnitten, mit denen Du Dich gerade auseinandersetzt (Masquerading, NAT).

    Wenn Du dann noch Fragen hast, nur zu

    Harry
    Wer einen Fehler findet, der darf ihn gerne behalten ;)
    http://harry.homelinux.org - iptables Generator & mehr

  3. #3
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    Karlsruhe
    Beiträge
    153
    Stimmt das soweit?

    cat firewall-neu
    #!/bin/sh
    # __
    # (ww) (Innternet)
    # /
    # /-(eth1)
    # / router(eth2) caribic(webserver)
    # ||--------------||
    # \
    # \-(eth0)
    # \
    # ||(Switch)______
    # / \ \ \ \ \
    # ||----||----||----||----||
    # Clients 192.168.1.2-30


    # Variabeln _INT = Interface

    INET=214.123.220.123
    LAN1=192.168.1.0/24
    LAN2=192.168.2.0/24
    LAN1_INT=eth0
    INET_INT=eth1
    INET_INT=eth1
    LAN2_INT=eth2
    ANYWHERE=0.0.0.0/0
    CARIBIC=192.168.2.2

    # Löscht alle Regeln
    iptables -F INPUT
    iptables -F OUTPUT
    iptables -F FORWARD

    iptables -A INPUT DROP
    iptables -A OUTPUT DROP

    # Loopback Interface aktivieren
    iptables -A input -i lo -j ACCEPT
    iptables -A output -o lo -j ACCEPT


    # HTTP fürs LAN zulassen
    iptables -A forward -p tcp -s $LAN1 --dport 80 -i $LAN1_INT -m state --state NEW -j ACCEPT
    iptables -A forward -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -A forward -p tcp -s $LAN2 --dport 80 -i $LAN2_INT -m state --state NEW -j ACCEPT
    iptables -A forward -m state --state ESTABLISHED,RELATED -j ACCEPT
    echo 1 > /proc/sys/net/ipv4/ip_forward

    iptables -t nat -A PREROUTING -p tcp -s $ANYWHERE -d $192.168.1.1 \
    --dport 80 -j DNAT --to-destination $CARIBIC

    iptables -A FORWARD -p tcp -s $ANYWHERE -d 192.168.1.1 --dport 80 -j \
    ACCEPT

    #Masquerading
    iptales -t nat -A POSTROUTING -o $INET_INT -j MASQUERADE

    Viele Grüsse

    Matthias
    Geändert von debian-climber (30.10.02 um 10:12 Uhr)

  4. #4
    Moderator
    Registriert seit
    May 2002
    Ort
    Dortmund
    Beiträge
    1.407
    Hallo,

    ich denke, das ganze läßt sich etwas vereinfachen und damit übersichtlicher gestalten:
    Code:
    #!/bin/bash
    INET_INT=eth1
    CARIBIC=192.168.2.2
    
    # Löscht alle Regeln
    iptables -F
    
    iptables -A INPUT DROP
    iptables -A OUTPUT DROP
    
    # Loopback Interface aktivieren
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    
    # HTTP zulassen
    iptables -A FORWARD -p tcp --dport 80 -m state --state NEW -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # NAT zum Webserver
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $CARIBIC
    
    # Masquerading
    iptales -t nat -A POSTROUTING -o $INET_INT -j MASQUERADE
    
    # Forwarding
    echo 1 > /proc/sys/net/ipv4/ip_forward
    Harry
    Geändert von Harry (30.10.02 um 18:40 Uhr)
    Wer einen Fehler findet, der darf ihn gerne behalten ;)
    http://harry.homelinux.org - iptables Generator & mehr

  5. #5
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    Karlsruhe
    Beiträge
    153

    merci

    vielen dank harry.

    hab es noch ein wenig umgestellt -> funktioniert!

    aber anstatt iptables -A input usw. muss es iptables -P input DROP usw. heissen

    Viele Grüsse

    Matthias
    Geändert von debian-climber (31.10.02 um 09:40 Uhr)

  6. #6
    Premium Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    2.483
    In Harry´s Script ist ein kleiner Fehler:
    Es muss statt:
    Code:
    iptables -A INPUT DROP
    iptables -A OUTPUT DROP
    folgendermaßen heissen:
    Code:
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    Deswegen frage ich mich gerade, wieso hat da überhaupt irgendwas funktioniert?
    Zweiblum versuchte es ihm zu erklären
    Rincewind versuchte es zu verstehen

    Wie man Fragen richtig stellt

  7. #7
    Agent (Clone #17264) Avatar von Jasper
    Registriert seit
    Jul 2002
    Ort
    The Matrix (Reloaded)
    Beiträge
    3.073
    Original geschrieben von Jinto
    In Harry´s Script ist ein kleiner Fehler:
    Es muss statt:
    Code:
    iptables -A INPUT DROP
    iptables -A OUTPUT DROP
    folgendermaßen heissen:
    Code:
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    Deswegen frage ich mich gerade, wieso hat da überhaupt irgendwas funktioniert?
    ich frag mich, warum kein 'iptables -P FORWARD DROP'. ansonsten sind doch die forward-regeln nutzlos.

    -j

  8. #8
    Moderator
    Registriert seit
    May 2002
    Ort
    Dortmund
    Beiträge
    1.407
    Hallo,

    ich find das Forum hier immer wieder Klasse, da auch meine eigenen Fehler korrigiert werden
    Danke Jinto, danke Jasper

    Harry
    Wer einen Fehler findet, der darf ihn gerne behalten ;)
    http://harry.homelinux.org - iptables Generator & mehr

  9. #9
    Agent (Clone #17264) Avatar von Jasper
    Registriert seit
    Jul 2002
    Ort
    The Matrix (Reloaded)
    Beiträge
    3.073
    Original geschrieben von Harry
    ich find das Forum hier immer wieder Klasse, da auch meine eigenen Fehler korrigiert werden
    dito. jederzeit wieder, jederzeit gern

    -j

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •