Portforwarding funktioniert von außen, aber nicht von innen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
gheift
Beiträge: 4
Registriert: 07.01.2004 19:33:57

Portforwarding funktioniert von außen, aber nicht von innen

Beitrag von gheift » 07.01.2004 19:50:31

Hallo zusammen,

Ich hab nen Linux-Router aufgesetzt und mit hilfe von IP-Tables 2 Ports in das Interne Netz weitergeleitet:

Code: Alles auswählen

eth0: Internet [Feste IP]
eth1, eth2: Lokales Netz, eth1 ist das 10er, darum gehts

Code: Alles auswählen

   80 \_ 123.45.67.89 => 192.168.10.88 _/ 8080
22000 /                                 \ 22
Der Aufruf von außen funktioniert, wenn ich meine eigene Adresse (http://) jedoch von innen aufrufe (egal ob mit oder ohne Proxy, welcher auch auf dem Router ist), dann kommt ein Connection refused...was muss ich da irgendwie zufügen???

Code: Alles auswählen

*filter

:INPUT ACCEPT [498:69543]
:FORWARD ACCEPT [8426:2551129]
:OUTPUT ACCEPT [302:18203]

-A INPUT -p tcp -m tcp --dport 25 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j DROP

-A FORWARD -s 192.168.10.88 -i eth1 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -s 192.168.10.88 -i eth1 -o eth0 -p tcp -m tcp --dport 22000 -j ACCEPT

COMMIT

*mangle

:PREROUTING ACCEPT [8991:2624455]
:INPUT ACCEPT [498:69543]
:FORWARD ACCEPT [8458:2553792]
:OUTPUT ACCEPT [303:18371]
:POSTROUTING ACCEPT [8761:2572163]

COMMIT

*nat

:PREROUTING ACCEPT [468:42392]
:POSTROUTING ACCEPT [277:13476]
:OUTPUT ACCEPT [7:483]

-A PREROUTING -d 123.45.67.89 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.88:8080
-A PREROUTING -d 123.45.67.89 -i eth0 -p tcp -m tcp --dport 22000 -j DNAT --to-destination 192.168.10.88:22
-A POSTROUTING -o eth0 -j MASQUERADE

COMMIT
nmap auf dem Router und auf 192.168.10.88:

Code: Alles auswählen

nmap 123.45.67.89 -p 1-65535

Interesting ports on my-router.router.local (123.45.67.89):
(The 65533 ports scanned but not shown below are in state: closed)
Port       State       Service
25/tcp     filtered    smtp
3128/tcp   open        squid-http

Nmap run completed -- 1 IP address (1 host up) scanned in 12 seconds
Und von extern:

Code: Alles auswählen

gheift-server:~# nmap 123.45.67.89 -p 25,80,3128,22000

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on  (123.45.67.89):
Port       State       Service
25/tcp     filtered    smtp
80/tcp     open        http
3128/tcp   filtered    squid-http
22000/tcp  open        unknown

Nmap run completed -- 1 IP address (1 host up) scanned in 4 seconds
Hoffe es gibt hier ne Lösung und das ich dafür genug Infos gegeben hab...

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Re: Portforwarding funktioniert von außen, aber nicht von in

Beitrag von spiffi » 07.01.2004 20:22:31

Der Fehler liegt in den PREROUTING-Regeln:
gheift hat geschrieben:

Code: Alles auswählen

-A PREROUTING -d 123.45.67.89 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.88:8080
-A PREROUTING -d 123.45.67.89 -i eth0 -p tcp -m tcp --dport 22000 -j DNAT --to-destination 192.168.10.88:22
Wenn Du aus dem internen Netz auf den Webserver zugreifst, kommen die Pakete nicht über eth0 rein, sondern über eth1.
Laß das -i eth0 bei den beiden oben aufgeführten Regeln weg, dann sollte es gehen.

gheift
Beiträge: 4
Registriert: 07.01.2004 19:33:57

Beitrag von gheift » 07.01.2004 22:38:31

Also, jetzt hab ich die beiden Zeilen mit folgen ersetzt:

Code: Alles auswählen

-A PREROUTING -d 123.45.67.89 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.88:8080
-A PREROUTING -d 123.45.67.89 -p tcp -m tcp --dport 22000 -j DNAT --to-destination 192.168.10.88:22
Vom Router selber ist immer noch nichts zu sehen, und der interne Rechner zeigt bei nmap jetzt folgendes an:

Code: Alles auswählen

nmap 123.45.67.89 -p 1-65535

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on  (123.45.67.89):
(The 65531 ports scanned but not shown below are in state: closed)
Port       State       Service
25/tcp     open        smtp
80/tcp     filtered    http
3128/tcp   open        squid-http
22000/tcp  filtered    unknown

Nmap run completed -- 1 IP address (1 host up) scanned in 7 seconds
Was genau bedeutet dieses filtered da??
Ich kann irgendwie immer noch nicht zu Server connecten... :roll: :?

Code: Alles auswählen

*filter

:INPUT ACCEPT [184556:9766499]
:FORWARD ACCEPT [110:11054]
:OUTPUT ACCEPT [184579:8700139]

-A INPUT -p tcp -m tcp --dport 25 -j DROP
-A FORWARD -s 192.168.10.88 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -s 192.168.10.88 -i eth1 -p tcp -m tcp --dport 22000 -j ACCEPT

COMMIT

*mangle

:PREROUTING ACCEPT [184674:9778005]
:INPUT ACCEPT [184563:9766919]
:FORWARD ACCEPT [110:11054]
:OUTPUT ACCEPT [184584:8700559]
:POSTROUTING ACCEPT [184689:8711193]

COMMIT

*nat

:PREROUTING ACCEPT [53428:3205605]
:POSTROUTING ACCEPT [65551:3932968]
:OUTPUT ACCEPT [65543:3932508]

-A PREROUTING -d 123.45.67.89 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.88:8080
-A PREROUTING -d 123.45.67.89 -p tcp -m tcp --dport 22000 -j DNAT --to-destination 192.168.10.88:22
-A POSTROUTING -o eth0 -j MASQUERADE

COMMIT

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 07.01.2004 22:59:35

gheift hat geschrieben:Was genau bedeutet dieses filtered da??
man nmap hat geschrieben:Filtered means that a firewall, filter, or other network obstacle is covering the port and preventing nmap from determining whether the port is open.
gheift hat geschrieben:Ich kann irgendwie immer noch nicht zu Server connecten... :roll: :?
Läuft auf dem 192.168.10.88 vielleicht ne Firewall, die die Verbindung verhindert?

gheift
Beiträge: 4
Registriert: 07.01.2004 19:33:57

Beitrag von gheift » 08.01.2004 02:06:55

Ne, auf dem läuft keine, bzw es steht alles auf ACCEPT.

Hab festgestellt, wenn ich die Seite von innen mit lynx aufrufe, dann stellt der zwar ne verbindung her, bekommt aber dann irgendwie keine Daten...

edit:
*gr*
Also mein Problem ist folgendes...ich hab immer versucht, vom Werbserver versucht die Seite intern aufzurufen also:

Code: Alles auswählen

192.168.10.88 => 123.45.67.89:80 -> [DNAT] -> 192.168.10.88:8080
das funktioniert nicht...
Von einem anderen internen Rechner funktionierts...
aber wiederum nicht vom Router:

Code: Alles auswählen

123.45.67.89 => 123.45.67.89:80 -> [DNAT] -> 192.168.10.88:8080
funktioniert auch nicht...hab ich hiermit versucht...will aber nicht:

Code: Alles auswählen

iptables -A OUTPUT -t nat -p tcp -d 123.45.67.89 --dport 80 -j DNAT --to-destination 192.168.10.88:8080
Sind anscheinend irgendwie sonderfälle...weiß jemand, wie ich das dafür konfigurieren muss?

Antworten