Hi!
Das geht vielleicht mit UDP. Bei TCP würde ich als Firewall nicht den Rückweg öffnen, wenn wegen der anderen Firewall keine Verbindung zustande kommt.
Kommt doch zustande (wenn auch künstlich erzeugt).
A schickt Nachricht an B. B empfängt die Nachricht nicht, kennt aber Inhalt und IP der Nachricht (das ist die Voraussetzung). B antwortet nun an A, wie B es auch automatisch tun würde, wenn die Firewall die Pakete nicht abgefangen hätte. As Firewall erkennt nun: aha, Antwort geschickt, Antwort bekommen, Verbindung steht, Verbindung erlaubt - weil von mir selbst ausgehend. Das ganze dann nochmal vertauscht und fertig.
Wie gesagt, wenn du das Ganze mit UDP machst, also reinweg nur Datenpakete sendest, dann kannst du so etwas aufziehen. Aber das verbindungsorientierte TCP hat noch ein paar mehr Paketarten auf Lager. Da scheitert die Verbindung schon daran, dass keine Bestätigung auf das die Verbindung eröffnende SYN-Paket zurückkommt, also dasjenige, das eine Verbindung initiiert. B sendet nicht von sich aus aus heiterem Himmel eine Bestätigung auf das SYN-Paket, also SYN+ACK. Zudem weiß B nicht, auf welchem Port geantwortet werden soll und welche Sequenznummer A verwendet hat. Wenn dann noch die Firewall nicht stillschweigend das SYS-Paket verschluckt, sondern mit einem Port-geschlossen-Paket (TCP-RST) antwortet, dann wird sich A leise weinend zurückziehen und Bs gefakte Antworten gar nicht zur Kenntnis nehmen - abgesehen davon, dass B sowieso aufgrund der Sequenznummernunkenntnis nicht korrekt antworten kann.
Lo!