[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: