Poortmappen met iptables

Pagina: 1
Acties:

  • bickel
  • Registratie: Augustus 2000
  • Laatst online: 27-02-2025
Hai...ik blij met het grote poortmapverhaal....gaat het alleen maar over window's.

Ik krijg het niet voor elkaar dus.
Ik draai webserver op pc2 en linuxserver is pc1

Hoe zorg ik er dus voor met iptables (dus niet ipchains)
dat poort 80 vanaf de linuxmachine wordt doorgesluist.

Ook eventueel sites met goed voorbeeldscripts zijn zeer welkom.

Alvast bedankt!
Ronald

  • Tuinhark
  • Registratie: April 2000
  • Nu online

Tuinhark

Retro

Ik meen dat je in de Linux 2.4 NAT HOWTO nuttige info kunt vinden. Zo niet de oplossing, dan vast wel een linkje oid. :)

:Y)

  • bickel
  • Registratie: Augustus 2000
  • Laatst online: 27-02-2025
Ja, die heb ik al gezien, maar ik kan er geen voorbeeld voor mijn situatie vinden.

Er is toch vast wel iemand die het werkend heeft....

Verwijderd

# Linux 2.4
# Append a rule before routing (-A PREROUTING) to the NAT table (-t nat) that
# TCP packets (-p tcp) going to 1.2.3.4 (-d 1.2.3.4) port 8080 (--dport 8080)
# have their destination mapped (-j DNAT) to 192.168.1.1, port 80
# (--to 192.168.1.1:80).
#iptables -t nat -A PREROUTING -p tcp -d 1.2.3.4 --dport 8080 -j DNAT --to 192.168.1.1:80

  • bickel
  • Registratie: Augustus 2000
  • Laatst online: 27-02-2025
Ja, meneer ugh, dat zijn mooie regels...
Maar als je die abracadabra snapt is het vast heel makkelijk.

een rule toevoegen dat kan ik,
dus iptables -A PREROUTING
maar zit hij dan aan de nat-table?
en is 1.2.3.4 je externe ip#
is 192.168... je interne linux adres of je adres van je webserver...
snap je mijn probleem?

  • Tuinhark
  • Registratie: April 2000
  • Nu online

Tuinhark

Retro

In het voorbeeldje van ugh staat het volgens mij wel goed uitgelegd.. Maar anyway, zo zou het volgens mij moeten werken (ik ben ook niet zo'n hele grote iptables ster).

iptables -t nat -A PREROUTING -p tcp -d <internet IP van router> --dport <internet poort van router> -j DNAT --to <IP van PC op LAN>:<poort van webserver>

Bijvoorbeeld:
iptables -t nat -A PREROUTING -p tcp -d 64.139.120.55 --dport 80 -j DNAT --to 192.168.0.2:80

BDW, we gaan er hier van uit dat je een 2.4 kernel draait. Zo niet, dan zul je ipchains moeten gebruiken, ipv iptables. Dat tooltje werkt net ff anders.

Enneh, dit stond volgens mij ook echt wel in die NAT HOWTO die ik hierboven al noemde.

:Y)

  • bickel
  • Registratie: Augustus 2000
  • Laatst online: 27-02-2025
Hai,

Ja het is me wel duidelijker nu....
Maar werken doet het niet. uiteraard gebruik ik de juiste kernel...het natten van de pc's op het interne netwerk naar buiten werkt prima.

Wat ik ook niet begrijp is dat als ik die commando's geef uit jullie voorbeeld, dat ik die met iptables -L niet terug zie.
klopt dat wel?

ik heb het nu zo gedaan:
iptables -t nat -A PREROUTING -p tcp -d 62.238.233.46 \
--dport 2525 -j DNAT --to 10.2.3.10:2525

dus 62.. is extern ip#
10.2.3.10 is adres van de ftp-server

Maar dit alles heb ik gedaan nadat ik dit script heb gedraaid:
http://www.ecst.csuchico.edu/~dranch/LINUX/ipmasq/examples/rc.firewall-2.4-stronger

Ook heb ik de prerouting commando op diverse plaatsen in dat script geplaatst met 0 result.

Maakt de plaats wanneer je het commando geeft eigenlijk uit?

  • Tuinhark
  • Registratie: April 2000
  • Nu online

Tuinhark

Retro

Zeker wel. Ik heb met mijn Debian bakkie een ipmasq pakketje gedownload, dat kant-en-klaar NAT bevat. Als ik dan zelf extra regels zou gaan toevoegen, zet ik ze vaak helemaal vooraan (dus -I <naam-table> 1). Want, mijn scrippies zijn standaard ingesteld om een boel af te handelen en checken en "de rest" te loggen (meen ik hoor). Nou, als ik dan regels ga toevoegen, worden die regels nooit gematcht omdat alle situaties iig worden afgevangen door de "rest-regel".

Enneh, over het feit dat het niet werkt.. Als je op de client eens PASSIVE ftp kies.. FTP is net zo'n mottig protocolletje (net als IRC) dat speciale aandacht nodig heeft. (Server opent een connectie terug naar client, blah, blah.)

:Y)

Verwijderd

je moet zorgen dat je eerst dit regeltje gebruikt voor het accepteren van Forwarding

$iptables -A FORWARD -j ACCEPT #poortforwarden accepteren

daarna
$iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

en daarna het verhaal van
iptables -A PREROUTING -t nat -p tcp -d (externipadres) --dport 80 -j DNAT --to (internipadres):80


Bij werkte het zo :)
Pagina: 1