Page 1 of 1

iptables von eth0 zur IP wechseln

Posted: 2007-08-01 22:37
by tomotom
Ich möchte zu einer zweiten IP per iptables routen. Bisher ist nur zu einer geroutet worden und zwar mit der Angabe des interfaces eth0. Das hat auch wunderbar gekappt. Jetzt habe ich eine 2. IP, eine virtuelle auf der selben Karte und möchte, das iptables die Pakete, die zur 2. IP gehen zu einem anderen Rechner routet. Ich dachte könnte einfach den Namen des neuen interfaces eth:1 angeben. Das scheint aber ein Syntaxproblem zu sein.

Code: Select all

iptables -t nat -A PREROUTING -i ethO  ... # geht
iptables -t nat -A PREROUTING -i ethO:1 - ... # geht nicht
iptables -t nat -A PREROUTING -d 192.198.1.1 ... # geht nicht
iptables -t nat -A PREROUTING -i 192.198.1.1 -... # geht nicht
Ich weiß nicht welche Schalter für die IP Adresse richtig sind. Mit den oben angegebenen scheint es nicht zu gehen.


So sollte es mal aussehen.

IP1=exter
LAN=intern

Code: Select all

  
    iptables -t nat -A PREROUTING -i $IP1 -p tcp --dport 80 -j DNAT --to-destination $LAN1
    iptables -A FORWARD -i $IP1 -m state --state NEW -p tcp -d $LAN1 --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -i $IP2 -p tcp --dport 80 -j DNAT --to-destination $LAN2
    iptables -A FORWARD -i $IP2 -m state --state NEW -p tcp -d $LAN2 --dport 80 -j ACCEPT

Re: iptables von eth0 zur IP wechseln

Posted: 2007-08-01 22:50
by Roger Wilco

Re: iptables von eth0 zur IP wechseln

Posted: 2007-08-02 16:33
by tomotom
Ein Stück weiter bin ich gekommen. Anstatt -i eth0 kann doch -d $IP angegeben werden. Allerdings ist das forwarding so nicht mehr möglich.

Code: Select all

    iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 80 -j DNAT --to-destination $LAN1
    iptables -A FORWARD -d $IP1 -m state --state NEW -p tcp -d $LAN1 --dport 80 -j ACCEPT
Es gibt da immer diesen Feher, dass -d nur einmal verwendet werden dürfe. Wie mache ich denn in diesem Fall ein korrektes forwarding?

Re: iptables von eth0 zur IP wechseln

Posted: 2007-08-02 18:22
by sledge0303

Code: Select all

Es gibt da immer diesen Feher, dass -d nur einmal verwendet werden dürfe.
2x -d wäre auch ziemlich unlogisch...

Code: Select all

iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123 --dport 80 -i eth0 -j DNAT --to-destination 10.0.0.1:80
;)

Re: iptables von eth0 zur IP wechseln

Posted: 2007-08-02 18:44
by tomotom
sledge0303 wrote: 2x -d wäre auch ziemlich unlogisch...

Code: Select all

iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123 --dport 80 -i eth0 -j DNAT --to-destination 10.0.0.1:80
;)
Das ist ja im Primzip das PREROUTING was ich nutze nur anstall -d $IP1 --> -i eth0

Das routen klappt auch zur 2. ip mit diesem PREOUTING. Aber das FORWARDING bringt die Fehlermedung.

[erledigt]
Irgendwie hat mir der andere Thread "Einbruchsversuche per ssh" geholfen mal über meine iptable Regeln im knockd nachzudenken. Und siehe da ich hatte ganz vergessen, dass es da schon PREROUTING gibt ...