darktr00per
15.09.02, 15:02
hi! Ich wollte seit langem mal meine Firewall Regeln ordentlich einstellen nur leider probier ich seit 2 tagen daran rum hab ich forum schon ordenrlich rumgeschaut aber werd nicht schlauer!
Und zwar bei meinem skript blockt er alles ich kann auf nichts zugreifen obwohl ich einige Ports exakt freigegeben habe!
Vielleicht könnt ihr mir dabei helfen ich will folgendes realisieren!
Im Internen Netzwerk also alles was über eth0 leuft soll erlaubt werden und alles was übers externe leuft ppp0 soll erst verboten werden und der reihe nach soll ssh, http freigegben werden!
P.S. Vielleicht geht folgendes noch ich benutze den Server als Router und auf ihm leuft auch der Proxy Server squid und ich will das alle zwingend nur über den Proxy ins inet kommen!
Anhang!
Mein skript! Ach bitte nich gleich losmaulen ich kenn mich da noch nedd aus also kann sein das ich allerhand verwurschtelt hab!
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
# module laden
/sbin/insmod iptable_nat &> /dev/null
/sbin/insmod ip_conntrack &> /dev/null
/sbin/insmod ip_conntrack_ftp &> /dev/null
/sbin/insmod ip_nat_ftp &> /dev/null
/sbin/insmod forblock &> /dev/null
/sbin/insmod ip_masq_h323 &> /dev/null
/sbin/insmod mssclampfw &> /dev/null
INTERNIP='192.168.1.21'
INTERNMASK='192.168.1.0/255.255.255.0'
EXTERNMASK='0.0.0.0/255.255.255.0'
EXTERNDEV='ppp0'
EXTERNIP=`/sbin/ifconfig ppp0|grep "inet addr"|cut -d: -f2|cut -d' ' -f1`
# alle einstellungen löschen
iptables -F
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
#lokale services für das internet blocken oder erlauben
iptables -A INPUT -p tcp --dport 4661:4665 -j ACCEPT
iptables -A INPUT -p udp --dport 4661:4665 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 6667 -j ACCEPT
# squid proxy erlauben
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT
# http erlauben
iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --sport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 80 -j ACCEPT
# Erlauben von Loopback-Verbindungen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# ftp nur intern erlauben
iptables -A INPUT -i eth0 -p tcp --dport 40000 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 40000 -j ACCEPT
#Erlauben von SSH (Server und Client)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
#Erlauben von HTTP (Server und Client)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
#Erlauben von HTTPS (Server und Client)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
# ICQ
iptables -t nat -A PREROUTING -p tcp --dport 5010:5030 -i ppp0 -j DNAT --to-destination $INTERNIP:5010-5030
# Forward
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1453: -j TCPMSS --set-mss 1452
# forwarding aktivieren
iptables -t nat -A POSTROUTING -o $EXTERNDEV -j MASQUERADE
# ftp server + dcc
iptables -t nat -A PREROUTING -i $EXTERNDEV -p tcp --dport 2000:2400 -j DNAT --to $INTERNIP:2000-2400
# quake + halflife
iptables -t nat -A PREROUTING -i $EXTERNDEV -p udp --dport 27005 -j DNAT --to $INTERNIP:27005
schonmal thx für eure hilfe!
Und zwar bei meinem skript blockt er alles ich kann auf nichts zugreifen obwohl ich einige Ports exakt freigegeben habe!
Vielleicht könnt ihr mir dabei helfen ich will folgendes realisieren!
Im Internen Netzwerk also alles was über eth0 leuft soll erlaubt werden und alles was übers externe leuft ppp0 soll erst verboten werden und der reihe nach soll ssh, http freigegben werden!
P.S. Vielleicht geht folgendes noch ich benutze den Server als Router und auf ihm leuft auch der Proxy Server squid und ich will das alle zwingend nur über den Proxy ins inet kommen!
Anhang!
Mein skript! Ach bitte nich gleich losmaulen ich kenn mich da noch nedd aus also kann sein das ich allerhand verwurschtelt hab!
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
# module laden
/sbin/insmod iptable_nat &> /dev/null
/sbin/insmod ip_conntrack &> /dev/null
/sbin/insmod ip_conntrack_ftp &> /dev/null
/sbin/insmod ip_nat_ftp &> /dev/null
/sbin/insmod forblock &> /dev/null
/sbin/insmod ip_masq_h323 &> /dev/null
/sbin/insmod mssclampfw &> /dev/null
INTERNIP='192.168.1.21'
INTERNMASK='192.168.1.0/255.255.255.0'
EXTERNMASK='0.0.0.0/255.255.255.0'
EXTERNDEV='ppp0'
EXTERNIP=`/sbin/ifconfig ppp0|grep "inet addr"|cut -d: -f2|cut -d' ' -f1`
# alle einstellungen löschen
iptables -F
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
#lokale services für das internet blocken oder erlauben
iptables -A INPUT -p tcp --dport 4661:4665 -j ACCEPT
iptables -A INPUT -p udp --dport 4661:4665 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 6667 -j ACCEPT
# squid proxy erlauben
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT
# http erlauben
iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --sport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 80 -j ACCEPT
# Erlauben von Loopback-Verbindungen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# ftp nur intern erlauben
iptables -A INPUT -i eth0 -p tcp --dport 40000 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 40000 -j ACCEPT
#Erlauben von SSH (Server und Client)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
#Erlauben von HTTP (Server und Client)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
#Erlauben von HTTPS (Server und Client)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
# ICQ
iptables -t nat -A PREROUTING -p tcp --dport 5010:5030 -i ppp0 -j DNAT --to-destination $INTERNIP:5010-5030
# Forward
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1453: -j TCPMSS --set-mss 1452
# forwarding aktivieren
iptables -t nat -A POSTROUTING -o $EXTERNDEV -j MASQUERADE
# ftp server + dcc
iptables -t nat -A PREROUTING -i $EXTERNDEV -p tcp --dport 2000:2400 -j DNAT --to $INTERNIP:2000-2400
# quake + halflife
iptables -t nat -A PREROUTING -i $EXTERNDEV -p udp --dport 27005 -j DNAT --to $INTERNIP:27005
schonmal thx für eure hilfe!