Re: OT: Erreichbarkeit von Servern durch Lenny-Firewall
Hallo Stefan!
Stefan Bauer schrieb:
> Boris Höffgen schrieb:
>> Hallo Liste!
>>
>> Stefan Bauer schrieb:
>>> On 04.02.2010 09:35, Boris Höffgen wrote:
>>>
>>>> Hallo,
>>>>
>>>> ich weiß, es ist ein komplexes Thema und lokalisieren lässt es sich
>>>> auch kaum, deshalb erwarte ich auch nur Vermutungen und Anregung. Hat
>>>> jemand vielleicht eine Idee, warum sowohl von innen wie auch von außen
>>>> Server teilweise nicht zu erreichen sind. Die nicht Erreichbarkeit
>>>> geht
>>>> von ca. 1s bis hin zu ca. 60s. Es wird ein SDSL mit Fest-IPs
>>>> benutzt und
>>>> das Netzgateway vor dem SDSL-Router läuft unter Lenny mit einer
>>>> IPTABLES-Firewall. Laut Carrier ist die Leitung bis zum Router stabil
>>>> und ohne größere Auffälligkeiten. Wenn wir aber diverse Ping-Tests
>>>> (von
>>>> innen nach aussen und umgekehrt) laufen lassen, sieht man eben in
>>>> Abständen eine hohe Zahl von "Paket Losts". Das Gateway haben wir auch
>>>> schon gegen einen neuen testweise getauscht, ohne Änderungen (NICs
>>>> sind
>>>> jedoch annähernd gleich geblieben). Der SDSL-Router ist auch getauscht
>>>> worden, sowie der Switch im Netz.
>>>>
>>>> Scenario:
>>>> <Server im LAN>-----<Lenny
>>>> Gateway>------<SDSL-Router>-----Internet--------<Server im Internet>
>>>>
>>>> Woran könnte es noch liegen?
>>>>
>>> Boris,
>>>
>>> ich würde mir mal die iptables-Regeln auf eurem Lenny-Gateway
>>> ansehen. Ich hab da so Sachen wie NAT/Masquerading und falsche
>>> Routen im Verdacht.
>>>
>>>
>> Um dieses Thema nochmal aufzugreifen. Mittlerweile habe ich die Firewall
>> einige Tage abgeschaltet und laut Aussauge diverser User waren die
>> Probleme fast verschwunden. Zufall?! Gibt es bei IPTABLES irgendein
>> Parameter (Stateless Rules o.ä.), welches so ein Phänomen verursacht?
>> Masquerade und NAT wird nicht verwendet. Das Routing sieht auch ok aus,
>> ich meine es ist komisch, dass es mal geht und mal nicht. Könnte es am
>> Logging der Firewall liegen?
>
> Sollen wir raten, oder zeigst du uns die Regeln? :)
> (nein wir raten nicht)
Anbei die Regeln:
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
$IP -4 neigh flush dev eth0 >/dev/null 2>&1
$IP -4 addr flush dev eth0 secondary label "eth0:FWB*" >/dev/null 2>&1
$IP -4 neigh flush dev eth1 >/dev/null 2>&1
$IP -4 addr flush dev eth1 secondary label "eth1:FWB*" >/dev/null 2>&1
$IP -4 neigh flush dev eth2 >/dev/null 2>&1
$IP -4 addr flush dev eth2 secondary label "eth2:FWB*" >/dev/null 2>&1
add_addr 132.195.8.1 27 eth0
$IP link set eth0 up
add_addr 132.195.3.106 30 eth1
$IP link set eth1 up
add_addr 192.168.178.253 24 eth2
$IP link set eth2 up
add_addr 127.0.0.1 8 lo
$IP link set lo up
$IPTABLES -P OUTPUT DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
$IPTABLES -A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m
state --state NEW -j DROP
$IPTABLES -A OUTPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m
state --state NEW -j DROP
$IPTABLES -A FORWARD -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m
state --state NEW -j DROP
#
$IPTABLES -N In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 132.195.8.1 -j In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 132.195.3.106 -j In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 192.168.178.253 -j In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 132.195.8.0/27 -j In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 192.168.178.0/24 -j In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 132.195.6.226 -j In_RULE_0
$IPTABLES -A INPUT -i eth1 -s 10.0.0.0/24 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 132.195.8.1 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 132.195.3.106 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 192.168.178.253 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 132.195.8.0/27 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 192.168.178.0/24 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 132.195.6.226 -j In_RULE_0
$IPTABLES -A FORWARD -i eth1 -s 10.0.0.0/24 -j In_RULE_0
$IPTABLES -A In_RULE_0 -j LOG --log-level alert --log-prefix "RULE 0
-- DENY "
$IPTABLES -A In_RULE_0 -j DROP
#
$IPTABLES -A INPUT -i lo -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o lo -m state --state NEW -j ACCEPT
#
$IPTABLES -N Cid483F28FA18212.0
$IPTABLES -A INPUT -p udp -m udp -d 132.195.8.31 --dport 8765 -m
state --state NEW -j Cid483F28FA18212.0
#
$IPTABLES -A Cid483F28FA18212.0 -s 132.195.8.0/27 -j ACCEPT
$IPTABLES -A Cid483F28FA18212.0 -s 10.0.0.0/24 -j ACCEPT
$IPTABLES -A Cid483F28FA18212.0 -s 132.195.6.226 -j ACCEPT
#
$IPTABLES -A OUTPUT -p icmp -m icmp --icmp-type any -m state --state
NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport --dports 21,80,22 -m
state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m udp -m multiport --dports 500,4500 -m
state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p 50 -m state --state NEW -j ACCEPT
#
$IPTABLES -N Cid47E504963188.0
$IPTABLES -A OUTPUT -d 132.195.8.1 -m state --state NEW -j
Cid47E504963188.0
$IPTABLES -A OUTPUT -d 132.195.3.106 -m state --state NEW -j
Cid47E504963188.0
$IPTABLES -A OUTPUT -d 192.168.178.253 -m state --state NEW -j
Cid47E504963188.0
$IPTABLES -A Cid47E504963188.0 -p tcp -m tcp --dport 22 -j ACCEPT
$IPTABLES -A Cid47E504963188.0 -p udp -m udp -m multiport --dports
500,4500,1701 -j ACCEPT
$IPTABLES -A Cid47E504963188.0 -p 50 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j
ACCEPT
$IPTABLES -A INPUT -p udp -m udp -m multiport --dports 500,4500,1701
-m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p 50 -m state --state NEW -j ACCEPT
#
$IPTABLES -N Cid47E53D1B3188.0
$IPTABLES -A INPUT -s 10.0.0.0/24 -m state --state NEW -j
Cid47E53D1B3188.0
$IPTABLES -A INPUT -s 132.195.8.0/27 -m state --state NEW -j
Cid47E53D1B3188.0
$IPTABLES -A Cid47E53D1B3188.0 -p icmp -m icmp --icmp-type any -j ACCEPT
$IPTABLES -A Cid47E53D1B3188.0 -p tcp -m tcp -m multiport --dports
2323,3128,6666,514,80 -j ACCEPT
$IPTABLES -A Cid47E53D1B3188.0 -p udp -m udp --dport 137 -j ACCEPT
#
$IPTABLES -N Cid47E4F8A43188.0
$IPTABLES -A OUTPUT -p tcp -m tcp --dport 53 -m state --state NEW -j
Cid47E4F8A43188.0
$IPTABLES -A OUTPUT -p udp -m udp --dport 53 -m state --state NEW -j
Cid47E4F8A43188.0
$IPTABLES -A Cid47E4F8A43188.0 -d 132.195.8.7 -j ACCEPT
$IPTABLES -A Cid47E4F8A43188.0 -d 132.195.6.226 -j ACCEPT
#
$IPTABLES -N RULE_7
$IPTABLES -A OUTPUT -d 132.195.8.1 -j RULE_7
$IPTABLES -A OUTPUT -d 132.195.3.106 -j RULE_7
$IPTABLES -A OUTPUT -d 192.168.178.253 -j RULE_7
$IPTABLES -A INPUT -j RULE_7
$IPTABLES -A RULE_7 -j LOG --log-level alert --log-prefix "RULE 7 --
DENY "
$IPTABLES -A RULE_7 -j DROP
#
$IPTABLES -A OUTPUT -p tcp -m tcp --dport 113 -m state --state NEW -j
REJECT
$IPTABLES -A INPUT -p tcp -m tcp --dport 113 -m state --state NEW -j
REJECT
$IPTABLES -A FORWARD -p tcp -m tcp --dport 113 -m state --state NEW
-j REJECT
#
$IPTABLES -N Cid47CACB8E4698.0
$IPTABLES -A OUTPUT -d 132.195.8.8 -m state --state NEW -j
Cid47CACB8E4698.0
$IPTABLES -A Cid47CACB8E4698.0 -p icmp -m icmp --icmp-type any -j ACCEPT
$IPTABLES -A Cid47CACB8E4698.0 -p tcp -m tcp -m multiport --dports
25,110,995,143,143 -j ACCEPT
$IPTABLES -A Cid47CACB8E4698.0 -p udp -m udp -m multiport --dports
110,995,143,993 -j ACCEPT
$IPTABLES -N Cid47CACB8E4698.1
$IPTABLES -A FORWARD -d 132.195.8.8 -m state --state NEW -j
Cid47CACB8E4698.1
$IPTABLES -A Cid47CACB8E4698.1 -p icmp -m icmp --icmp-type any -j ACCEPT
$IPTABLES -A Cid47CACB8E4698.1 -p tcp -m tcp -m multiport --dports
25,110,995,143,143 -j ACCEPT
$IPTABLES -A Cid47CACB8E4698.1 -p udp -m udp -m multiport --dports
110,995,143,993 -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport -d 132.195.8.9
--dports 21,80,443 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -m multiport -d 132.195.8.9
--dports 21,80,443 -m state --state NEW -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport -d 132.195.8.10
--dports 80,443,21 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -m multiport -d 132.195.8.10
--dports 80,443,21 -m state --state NEW -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport -d 132.195.8.11
--dports 80,443 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -m multiport -d 132.195.8.11
--dports 80,443 -m state --state NEW -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport -d 132.195.8.14
--dports 80,443 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -m multiport -d 132.195.8.14
--dports 80,443 -m state --state NEW -j ACCEPT
#
$IPTABLES -N Cid48CE7A3F9578.0
$IPTABLES -A OUTPUT -d 132.195.8.30 -m state --state NEW -j
Cid48CE7A3F9578.0
$IPTABLES -A Cid48CE7A3F9578.0 -p icmp -m icmp --icmp-type any -j ACCEPT
$IPTABLES -A Cid48CE7A3F9578.0 -p tcp -m tcp -m multiport --dports
21,80,443,3389,4433 -j ACCEPT
$IPTABLES -N Cid48CE7A3F9578.1
$IPTABLES -A FORWARD -d 132.195.8.30 -m state --state NEW -j
Cid48CE7A3F9578.1
$IPTABLES -A Cid48CE7A3F9578.1 -p icmp -m icmp --icmp-type any -j ACCEPT
$IPTABLES -A Cid48CE7A3F9578.1 -p tcp -m tcp -m multiport --dports
21,80,443,3389,4433 -j ACCEPT
#
$IPTABLES -A FORWARD -s 10.0.0.0/24 -d 132.195.8.21 -m state
--state NEW -j ACCEPT
#
$IPTABLES -N Cid47CB06084698.0
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.8.4 --dport 902 -m
state --state NEW -j Cid47CB06084698.0
$IPTABLES -A OUTPUT -p udp -m udp -d 132.195.8.4 --dport 902 -m
state --state NEW -j Cid47CB06084698.0
$IPTABLES -A Cid47CB06084698.0 -s 10.0.0.0/24 -j ACCEPT
$IPTABLES -A Cid47CB06084698.0 -s 132.195.8.0/27 -j ACCEPT
$IPTABLES -N Cid47CB06084698.1
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.8.4 --dport 902 -m
state --state NEW -j Cid47CB06084698.1
$IPTABLES -A FORWARD -p udp -m udp -d 132.195.8.4 --dport 902 -m
state --state NEW -j Cid47CB06084698.1
$IPTABLES -A Cid47CB06084698.1 -s 10.0.0.0/24 -j ACCEPT
$IPTABLES -A Cid47CB06084698.1 -s 132.195.8.0/27 -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.8.7 --dport 53 -m state
--state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m udp -d 132.195.8.7 --dport 53 -m state
--state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.8.7 --dport 53 -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p udp -m udp -d 132.195.8.7 --dport 53 -m
state --state NEW -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport -d 132.195.8.20
--dports 80,443 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -m multiport -d 132.195.8.20
--dports 80,443 -m state --state NEW -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.8.12 --dport 123 -m
state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m udp -d 132.195.8.12 --dport 123 -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.8.12 --dport 123 -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p udp -m udp -d 132.195.8.12 --dport 123 -m
state --state NEW -j ACCEPT
#
$IPTABLES -N Cid47CB0FDB4698.0
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.8.6 --dport 23 -m state
--state NEW -j Cid47CB0FDB4698.0
$IPTABLES -A Cid47CB0FDB4698.0 -s 132.195.8.0/27 -j ACCEPT
$IPTABLES -A Cid47CB0FDB4698.0 -s 10.0.0.0/24 -j ACCEPT
$IPTABLES -N Cid47CB0FDB4698.1
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.8.6 --dport 23 -m
state --state NEW -j Cid47CB0FDB4698.1
$IPTABLES -A Cid47CB0FDB4698.1 -s 132.195.8.0/27 -j ACCEPT
$IPTABLES -A Cid47CB0FDB4698.1 -s 10.0.0.0/24 -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.8.2 --dport 21 -m state
--state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.8.2 --dport 21 -m
state --state NEW -j ACCEPT
#
$IPTABLES -N Cid47CB0FF54698.0
$IPTABLES -A OUTPUT -d 132.195.8.5 -m state --state NEW -j
Cid47CB0FF54698.0
$IPTABLES -A Cid47CB0FF54698.0 -s 10.0.0.0/24 -j ACCEPT
#
$IPTABLES -A Cid47CB0FF54698.0 -s 132.195.8.0/27 -j ACCEPT
$IPTABLES -N Cid47CB0FF54698.1
$IPTABLES -A FORWARD -d 132.195.8.5 -m state --state NEW -j
Cid47CB0FF54698.1
$IPTABLES -A Cid47CB0FF54698.1 -s 10.0.0.0/24 -j ACCEPT
$IPTABLES -A Cid47CB0FF54698.1 -s 132.195.8.0/27 -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.8.3 --dport 25 -m state
--state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.8.3 --dport 25 -m
state --state NEW -j ACCEPT
#
$IPTABLES -A OUTPUT -p tcp -m tcp -d 132.195.6.226 --dport 53 -m
state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m udp -d 132.195.6.226 --dport 53 -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -d 132.195.6.226 --dport 53 -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -p udp -m udp -d 132.195.6.226 --dport 53 -m
state --state NEW -j ACCEPT
#
$IPTABLES -A INPUT -s 132.195.8.0/27 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -s 192.168.178.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -s 132.195.6.226 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 132.195.8.0/27 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 192.168.178.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 132.195.6.226 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 132.195.8.0/27 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.178.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 132.195.6.226 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
#
$IPTABLES -N RULE_26
$IPTABLES -A OUTPUT -j RULE_26
$IPTABLES -A INPUT -j RULE_26
$IPTABLES -A FORWARD -j RULE_26
$IPTABLES -A RULE_26 -j LOG --log-level alert --log-prefix "RULE 26 --
DENY "
$IPTABLES -A RULE_26 -j DROP
#
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 >/proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/lo/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth2/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/lo/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth2/accept_redirects
------------------------------
10.0.0.0 ist das VPN-Netz
132.195.8.0/27 ist das Hauptnetz
132.195.6.226 ist ein Nebennetz
192.168.1.178.0/24, dort hängt noch ein ADSL-Router
eth0 NIC im Hauptnetz
eth1 NIC zum SDSL-Router
eth2 NIC zum ADSL-Router
Ist dort ein Problem zu erkennen?
Danke und Gruß
Boris
Reply to: