keine Verbindung nach aussen

P

pep

Grünschnabel
Hallo Leute,

ich habe nen Problem, an dem ich heute schon 5h saß.

Und zwar habe ich hier ein Netzwerk mit einer Firewall/Gateway.
Über die Firewall/Gateway läuft Internet und Telefon.

Nur leider geht nur das Telefon, und alles, was mit dem 192.168.130.x Netz zu tun hat.

Alles von eth1 raus geht .
Eth0 = Internet --> 192.168.1.x Netz
Eth1 = LAN --> 192.168.0.x Netz

Wäre nett, wenn ihr euch mal meine IP Tables anschauen könnt.

Code:
#!/bin/bash

case "$1" in
  start)
    echo "Starte IP-Paketfilter"

lan_ip="192.168.0.0/24"
extlan_ip="192.168.130.0/24"

    # 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 leeren
    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

    # chain zur verzweigung von internet in und internet out
    iptables -N transfer

    # daten ins Internet, Chain erstellen 
    iptables -N internetout

    # daten vom Internet, Chain erstellen
    iptables -N internetin

    # 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 -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
    iptables -A MY_DROP -j DROP

    # Alle verworfenen Pakete protokollieren
    iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
    iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "
    iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "FORWARD INVALID "

    # 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 ! ippp0 -m state --state NEW,ESTABLISHED,RELATED -j transfer
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j transfer
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # SSH
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 22 -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

    # 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

    # traffic ins und von Netz Stuttgart durchlassen

    iptables -A transfer -d $extlan_ip -s $lan_ip -j ACCEPT
    iptables -A transfer -d $lan_ip -s $extlan_ip -j ACCEPT

    # restlichen traffic in die Internet Chain leiten
    iptables -A transfer -i eth0 -d 0/0 -s $lan_ip -j internetout
    iptables -A transfer -i eth1 -d $lan_ip -s 0/0 -j internetin

    # iptables -A internetout -p icmp --icmp-type echo-request -j ACCEPT
    # iptables -A internetout -p icmp --icmp-type echo-reply -j ACCEPT
    iptables -A internetout -p tcp --dport 21 -j ACCEPT
    iptables -A internetout -p tcp --dport 20 -j ACCEPT
    iptables -A internetout -p tcp --dport 25 -j ACCEPT
    iptables -A internetout -p tcp --dport 23 -j ACCEPT
    iptables -A internetout -p udp --dport 53 -j ACCEPT
    iptables -A internetout -p tcp --dport 80 -j ACCEPT
iptables -A internetout -p tcp --dport 5900 -j ACCEPT
    iptables -A internetout -p udp --dport 123 -j ACCEPT
iptables -A internetout -p tcp --dport 137 -j ACCEPT
    
    # iptables -A internetout -m state --state NEW  -p tcp --sport 2083 -j ACCEPT
    iptables -A internetout -p tcp --dport 110 -j ACCEPT
    iptables -A internetout -p udp --dport 123 -j ACCEPT
    iptables -A internetout -p tcp --dport 123 -j ACCEPT
    iptables -A internetout -p tcp --dport 443 -j ACCEPT
    iptables -A internetout -p tcp --dport 3048 -j ACCEPT
    iptables -A internetout -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

    iptables -A internetout -j MY_REJECT

    iptables -A internetin -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A internetin -p icmp --icmp-type echo-reply -j ACCEPT
    iptables -A internetin -p icmp --icmp-type time-exceeded -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 21 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED,RELATED -p tcp --sport 20 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 23 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 25 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p udp --sport 53 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 110 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p udp --sport 123 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 123 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 443 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 2000 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 3048 -j ACCEPT
    iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 123 -j ACCEPT
iptables -A internetin -m state --state ESTABLISHED -p tcp --sport 137 -j ACCEPT
    iptables -A internetin -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
    # iptables -A internetin -p tcp --dport 2083 -j ACCEPT
       
    iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    iptables -A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.14
    iptables -A FORWARD -i eth1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.14 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    iptables -A internetin -j MY_REJECT

#    iptables -t nat -A POSROUTING -o eth1 -j MASQUERADE
    ;;

  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

Ps.: wenn ich die Yast Firewall nehme, anstatt das Script, geht zwar das Internet, aber die Verbindung in 192.168.130.x Netz bekomme ich net hin.

Wäre für Hilfe dankbar
 

Ähnliche Themen

Port Forwarding mit iptables

ip6tables Problem

iptables verständniss frage, xrdp nicht erreichbar.

[SOLVED][CentOS 7] Samba server nicht erreichbar trotz firewall regeln.

Wired-Lan komisches Verhalten

Zurück
Oben