Re: Elsterformular und Linux-Router
Am Dienstag, 12. April 2005 09:14 schrieb Werner Opriel:
> Ich versuche die Elsterdatenuebertragung ebenfalls ueber Linux Router
> aus einem internen Netz herzustellen. Das LAN ist dabei durch eine
> DMZ vom Internet getrennt. Der DMZ-Proxy ist aus den oben
> beschriebenen Gruenden hier nicht im Spiel, die Elster Server werden
> also direkt angesprochen. Hinweis:
> Seit kurzer Zeit gibt es einen HTTP_Tunnel (benoetigt Java Webstart)
> unter: https://www.elster.de/elfo_tunnel.php?tunnelversion=1.0.0
> mit dem angeblich auch Squid funktionieren soll.
Wenn HTTP(S), dann geht auch Squid. Welche Daten letztlich über das
Protokoll übertragen werden, spielt keine Rolle mehr.
> Folgende Regeln sollen den direkten Kontakt eines Client aus dem
> internen Netz zu einem der Elsterserver ermoeglichen:
>
> # Router LAN --> DMZ
> # -------------------------------------------------------
>
> ELSTER_PORT=8000
> ELSTER_SERV="62.157.211.58 62.157.211.59 62.157.211.60 \
> 193.109.238.26 193.109.238.27 213.182.157.66"
>
> # Anfragen an externe Elster Server und Elster-Port gewaehren
> for EP in $ELSTER_SERV
> do
> $IPTABLES -A FORWARD -p TCP --sport $UNPRIVPORTS -d $EP \
> --dport $ELSTER_PORT -m state --state NEW,ESTABLISHED,RELATED \
> -o $DMZ_IF -i $LAN_IF -j ACCEPT
> done
Mit dem Hinweis, das die Variablen $UNPRIVPORTS, $DMZ_IF und $LAN_IF bei
dir entsprechend belegt sind.
> # eingehende Pakete von Elster Servern zu bestehenden Verbindungen
> # zulassen (Rueckkanal)
> for EP in $ELSTER_SERV
> do
> $IPTABLES -A FORWARD -i $DMZ_IF -o $LAN_IF -s $EP \
> -m state --state ESTABLISHED,RELATED -j ACCEPT
> done
Warum nicht beides in einer Schleife?
> # Router DMZ --> Internet
> # -------------------------------------------------------
OK, das dürfte für den OP das interessante sein:
> # die Elsterformular-Upload-Server und der zugehoerige Port
> ELSTER_SERVER=(62.157.211.58 \
> 62.157.211.59 \
> 62.157.211.60 \
> 193.109.238.26 \
> 193.109.238.27 \
> 213.182.157.66)
> ELSTER_PORT=8000
>
> # Source NAT -- (SNAT/Masquerading)
> $IPTABLES -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE
Mit $EXT_IF = <Internet-IF>.
> # Enable IP Forwarding
> echo 1 > /proc/sys/net/ipv4/ip_forward
>
> # Anfragen (TCP) mit Zielport 8000
> # fuer den Zugriff auf die Elsterserver zulassen
>
> for ES in ${ELSTER_SERVER[*]}
> do
> $IPTABLES -A FORWARD -p TCP --sport $UNPRIVPORTS \
> --dport $ELSTER_PORT -o $EXT_IF -i $DMZ_IF -d $ES \
> -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
> done
>
> # Antworten (Rueckkanal) von Elster Servern explizit zulassen
>
> for ES in ${ELSTER_SERVER[*]}
> do
> $IPTABLES -A FORWARD -i $EXT_IF -o $DMZ_IF -s $ES \
> -m state --state ESTABLISHED,RELATED -j ACCEPT
> done
> #--------------------------------------------------------------------
Anmerkungen: Siehe oben.
>
> Die Verbindung kommt auch zustande, bricht allerdings nach kurzer
> Zeit mit einem Timeout ab.. Ein tcpdump zeigt folgendes:
> .......
> 4.828341 192.168.10.1 -> 193.109.238.27 TCP 1057 > 8000 [PSH, ACK]
> Seq=8302 Ack=2855 Win=7667 Len=271
> 4.886292 193.109.238.27 -> 192.168.10.1 TCP 8000 > 1057 [ACK]
> Seq=2855 Ack=3265 Win=13050 Len=0
> 4.887251 192.168.10.1 -> 193.109.238.27 TCP 1057 > 8000 [PSH, ACK]
> Seq=8573 Ack=2855 Win=7667 Len=596
> 4.892174 193.109.238.27 -> 192.168.10.1 TCP [TCP Dup ACK 37#1] 8000
> > 1057 [ACK] Seq=2855 Ack=3265 Win=13050 Len=0
> 4.892614 193.109.238.27 -> 192.168.10.1 TCP [TCP Dup ACK 37#2] 8000
> > 1057 [ACK] Seq=2855 Ack=3265 Win=13050 Len=0
> 4.893559 192.168.10.1 -> 193.109.238.27 TCP [TCP Retransmission]
> 1057 > 8000 [PSH, ACK] Seq=3265 Ack=2855 Win=7667 Len=610
> 4.952832 193.109.238.27 -> 192.168.10.1 TCP [TCP Dup ACK 37#3] 8000
> > 1057 [ACK] Seq=2855 Ack=3265 Win=13050 Len=0
> 4.966322 193.109.238.27 -> 192.168.10.1 TCP 8000 > 1057 [ACK]
> Seq=2855 Ack=3875 Win=14790 Len=0
> 5.773056 192.168.10.1 -> 193.109.238.27 TCP [TCP Retransmission]
> 1057 > 8000 [PSH, ACK] Seq=3875 Ack=2855 Win=7667 Len=1460
> 7.578914 192.168.10.1 -> 193.109.238.27 TCP [TCP Retransmission]
> 1057 > 8000 [PSH, ACK] Seq=3875 Ack=2855 Win=7667 Len=1460
> 11.190700 192.168.10.1 -> 193.109.238.27 TCP [TCP Retransmission]
> 1057 > 8000 [PSH, ACK] Seq=3875 Ack=2855 Win=7667 Len=1460
> 18.414291 192.168.10.1 -> 193.109.238.27 TCP [TCP Retransmission]
> 1057 > 8000 [PSH, ACK] Seq=3875 Ack=2855 Win=7667 Len=1460
> 32.861325 192.168.10.1 -> 193.109.238.27 TCP [TCP Retransmission]
> 1057 > 8000 [PSH, ACK] Seq=3875 Ack=2855 Win=7667 Len=1460
Es kommt gar keine TCP-Verbindung erst zustande. Sniffer mal auf beiden
Gateways, wo was rein- und rausgeht.
--
Gruß
MaxX
Bitte beachten: Diese Mailadresse nimmt nur Listenmails entgegen.
Für PM bitte den Empfänger gegen den Namen in der Sig tauschen.
Reply to: