Toon posts:

[iptables] eth0 aliases / portforwarding

Pagina: 1
Acties:

Verwijderd

Topicstarter
situatie: eth0 met 8 aliases (192.168.0.1/29)
default route is uiteraard eth0, met als source ip adres 192.168.0.1

nu wil ik op 192.168.0.8 poort 2222 forwarden naar poort 22 op 192.168.0.200 (andere machine, die alleen connecties toe laat vanaf 192.168.0.8)

ik probeerde dus 't volgende:
/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.0.8 --dport 2222 -j DNAT --to 192.168.0.200:22

maar ik zie nu dus op 192.168.0.200 connecties binnenkomen vanaf 192.168.0.1, en niet vanaf 192.168.0.8...

er is een optie genaamd '--out-interface', maar die snapt geen aliases (alleen eth0, eth1, etc... zijn valid arguments voor die optie)

is dit mogelijk met iptables?

  • mavink
  • Registratie: April 2000
  • Laatst online: 11-05 13:05
Misschien zou een klein netwerkschematje helpen... vanaf waar ben je aan het testen?
Je zou namelijk zowel 192.168.0.1 als 192.168.0.8 niet moeten zien, wat je hoort te zien is het IP-adres waarvandaan je test. Ik gok eigenlijk dat je vanaf de machine die ook de DNAT doet aan het testen bent, en dat werkt natuurlijk niet!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 22:46

Koffie

Koffiebierbrouwer

Braaimeneer

Move > NOS

Tijd voor een nieuwe sig..


  • JJay
  • Registratie: Mei 2000
  • Laatst online: 11-09-2018

JJay

Hit me!

Het is geen IP tables probleem, maar een linux kernel issue ... Nadat het inkomende packet goedgekeurd is door je iptable rules wordt het geforward naar de kernel die het packet verder verstuurt.

Dat versturen gaat volgens de 'normale' route regels van je kernel. De kernel kijkt met welke route regels dit nieuwe packet matcht en voert netjes z'n routering uit.

Deze route regel geldt normaal gesproken voor alle packets, ongeacht over welke interface ze zijn binnen gekomen. In de route regel staat ook of er een gateway is, het adres van de gateway én (wat voor jou van belang is) over welke interface het packet de kernel verlaat (wat dus het source IP bepaald).

Wat je nodig hebt is een aparte set route regels voor de packets die jouw iptables-rule gematcht hebben. De linux 2.4-kernel kan meerdere sets route regels bevatten, filtersets enz. Een goede HOW-TO hier over is Linux 2.4 Advanced Routing HOWTO.
De tool om deze route regels sets te beheren is iproute2 (commando: ip), ipv. het (oude/ 2.2-kernel) route commando. iproute wordt beschreven in chapter 3

Have a try... als je er niet uitkomt, drop a line ;)

Hardcore-Networking-Wannabe's© | Artistiek? Jahoor! ik kan heel goed MRTG-grafiekjes kleuren


Verwijderd

Topicstarter
JJay schreef op 18 oktober 2002 @ 13:22:
Het is geen IP tables probleem, maar een linux kernel issue ... Nadat het inkomende packet goedgekeurd is door je iptable rules wordt het geforward naar de kernel die het packet verder verstuurt.

Dat versturen gaat volgens de 'normale' route regels van je kernel. De kernel kijkt met welke route regels dit nieuwe packet matcht en voert netjes z'n routering uit.

Deze route regel geldt normaal gesproken voor alle packets, ongeacht over welke interface ze zijn binnen gekomen. In de route regel staat ook of er een gateway is, het adres van de gateway én (wat voor jou van belang is) over welke interface het packet de kernel verlaat (wat dus het source IP bepaald).

Wat je nodig hebt is een aparte set route regels voor de packets die jouw iptables-rule gematcht hebben. De linux 2.4-kernel kan meerdere sets route regels bevatten, filtersets enz. Een goede HOW-TO hier over is Linux 2.4 Advanced Routing HOWTO.
De tool om deze route regels sets te beheren is iproute2 (commando: ip), ipv. het (oude/ 2.2-kernel) route commando. iproute wordt beschreven in chapter 3

Have a try... als je er niet uitkomt, drop a line ;)
thanks! hier heb ik wat aan, ik zal 't eens doorlezen...