iptables weiterleitung port vom internen Netzwerk zum internet Port

Dieses Thema im Forum "Firewalls" wurde erstellt von Linux_starter, 21.05.2010.

  1. #1 Linux_starter, 21.05.2010
    Zuletzt bearbeitet: 21.05.2010
    Linux_starter

    Linux_starter Tripel-As

    Dabei seit:
    19.12.2006
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Warschau
    Hey Guys,

    ich muss vorab sagen das ich absolut netzwerk hasse. Ich habe jetzt aber einen Firewall Seite gefunden, wo man einen iptables skript erstellen kann.

    Ich habe ein netzwerk intern eth0 und einen Internet auf ppp0. Ich habe bis jetzt von intern nur Zugriff auf das Netzwerk gegeben also ist squid auf Port 3128 super erreichbar und internet funktioniert.

    Da Squid ja keine e-mail bearbeiten kann, muss ich die ports von eth0 auf ppp0 umleiten. Dabei moechte ich mich aber auf ports pop3, pop3s, imap, imaps beschaenken. der Port 80 http soll nicht direkt erreichbar sein, damit der Proxy verwendet werden muss (Transparent nicht moeglich, da keine Authentifizierung funktioniert - notwendig da ich Trafficlimit habe und irgendeiner immer darueber hinausschiesst.

    Also von eth0 sollen die Ports pop3, pop3s, imap, imaps an ppp0 weitergeleitet werden, und zurueck, damit die mails auch ankommen :-)

    Ich habe bis jetzt das folgende:
    Code:
    #!/bin/bash
    # ---------------------------------------------------------------------
    # Linux-iptables-Firewallskript, Copyright (c) 2010 under the GPL
    # Autogenerated by iptables Generator v1.22 (c) 2002-2010 by Harald Bertram 
    # Please visit http://harry.homelinux.org for new versions of
    # the iptables Generator (c).
    # 
    # This Script was generated by request from:
    # daniel.stanisz.busch@gmail.com on: 2010-5-20 19:43.18 MET.
    # 
    # If you have questions about the iptables Generator or about
    # your Firewall-Skript feel free to take a look at out website or
    # send me an E-Mail to webmaster@harry.homelinux.org.
    # 
    # My special thanks are going to Lutz Heinrich (trinitywork at hotmail dot com)
    # who made lots of Beta-Testing and gave me lots of well qualified
    # Feedback that made me able to improve the iptables Generator.
    # --------------------------------------------------------------------
    
    case "$1" in
      start)
        echo "Starte IP-Paketfilter"
    
        # iptables-Modul
        modprobe ip_tables
        # Connection-Tracking-Module
        modprobe ip_conntrack
        # Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
        modprobe ip_conntrack_irc
        modprobe ip_conntrack_ftp
    
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
    
        # Default-Policies setzen
        iptables -P INPUT DROP
        iptables -P OUTPUT DROP
        iptables -P FORWARD DROP
    
        # MY_REJECT-Chain
        iptables -N MY_REJECT
    
        # MY_REJECT fuellen
        iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
        iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
        iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
        iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
        iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
        iptables -A MY_REJECT -p icmp -j DROP
        iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
        iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
    
        # MY_DROP-Chain
        iptables -N MY_DROP
        iptables -A MY_DROP -j DROP
    
        # Alle Pakete protokollieren
        iptables -A INPUT -j LOG --log-prefix "INPUT LOG "
        iptables -A OUTPUT -j LOG --log-prefix "OUTPUT LOG "
        iptables -A FORWARD -j LOG --log-prefix "FORWARD LOG "
    
        # Korrupte Pakete zurueckweisen
        iptables -A INPUT -m state --state INVALID -j DROP
        iptables -A OUTPUT -m state --state INVALID -j DROP
        iptables -A FORWARD -m state --state INVALID -j DROP
    
        # Stealth Scans etc. DROPpen
        # Keine Flags gesetzt
        iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
    
        # SYN und FIN gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
    
        # SYN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
    
        # FIN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
    
        # FIN ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
    
        # PSH ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
    
        # URG ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
    
        # Loopback-Netzwerk-Kommunikation zulassen
        iptables -A INPUT -i lo -j ACCEPT
        iptables -A OUTPUT -o lo -j ACCEPT
    
        # Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    
        # Connection-Tracking aktivieren
        iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -i ! ppp0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
        # ICMP Echo-Request (ping) zulassen und beantworten
        iptables -A INPUT -m state --state NEW -p icmp --icmp-type echo-request -j ACCEPT
    
        # LAN-Zugriff auf eth0
        iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT
    
        # Default-Policies mit REJECT
        iptables -A INPUT -j MY_REJECT
        iptables -A OUTPUT -j MY_REJECT
        iptables -A FORWARD -j MY_REJECT
    
        # Forwarding/Routing
        echo "Aktiviere IP-Routing"
        echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
    
        # SYN-Cookies
        echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
    
        # Stop Source-Routing
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done
    
        # Stop Redirecting
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done
    
        # Reverse-Path-Filter
        for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done
    
        # Log Martians
        for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done
    
        # BOOTP-Relaying ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done
    
        # Proxy-ARP ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done
    
        # Ungültige ICMP-Antworten ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null
    
        # ICMP Echo-Broadcasts ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
    
        # Max. 500/Sekunde (5/Jiffie) senden
        echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
    
        # Speicherallozierung und -timing für IP-De/-Fragmentierung
        echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
        echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
        echo 30 > /proc/sys/net/ipv4/ipfrag_time
    
        # TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    
        # Maximal 3 Antworten auf ein TCP-SYN
        echo 3 > /proc/sys/net/ipv4/tcp_retries1
    
        # TCP-Pakete maximal 15x wiederholen
        echo 15 > /proc/sys/net/ipv4/tcp_retries2
    
        ;;
    
      stop)
        echo "Stoppe IP-Paketfilter"
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
        echo "Deaktiviere IP-Routing"
        echo 0 > /proc/sys/net/ipv4/ip_forward
    
        # Default-Policies setzen
        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        ;;
    
      status)
        echo "Tabelle filter"
        iptables -L -vn
        echo "Tabelle nat"
        iptables -t nat -L -vn
        echo "Tabelle mangle"
        iptables -t mangle -L -vn
        ;;
    
      *)
        echo "Fehlerhafter Aufruf"
        echo "Syntax: $0 {start|stop|status}"
        exit 1
        ;;
    
    esac
    Waere echt genial, wenn jemand mir da etwas aushelfen kann. Ich denke es wird irgendwas mit
    Code:
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    
    zu tun haben, aber ich weiss nicht wie ich die Ports da einbauen kann.

    Waere sehr froh da ein wenig hilfe fuer anfaenger zu bekommen.

    Danke
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    OK ich denke ich habe es gefunden:
    iptables -A POSTROUTING -t nat -o ppp0 -p tcp --dport 110 -j MASQUERADE
    iptables -A POSTROUTING -t nat -o ppp0 -p tcp --dport 25 -j MASQUERADE

    Oder ist da was verkehrt ?
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    OK, jetzt weiss ich nur nicht wohin mit dem skript in meinem super Ubuntu.... Der Networkmanager macht das sharing und dannach muss der skript rennen ... Wie am besten machen ?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

iptables weiterleitung port vom internen Netzwerk zum internet Port

Die Seite wird geladen...

iptables weiterleitung port vom internen Netzwerk zum internet Port - Ähnliche Themen

  1. FTP/FTPS ohne ip_conntrack_ftp oder nf_conntrack_ftp mit iptables

    FTP/FTPS ohne ip_conntrack_ftp oder nf_conntrack_ftp mit iptables: Guten Tag, kennt jemand von euch eine Möglichkeit wie ich vsftpd nutzen kann zusammen mit einer Firewall ohne die im Betreff angegebenen...
  2. iptables und whitelist

    iptables und whitelist: Moin zusammen, Nach einer Ewigkeit melde ich mich mal hier zurück. Ich hab da so ein kleines Problemchen. Ich mach z.Zt. eine Umschulung zum...
  3. iptables blocke nur von bestimmter ip

    iptables blocke nur von bestimmter ip: Hallo, ich habe ein kleines Heimnetzwerk mit einem Router unter openWRT. Dort kann ich mittels iptables -I OUTPUT -p udp --dport 53 -m...
  4. Opensuse iptables (yast FW) + MiniUPnPd

    Opensuse iptables (yast FW) + MiniUPnPd: Hallo zusammen, ich habe ja meine OpenSuse Box momentan als Gateway eingerichtet und der Router dient nur als Access Point für alle Geräte...
  5. IPtables

    IPtables: Hallo Leute, bin zurzeit dabei, einen Proxy aufzusetzen, der die IP meines Webservers vetuschen soll. Es läuft eig. schon alles super, nur eine...