Re: Port forwarding

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Wed, 11 Feb 2004 13:25:27 +0100

On Wed, Feb 11, 2004 at 10:16:25AM +0100, iwf83(at)web.de wrote:
> > > Meine Firewall:
> > >
> > > ipfw="/sbin/ipfw"
> > > externalif="de0"
> > > $ipfw -q flush
> > > $ipfw -q zero
> > > $ipfw -q add deny all from 192.168.0.0/16 to any recv $externalif
> > > $ipfw -q add deny all from 10.0.0.0/8 to any recv $externalif
> > > $ipfw -q add deny all from 172.16.0.0/12 to any recv $externalif
> > > $ipfw -q add deny all from 127.0.0.0/8 to any recv $externalif
> > > $ipfw -q add reset tcp from any to me 110,25,1022,1023,2049,3306,137,138,139,587 via $externalif
> > > $ipfw -q add allow tcp from any to any 80 via $externalif
> > > $ipfw -q add unreach port udp from any to me 514 via $externalif
> > > $ipfw -q add divert natd all from any to any via $externalif
> > > $ipfw -q add allow all from any to any
> >
> > Hier ist aber keine Forward Regel bei.
>
> Also ist hier das Problem?

Nein, weil du kein forwarding willst.
Den Begriff kann man wörtlich nehmen.
Forwarden ist weiterleiten, du willst aber in dem Packet eine IP
verändern und es dann erst forwarden.

> > > redirect_port tcp 192.168.1.150:4662 4662
> > > redirect_port udp 192.168.1.150:4662 4662
> >
> > Ach so - du willst keinen Forward, sondern einen Statischen
> > Übersetzungseintrag.
> > Sag das doch gleich...
>
> ??? Ich will daten die auf tun0 bzw. de0 auf dem port 4662 ankommen an 192.168.1.150 forwarden damit der die bekommt, sonst werden die ja nicht weiter verarbeitet.

Was denn nun - bei einem üblichen DSL hast du auf de0 kein IP, sondern
PPPoE Packete.
Du brauchst dann natürlich auch keine IP auf de0 haben.
Die IP die du jetzt darauf hast ist fürs NAT (Network Adress
Translation) vollkommen falsch, da de0 nicht das IP Interface deiner
Internetverbindung hin.
Hier wäre z.B. tun0 richtig, da auf tun0 die jeweils richtige IP liegt.

> Ich dachte das sei forwarden!?!?
> >
> >
> > Naja die reset und die erste allow Regel verursachen einen gewaltigen
> > Flurschaden und klauen der folgenden divert Regel Packete die du
> > bestimmt nicht dafür beabsichtigt hast.
>
> Was meinst Du mit Flurschaden? Ich bin nicht der Firewallcrack, ich hab mir die Firewall schreiben lassen und passe eigentlich nur noch die Ports an die ich freigeben möchte.

Nehmen wir mal die allow 80 Regel - die ist scheinbar dafür gedacht um
einen Webserver zu ereichen, der auf dem Router läuft?
Die Regel erwischt aber auch Packete von rausgehenden Verbindungen,
bei denen die interne Maschine sich des Port 80 bedient hat.
Außerdem steht da keine IP drin, sodass auch rausgehende Packete an
einen externen Webserver erwischt werden und nicht mehr zur divert
Regel zum übersetzen gelangen, was das surfen von internen Maschinen
verhindert.

Einfacher wäre es diese Regeln nach dem divert zu legen und auf me
zu filtern.
Der natd hat sich dann derer Packet angenommen für die er eine
Verbindung kennt und entsprechend die IPs getauscht, sodass der
Fall danach eindeutig ist.

> Das ich dort eintragen muss wenn ich Ports auf eine andere IP forwarden will eintragen muss wußte ich nicht. muss ich dann divert mit forward ersetzen?

Nein - siehe oben - du willst Adress Translation.

> > Was mich stutzig macht ist der natd Aufruf mit -n de0.
> > Auf de0 hast du doch gar keine Offizielle IP drauf.
> > Ist das Absicht - wenn ja, dann musst du dem natd in und out Packete
> > getrennt vorwerfen, da der kein Unterscheidungskriterium mehr hat.
>
> Ich habe de0 eine IP gegebenen, mir ist das relativ wurscht, ich weiß nicht woran es liegt das der kein Portforwarding macht, deshalb hab ich es mit tun0 und de0 ausprobiert. de0 bekommt ja im rc.conf die 192.168.10.1.

Warum bekommt de0 eine IP?
Setzte in der rc.conf einfach nur "up" in die Variable und nehme für
den nat tun0, wenn du es nur für PPPoE benutzt.

> Versteh ich das richtig, das ich eigentlich alles richtig gemacht habe nur das ich in meiner firewall forward eintragen muss und wieder aus de0 nen tun0 mache?

Nein, ja + weitere Fehler.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 11 Feb 2004 - 13:32:03 CET

search this site