PDA

Bekijk Volledige Versie : IPtables routeren van verkeer



dennis0162
01/08/08, 14:27
Ik wil tijdelijk poort 80 routeren naar een andere apache server. Dit wil ik doen met IPtables.

Nu heb ik alle twee deze regels geprobeerd:

iptables -t nat -A PREROUTING -p tcp -d ip1 --dport 80 -j DNAT --to-destination ip2

iptables -t nat -A PREROUTING -p tcp -d ip1 --dport 80 -j DNAT --to-destination ip2:80

Geen van beide werkt helaas.

Als je naar het IP surft dan geeft hij een 404.


Iemand wel de juiste oplossing?

mind
01/08/08, 16:40
als je --to-destination vervangt door --to in de tweede regel zou het volgens mij moeten werken.

dennis0162
01/08/08, 16:52
als je --to-destination vervangt door --to in de tweede regel zou het volgens mij moeten werken.

Helaas, nog steeds hetzelfde.

asusk7m550
01/08/08, 23:34
Ik denk dat je nog wat regeltjes bent vergeten:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to ip2:80
iptables -t nat -A POSTROUTING -d ip2 -j SNAT --to ip1
iptables -A FORWARD -d ip2 -p tcp --dport 80 -j ACCEPT


Wat ook nog kan is dat je forwarding niet aan hebt staan, kijk hiervoor eens in /proc/sys/net/ipv4/ip_forward.

Randy
02/08/08, 04:15
Probeer anders een pakket als shorewall. Werkt met heel duidelijke configfiles (als je het even door hebt ;))

dennis0162
02/08/08, 13:32
Ik denk dat je nog wat regeltjes bent vergeten:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to ip2:80
iptables -t nat -A POSTROUTING -d ip2 -j SNAT --to ip1
iptables -A FORWARD -d ip2 -p tcp --dport 80 -j ACCEPT


Wat ook nog kan is dat je forwarding niet aan hebt staan, kijk hiervoor eens in /proc/sys/net/ipv4/ip_forward.

Dat werkt wel.

Alleen ik wil poort 80 van maar 1 ip doorsturen. Niet van alle ip's op de server.

-edit-

Zo dus:

iptables -t nat -A PREROUTING -p tcp -d 81.171.xx.xxx --dport 80 -j DNAT --to 81.171.xx.xxx:80
iptables -t nat -A POSTROUTING -d 81.171.xx.xxx -j SNAT --to 81.171.xx.xxx
iptables -A FORWARD -d 81.171.xx.xxx -p tcp --dport 80 -j ACCEPT

Randy
02/08/08, 14:27
Even een kaping/aanvulling:
Iemand trouwens ook een goed idee om met IPTables het verkeer te meten als je NAT routing gebruikt (shorewall) wat naar de servers enkel over een bepaalde poort gaat? (Dus niet het hele IP, of alles zonder 3306/MySQL bijvoorbeeld?)

systemdeveloper
02/08/08, 17:14
Even een kaping/aanvulling:
Iemand trouwens ook een goed idee om met IPTables het verkeer te meten als je NAT routing gebruikt (shorewall) wat naar de servers enkel over een bepaalde poort gaat? (Dus niet het hele IP, of alles zonder 3306/MySQL bijvoorbeeld?)
Denk dat je dit het beste met een chain kunt doen:

iptables -A INPUT -d <je ip> -p tcp -m tcp --dport <je poort> -j TRAFIN
iptables -A INPUT -s <je ip> -p tcp -m tcp --sport <je poort> -j TRAFOUT
iptables -A TRAFIN -j ACCEPT
iptables -A TRAFOUT -j ACCEPT

en dan gewoon de bytes tellen met 'iptables -L -nv' (dacht ik, ben al jaren met freebsd bezig)

mennie
20/08/08, 12:06
Staan ze wel in IP tables als je "iptables --list -t nat" doet?

dennis0162
20/08/08, 12:16
Staan ze wel in IP tables als je "iptables --list -t nat" doet?

Het is al 2 weken geleden opgelost;)