IPtables Firewall How To

#Info###########
Regeln werden immer von oben nach unten gelesen.
Das heißt matcht eine Regel bleibt der Filter stehen. besonders beim loggen.
Die Regeln werden sofort aktiv.
Um ins richtige Internet zu routen (nicht Private Adresse), muss das
"MASQUERADE" (iptables -t nat -A POSTROUTING -o dsl0 -j MASQUERADE) eingeschlatet werden, d.h. aber auch
das es im Kernel Compiliert ist.

#Kommando Übersicht###########################
iptables -L -v = Liste alle IPtables/Netfilter Regeln auf.
iptables -t nat -n -L -v = Listet die NAT Regeln auf
iptables -F = Löscht alle Regeln
iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP = Schaltet den ping von localhost ab
iptables -D INPUT 1 = löscht die erste Regel der Chain INPUT
iptables -A INPUT -s 0/0 -j DROP = Schaltet den ping komplett ab (0/0 bedeutet alle)
iptables -A INPUT -s 0/0 -p icmp -j LOG --log-level 7 = Debug Syslog Ausgabe bei pingen
iptables -A INPUT -s 0/0 -p tcp --dport 22 -j LOG --log-level 7 = Debug Syslog Ausgabe bei ssh Zugriff
iptables -I INPUT 2 -s 0/0 -p tcp --dport 22 -j LOG --log-level 7 = fügt die Regel zwischen Regel 1 und 3 als Nummer 2 ein.
iptables -N Neue_Chain = erstellt eine Neue Filter Kette
iptables -X Neue_Chain = löscht die selbst erstellte Chain
# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -F = löscht den NAT Postrouting eintrag.
iptables -t mangle -F
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
iptables -t nat -A POSTROUTING -o dsl0 -j MASQUERADE = Masquerading (NAT) aktivieren.
iptables -A POSTROUTING -t nat -o dsl0 -d 172.16.0.0/16 -j RETURN = Verhindert das die Packte ins 172.16.0.0/16 Netz geNATet werden. Wichtig für IPsec VPN von 172.17.0.0/16 nach 172.16.0.0/16.
iptables -A FORWARD -m mac --mac-source 00:03:0d:18:2c:77 -j DROP = Drop Packet von der MAC Adresse.
clear; iptables -L -v -n; iptables -t nat -n -L -v; iptables -t mangle -n -L -v

#Beispiele für Port Filter####################
iptables -A INPUT -s 0/0 -p icmp -j DROP = Schaltet den Ping komplett ab (0/0 bedeutet alle)
iptables -A INPUT -s 0/0 -p tcp --dport 22 -j DROP = Blockt den Port 22(sshd) für alle IPs
iptables -A INPUT -s 172.16.190.8 -p tcp --dport 22 -j ACCEPT = Akzeptiert nur die IP(172.16.190.8) für den Port 22
iptables -A INPUT -m iprange --src-range 172.16.190.0-172.16.190.255  -p tcp --dport 22 -j ACCEPT = IP range auf Port 22 zulassen
iptables -A INPUT -s bit-devil.dyndns.org -p tcp --dport 22 -j ACCEPT = Regel für Connections aus dem Internet
iptables -A INPUT -m iprange --src-range  62.225.192.0-62.227.255.254  -p tcp --dport 22 -j ACCEPT = Regel für Connections aus dem Internet (T-Online Raum Hemsbach und Umgebung)
iptables -A FORWARD -s 0/0 -j DROP = Schaltet das IP-Forwarding ab. Aber besser ist es im Yast auszuschalten.
##Verhindert SSH Brute Force Attacken bzw. es dürfen nur max. 4 neue Connection Pro Minute angenommen werden.
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j  LOG --log-prefix "SSH Brute Force: "
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
##
#Block einen für 60 Sekunden wenn er auf Port 139 zugreifen will#########################
iptables -A INPUT -m recent --name badguy --rcheck --seconds 60 -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 139 -m recent --name badguy --set -j DROP
#
mit "iptables-save > text.txt" kann man die aktuellen regeln abspeichern.
mit "cat test.txt | iptables-restore" kann man sie aus der Datei wieder laden.

#Schut vor Sync Flood
iptables -N syn-flood
iptables -A INPUT -s 0/0 -p tcp --syn -j syn-flood
#iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-level 7 --log-prefix "IN_synF S 0/0 limit burst: "
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-level 7 --log-prefix "IN_synF S 0/0 DROP: "
iptables -A syn-flood -j DROP

#Diverse Zusatz Kommandos#########
cat /proc/net/ip_conntrack = Zeigt aktive Tracking Connections

#Schema###############
       Incoming
       Traffic
          |
          |
          V
     +----------+
     |PREROUTING|
     +----------+
     |   raw    |  <--------------+
     |  mangle  |                 |
     |   nat    |                 |
     +----------+                 |
          |                       |
          |                       |
       Routing                    |
    +- Decision -+                |
    |            |                |
    |            |                |
    V            V                |
  Local        Remote             |
Destination   Destination         |
    |            |                |
    |            |                |
    V            V                |
+--------+  +---------+           |
| INPUT  |  | FORWARD |           |
+--------+  +---------+           |
| mangle |  | mangle  |           |
| filter |  | filter  |           |
+--------+  +---------+           |
    |            |                |
    |            |                |
    V            |                |
  Local          |                |
 Machine         |                |
    |            |                |
    |            |                |
    V            |                |
 Routing         |                |
 Decision        |                |
    |            |                |
    |            |                |
    V            |                |
+--------+       |                |
| OUTPUT |       |                |
+--------+       |                |
|  raw   |       |                |
| mangle |       |                |
|  nat   |       |                |
| filter |       |                |
+--------+       |                |
    |            |                |
    |      +-------------+        |
    |      | POSTROUTING |      Local
    +----> +-------------+ --> Traffic
           |   mangle    |
           |     nat     |
           +-------------+
                 |
                 |
                 V
              Outgoing
              Traffic
			  
#IPtables Filter (Beispiel)##################################################################################################################################
#!/bin/bash

#IP Forwarding (routing) aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
#IPv4 Stack Hardering##
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_source_route
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 128 > /proc/sys/net/ipv4/ip_default_ttl
echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
sysctl -w net.nf_conntrack_max=999999999
#cat /proc/sys/net/netfilter/nf_conntrack_max
#cat /proc/net/nf_conntrack

#Experimental#####################################
# 4KB send buffer, 20,480 connections max at worst case
echo 83886080 > /proc/sys/net/core/wmem_max
echo 83886080 > /proc/sys/net/core/wmem_default
# 16KB receive buffer, 20,480 connections max at worst case
echo 335544320 > /proc/sys/net/core/rmem_max
echo 335544320 > /proc/sys/net/core/rmem_default
# Max open files
#echo 65536 > /proc/sys/fs/filemax
## Fast port recycling (TIME_WAIT)
echo 1 >/proc/sys/net/ipv4/tcp_tw_recycle
echo 1 >/proc/sys/net/ipv4/tcp_tw_reuse
# TIME_WAIT buckets increased
echo 65536 > /proc/sys/net/ipv4/tcp_max_tw_buckets
# FIN timeout decreased
#echo 15 > /proc/sys/net/ipv4/tcp_fin_timeout
# SYN backlog increased
echo 65536 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# SYN cookies enabled
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Local port range maximized
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
# Netdev backlog increased
echo 100000 > /proc/sys/net/core/netdev_max_backlog
# Interface transmit ACCEPTlen increased
#ifconfig eth1 txqueuelen 10000
#ifconfig eth1 txqueuelen 10000

#echo 0 > /proc/sys/net/ipv4/tcp_timestamps
##echo 3600 > /proc/sys/net/ipv4/tcp_fin_timeout
#echo 300 > /proc/sys/net/ipv4/tcp_fin_timeout

#Alle vorherigen IPtables Filter loeschen#########################################################################################################################################################
iptables -F
iptables -X
iptables -t nat -F
iptables -t mangle -F
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
iptables -Z
##
ip6tables -F
ip6tables -X
ip6tables -t mangle -F
ip6tables --delete-chain
ip6tables -t mangle --delete-chain
ip6tables -Z
##
arptables -F
arptables -F
arptables -X
##
ipset -F
ipset destroy
#################################################################################################################################################################################################
#
#Loopback Adpater Verkehr zulassen##################################################################################################################################################################################################
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
##################################################################################################################################################################################################

#Bit-Devil Verkehr zulassen##################################################################################################################################################################################################
iptables -A INPUT -i eth0 -s 172.16.190.1 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.16.190.1 -j ACCEPT
iptables -A INPUT -i eth0 -s 172.17.190.1 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.17.190.1 -j ACCEPT
#iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -o eth1 -s 172.17.190.1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
##################################################################################################################################################################################################
#
#Control Verkehr zulassen##################################################################################################################################################################################################
iptables -A INPUT -i eth0 -s 172.17.190.17 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.17.190.17 -j ACCEPT
##################################################################################################################################################################################################
#
#Striker SMB##################################################################################################################################################################################################
#iptables -A INPUT -i eth0 -s 172.17.190.16 -d 172.17.190.250 -p udp --sport 137 --dport 137 -j ACCEPT
##################################################################################################################################################################################################
#
#Routing ins 172er Netz zulassen#################################################################################################################################################################################################
#Von 172.17.190.XX nach 172.17.190.XX zulassen. Sonst kommt INVALID Packet ????????
iptables -A FORWARD -i eth0 -o eth0 -m iprange --src-range 172.17.190.0-172.17.190.255 -m iprange --dst-range 172.17.190.0-172.17.190.255 -j ACCEPT
###################################################################################################################################################

#Kabel BW DHCP zulassen###################################################################################################################################################
iptables -A OUTPUT -o eth1 -d 10.123.64.1 -p udp --sport 68 --dport 67 -j ACCEPT
##################################################################################################################################################################################################
#
#IPSet Regel aktivieren(ca. 1 Milliarde IPs)######################################################################################
/usr/sbin/ipset destroy
/usr/sbin/ipset create antip2p hash:net family inet hashsize 2000000 maxelem 4294967295
cat /root/scripte/ip_block_liste/antip2p.txt | /usr/sbin/ipset restore -exist
##Kabel BW zulassen"vi /root/scripte/ip_block_liste/iblock_listen/jcjfaxgyyshvdbceroxf" -> "Kabel Baden-Wuerttemburg GmbH & Co. KG:95.208.0.0-95.208.255.255"
/usr/sbin/ipset del antip2p 95.208.0.0-95.208.255.255
/usr/sbin/ipset del antip2p 10.0.0.0-10.255.255.255
iptables -A INPUT -m set --match-set antip2p src -j LOG --log-level 7 --log-prefix "IN ANTIP2P DROP: "
iptables -A INPUT -m set --match-set antip2p src -j DROP
iptables -A OUTPUT -m set --match-set antip2p src -j LOG --log-level 7 --log-prefix "OUT ANTIP2P DROP: "
iptables -A OUTPUT -m set --match-set antip2p src -j DROP
iptables -A FORWARD -m set --match-set antip2p src -j LOG --log-level 7 --log-prefix "FOR ANTIP2P DROP: "
iptables -A FORWARD -m set --match-set antip2p src -j DROP
######################################################################################
#
#Snort IDS starten#################################################################################################################################################################################################
#killall -s 9 /usr/bin/snort*
#/usr/bin/snort -c /etc/snort/etc/snort.conf -A full -I -l /var/log/snort/ -s -D -Q --daq nfq --daq-var queue_len=4096
##################################################################################################################################################################################################
#
#Sync Flood Schutz###############################################################################################################################################################################
iptables -N syn-flood
iptables -N syn-flood_forw
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A OUTPUT -p tcp --syn -j syn-flood
iptables -A FORWARD -p tcp --syn -j syn-flood_forw
#Neue Kette##
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-level 7 --log-prefix "IN_OUT synFld DROP: "
iptables -A syn-flood -j DROP
iptables -A syn-flood_forw -m limit --limit 1/s --limit-burst 10000 -j RETURN
iptables -A syn-flood_forw -m limit --limit 1/s --limit-burst 10000 -j LOG --log-level 7 --log-prefix "FOR synFld DROP: "
iptables -A syn-flood_forw -j DROP
##################################################################################################################################################################################################
#
#Sicher gehn das neue IP Packete Sync Packete sind##################################################################################################################################################################################################
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix "IN new not Sync DROP: "
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix "OUT new not Sync DROP: "
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix "FOR new not Sync DROP: "
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
##################################################################################################################################################################################################
#
#Fragmentationsschutz##################################################################################################################################################################################################
iptables -A INPUT -f -j LOG --log-prefix "IN FRAGM DRP: "
iptables -A INPUT -f -j DROP
iptables -A OUTPUT -f -j LOG --log-prefix "OUT FRAGM DRP: "
iptables -A OUTPUT -f -j DROP
iptables -A FORWARD -f -j LOG --log-prefix "FOR FRAGM DRP: "
iptables -A FORWARD -f -j DROP
##################################################################################################################################################################################################
#
#Kaputte Packete (No trackable) loeschen##################################################################################################################################################################################################
iptables -A INPUT -p ALL -m state --state INVALID -j LOG --log-prefix "IN INVALID DRP: "
iptables -A INPUT -p ALL -m state --state INVALID -j DROP
iptables -A OUTPUT -p ALL -m state --state INVALID -j LOG --log-prefix "OUT INVALID DRP: "
iptables -A OUTPUT -p ALL -m state --state INVALID -j DROP
iptables -A FORWARD -p ALL -m state --state INVALID -j LOG --log-prefix "FOR INVALID DRP: "
iptables -A FORWARD -p ALL -m state --state INVALID -j DROP
###################################################################################################################################################################################################
#
#Eingehende Packet an eth1(Internet) aus dem Klasse A IP Netz droppen.##
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IN S clA eth1 DRP: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
iptables -A OUTPUT -o eth1 -d 10.0.0.0/8 -j LOG --log-prefix "OUT D clA eth1 DRP: "
iptables -A OUTPUT -o eth1 -d 10.0.0.0/8 -j DROP
iptables -A FORWARD -o eth1 -s 10.0.0.0/8 -j LOG --log-prefix "FOR D clA eth1 DRP: "
iptables -A FORWARD -o eth1 -s 10.0.0.0/8 -j DROP
iptables -A FORWARD -i eth1 -d 10.0.0.0/8 -j LOG --log-prefix "FOR S clA eth1 DRP: "
iptables -A FORWARD -i eth1 -d 10.0.0.0/8 -j DROP
###################################################################################################################################################################################################
#
#Eingehende Packet an eth1(Internet) aus dem Klasse B IP Netz droppen.##
iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j LOG --log-prefix "IN S clB eth1 DRP: "
iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
iptables -A OUTPUT -o eth1 -d 172.16.0.0/12 -j LOG --log-prefix "OUT D clB eth1 DRP: "
iptables -A OUTPUT -o eth1 -d 172.16.0.0/12 -j DROP
iptables -A FORWARD -o eth1 -s 172.16.0.0/12 -j LOG --log-prefix "FOR D clB eth1 DRP: "
iptables -A FORWARD -o eth1 -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -i eth1 -d 172.16.0.0/12 -j LOG --log-prefix "FOR S clB eth1 DRP: "
iptables -A FORWARD -i eth1 -d 172.16.0.0/12 -j DROP
###################################################################################################################################################################################################
#
#Broadcast zulassen###################################################################################################################################################################################################
iptables -A INPUT -i eth1 -m iprange --src-range 192.168.1.0-192.168.1.255 -d 192.168.1.255 -j ACCEPT
###################################################################################################################################################################################################
#
#Eingehende Packete an eth1(Internet) aus dem Klasse B IP Netz droppen.#####################################################################################################################################################################################################
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j LOG --log-prefix "IN S clC eth1 DRP: "
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
iptables -A OUTPUT -o eth1 -d 192.168.0.0/16 -j LOG --log-prefix "OUT D clC eth1 DRP: "
iptables -A OUTPUT -o eth1 -d 192.168.0.0/16 -j DROP
iptables -A FORWARD -o eth1 -s 192.168.0.0/16 -j LOG --log-prefix "FOR D clC eth1 DRP: "
iptables -A FORWARD -o eth1 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -i eth1 -d 192.168.0.0/16 -j LOG --log-prefix "FOR S clC eth1 DRP: "
iptables -A FORWARD -i eth1 -d 192.168.0.0/16 -j DROP
###################################################################################################################################################################################################
#
#Eingehende Packet an eth1(Internet) aus dem Klasse B IP Netz droppen.##
iptables -A INPUT -i eth1 -s 169.254.0.0/16 -j LOG --log-prefix "IN S clC eth1 DRP: "
iptables -A INPUT -i eth1 -s 169.254.0.0/16 -j DROP
iptables -A OUTPUT -o eth1 -d 169.254.0.0/16 -j LOG --log-prefix "OUT D clC eth1 DRP: "
iptables -A OUTPUT -o eth1 -d 169.254.0.0/16 -j DROP
iptables -A FORWARD -o eth1 -s 169.254.0.0/16 -j LOG --log-prefix "FOR D clC eth1 DRP: "
iptables -A FORWARD -o eth1 -s 169.254.0.0/16 -j DROP
iptables -A FORWARD -i eth1 -d 169.254.0.0/16 -j LOG --log-prefix "FOR S clC eth1 DRP: "
iptables -A FORWARD -i eth1 -d 169.254.0.0/16 -j DROP
###################################################################################################################################################################################################
#
#NATing aktivieren###################################################################################################################################################################################################
#iptables -t nat -A POSTROUTING -o eth1 -j LOG --log-prefix "POSTROUT: "
#iptables -t nat -A PREROUTING -i eth1 -j LOG --log-prefix "PREROUTE: "
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
###################################################################################################################################################################################################
#
#KabelBW DHCP zulassen.###################################################################################################################################################################################################
iptables -t nat -A PREROUTING -i eth1 -s 10.123.64.1 -d 255.255.255.255 -p udp --sport 67 --dport 68 -j ACCEPT
###################################################################################################################################################################################################
#
#WEB Server durchreichen (port forwarding)###################################################################################################################################################################################################
iptables -A OUTPUT -o eth0 -s 172.17.190.250 -d 172.17.190.10 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -s 172.17.190.250 -d 172.17.190.17 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -s 172.17.190.250 -d 172.17.190.1 -p icmp -j ACCEPT
#
iptables -t nat -A PREROUTING -i eth1 -s 0/0 -p tcp --dport 80 -j DNAT --to-destination 172.17.190.10:80
iptables -t nat -A POSTROUTING -p tcp -d 172.17.190.10 --dport 80 -j MASQUERADE
iptables -A FORWARD -i eth1 -d 172.17.190.10 -p tcp --dport 80 -j ACCEPT 
iptables -A FORWARD -o eth1 -s 172.17.190.10 -p tcp --sport 80 -j ACCEPT 
#
iptables -t nat -A PREROUTING -i eth1 -s 0/0 -p tcp --dport 443 -j DNAT --to-destination 172.17.190.10:443
iptables -t nat -A POSTROUTING -p tcp -d 172.17.190.10 --dport 443 -j MASQUERADE
iptables -A FORWARD -i eth1 -d 172.17.190.10 -p tcp --dport 443 -j ACCEPT 
iptables -A FORWARD -o eth1 -s 172.17.190.10 -p tcp --sport 443 -j ACCEPT
####################################################################################################################################################################################################
#
#VPN Server durchreichen (port forwarding)###################################################################################################################################################################################################
iptables -A OUTPUT -o eth0 -s 172.17.190.250 -d 172.17.190.32 -p icmp -j ACCEPT
#
iptables -t nat -A PREROUTING -i eth1 -s 0/0 -p udp --dport 500 -j DNAT --to-destination 172.17.190.32:500
iptables -t nat -A POSTROUTING -p udp -d 172.17.190.32 --dport 500 -j MASQUERADE
iptables -A FORWARD -i eth1 -d 172.17.190.32 -p udp --dport 500 -j ACCEPT 
iptables -A FORWARD -o eth1 -s 172.17.190.32 -p udp --sport 500 -j ACCEPT 
#
iptables -t nat -A PREROUTING -i eth1 -s 0/0 -p udp --dport 4500 -j DNAT --to-destination 172.17.190.32:4500
iptables -t nat -A POSTROUTING -p udp -d 172.17.190.32 --dport 4500 -j MASQUERADE
iptables -A FORWARD -i eth1 -d 172.17.190.32 -p udp --dport 4500 -j ACCEPT 
iptables -A FORWARD -o eth1 -s 172.17.190.32 -p udp --sport 4500 -j ACCEPT 
####################################################################################################################################################################################################
#
#Internes Routing#########################################################################################################################################################################################################################################################################################
iptables -A FORWARD -i eth0 -o eth2 -s 172.17.0.0/16 -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s 10.0.0.0/8 -d 172.17.0.0/16 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth0 -s 172.17.0.0/16 -d 172.17.0.0/16 -j ACCEPT
##########################################################################################################################################################################################################################################################################################
#
#TEST#########################################################################################################################################################################################################################################################################################
#HTTP(s) zulassen
#CONTROL###
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.17 -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --sport 80 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.17 -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --dport 80 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.17 -p tcp --dport 443 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --sport 443 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.17 -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --dport 443 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.17 -p udp --dport 53 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p udp --sport 53 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.17 -p udp --sport 53 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p udp --dport 53 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
#Bit-Devil###
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --sport 80 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --dport 80 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --dport 443 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --sport 443 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --dport 443 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p udp --dport 53 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p udp --sport 53 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p udp --sport 53 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p udp --dport 53 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --dport 25 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --sport 25 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --dport 25 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --dport 110 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --sport 110 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --sport 110 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --dport 110 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --dport 995 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --sport 995 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --sport 995 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --dport 995 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --dport 993 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.17 -p tcp --sport 993 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -i eth1 -s 0/0 -d 172.17.190.1 -p tcp --sport 993 -m conntrack --ctstate ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
iptables -A FORWARD -o eth1 -s 172.17.190.1 -p tcp --dport 993 -d 0/0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED,SNAT,DNAT -j QUEUE
#
#Wurzel
iptables -A FORWARD -i eth1 -s 0/0 -d 10.0.66.15 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth1 -s 10.0.66.15 -d 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
#Kabel BW DNS Server zulassen
iptables -A OUTPUT -o eth1 -d 82.212.62.62 -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -s 82.212.62.62 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -i eth1 -s 0/0 -d 172.17.190.17 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
######################################################################################
#
#Broadcast zulassen######################################################################################
iptables -A INPUT -i eth2 -p udp --dport 67 --sport 68 -s 0.0.0.0 -d 255.255.255.255 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 67 --sport 68 -s 0.0.0.0 -d 255.255.255.255 -j ACCEPT
######################################################################################
#
#Spezial akzeptieren (Broadcasts)############################################################################################################################################################################
##Spezial ACCEPT aber nicht protokollieren
iptables -A INPUT -i eth2 -p udp --dport 138 --sport 138 -d 10.255.255.255 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --dport 137 --sport 137 -d 10.255.255.255 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --dport 138 --sport 138 -d 10.255.255.255 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 138 --sport 138 -d 172.17.255.255 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 137 --sport 137 -d 172.17.255.255 -j ACCEPT
#
iptables -A OUTPUT -o eth2 -p udp --dport 138 --sport 138 -d 10.255.255.255 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 138 --sport 138 -d 172.17.255.255 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 137 --sport 137 -d 172.17.255.255 -j ACCEPT
############################################################################################################################################################################
#
#REST DROPen###########################################################################################################################################################################
#Nicht Spezifizierte Kommunikation mit dem Internet DROPen.
iptables -A FORWARD -s 0/0 -j LOG --log-level 7 --log-prefix "FORWARD S 0/0 drop: "
iptables -A FORWARD -s 0/0 -j DROP
iptables -A FORWARD -s 0/0 -j LOG --log-level 7 --log-prefix "FORWARD S 0/0 Fehler: "
#
#Nicht Spezifizierte Kommunikation mit dem Internet DROPen.
iptables -A FORWARD -d 0/0 -j LOG --log-level 7 --log-prefix "FORWARD D 0/0 drop: "
iptables -A FORWARD -d 0/0 -j DROP
iptables -A FORWARD -d 0/0 -j LOG --log-level 7 --log-prefix "FORWARD D 0/0 Fehler: "
#Nicht Spezifizierte Kommunikation mit dem Internet DROPen.
iptables -A FORWARD -i eth1 -j LOG --log-level 7 --log-prefix "FORWARD S eth1 drop: "
iptables -A FORWARD -i eth1 -j DROP
iptables -A FORWARD -i eth1 -j LOG --log-level 7 --log-prefix "FORWARD S eth1 Fehler: "
#
#Nicht Spezifizierte Kommunikation mit dem Internet DROPen.
iptables -A FORWARD -o eth1 -j LOG --log-level 7 --log-prefix "FORWARD D eth1 drop: "
iptables -A FORWARD -o eth1 -j DROP
iptables -A FORWARD -o eth1 -j LOG --log-level 7 --log-prefix "FORWARD D eth1 Fehler: "

#Nicht spezifizierter ausgehender Verkehr DROPen.
iptables -A OUTPUT -d 0/0 -j LOG --log-level 7 --log-prefix "OUTPUT D 0/0 drop: "
iptables -A OUTPUT -d 0/0 -j DROP
iptables -A OUTPUT -d 0/0 -j LOG --log-level 7 --log-prefix "OUTPUT D 0/0 Fehler: "
#
#Jeder nicht spezifizierten ausgehnder Verkehr DROPen.
iptables -A OUTPUT -o eth1 -j LOG --log-level 7 --log-prefix "OUTPUT D eth1 drop: "
iptables -A OUTPUT -o eth1 -j DROP
iptables -A OUTPUT -o eth1 -j LOG --log-level 7 --log-prefix "OUTPUT D eth1 Fehler: "


#Nicht spezifizierter ausgehender Verkehr DROPen.
iptables -A INPUT -d 0/0 -j LOG --log-level 7 --log-prefix "INPUT D 0/0 drop: "
iptables -A INPUT -d 0/0 -j DROP
iptables -A INPUT -d 0/0 -j LOG --log-level 7 --log-prefix "INPUT D 0/0 Fehler: "
#
#Jeder nicht spezifizierten ausgehnder Verkehr DROPen.
iptables -A INPUT -i eth1 -j LOG --log-level 7 --log-prefix "INPUT D eth1 drop: "
iptables -A INPUT -i eth1 -j DROP
iptables -A INPUT -i eth1 -j LOG --log-level 7 --log-prefix "INPUT D eth1 Fehler: "
######################################################################################

#IPv6 DROPen######################################################################################
ip6tables -A INPUT -j LOG --log-level 7 --log-prefix "INPUT V6 D 0/0 drop: "
ip6tables -A INPUT -j DROP
ip6tables -A INPUT -j LOG --log-level 7 --log-prefix "OUTPUT V6 D 0/0 drop: "
ip6tables -A OUTPUT -j DROP
ip6tables -A FORWARD -j LOG --log-level 7 --log-prefix "FORWARD V6 D 0/0 drop: "
ip6tables -A FORWARD -j DROP
######################################################################################

Post Revisions: