Hogyan lehet azt megoldani, hogy van egy def gw-em, amin megy minden csomag kifele, de egy adott port forgalmat azt egy masikon szeretnem kikuldeni?
thx
- 1913 megtekintés
Hozzászólások
iptables
- A hozzászóláshoz be kell jelentkezni
Mondjuk ez engem is érdekel... azt vágom, hogy iptables, csak mégis, valami help a szabály meghatározásában jól jönne
- A hozzászóláshoz be kell jelentkezni
ROUTE
This is used to explicitly override the core network stack's routing decision. mangle table.
--oif ifname
Route the packet through `ifname' network interface
--iif ifname
Change the packet's incoming interface to `ifname'
--gw IP_address
Route the packet via this gateway
--continue
Behave like a non-terminating target and continue traversing the rules. Not valid in combination with `--iif' or `--tee'
--tee Make a copy of the packet, and route that copy to the given destination. For the original, uncopied packet, behave like a non-terminating target and continue traversing the rules. Not valid
in combination with `--iif' or `--continue'
valahogy a -j ROUTE -t kell hasznalni ha jol ertelmeztem. A megoldast ha majd postolnad azt megkoszonnem.
Ez kiterjesztes de sajnos nem talaltam meg a kernelben, ohgy hol lehet beallitani.
iptables -I OUTPUT -j ROUTE --gw 192.168.1.1 --continue --proto tcp --destination-port 21
en valami ilyesmire gondolnek.
- A hozzászóláshoz be kell jelentkezni
iptables -I OUTPUT -t mangle --gw 192.168.1.1 --continue --proto tcp --destination-port 21 -j ROUTE
de nem biztos, próbáld így! :)
- A hozzászóláshoz be kell jelentkezni
Koszi, napkozben proba:-)
- A hozzászóláshoz be kell jelentkezni
es ez (woody alatt pl)?
iptables -A PREROUTING -i ethx -t mangle -p tcp --dport XXX -j MARK --set-mark 3
ip rule add fwmark 3 table tabla1.out
ip route add default via zzz.xxx.hhh.aaa dev ethx table table1.out
tabla1.out bejegyzest pedig a /etc/iproute2/rt_tables-be ertelemszeruen
- A hozzászóláshoz be kell jelentkezni
iptables route target gw-t nem tudtam meg eletre kelteni, gondlom patch-elni kell kulon.
kozben az ip-s leirasokat is nezegetem, es ha jol ertem, amit irtal arrol szol, hogy iptables kiszuri az adott portra meno csomagokat, azt megjeloli harmasnak
ezutan a harmassal megjelolt csomagokra az ip hozzarendeli a table1.out routing tablat, vegul a tabla1.out -hoz beallitja a masik gw-t interface-szel
jol sejtem?
- A hozzászóláshoz be kell jelentkezni
pontosan
- A hozzászóláshoz be kell jelentkezni
a mostani kernelekben mar benne van 2.4, 2.6-ban is: "netfilter mark match support", ha nem ilyen kerneled van, akkor patch-o-matic
- A hozzászóláshoz be kell jelentkezni
Hi!
Végülis lett megoldás? Ugyan ez a probléma:
Adott 2db ADSL kapcsolat amit sikerült pppoe (rp-pppoe)-vel beállítani,
bár nem volt egyértelmű a doksija :)
Tehát az egyiken van fixIP a másik DHCP-s kapcsolat.
Legyen:
ppp0 = fixIP
ppp1 = DHCP, default gw
eth1 = LAN_IP
Alapértelemzetten minden a ppp1-en megy ki, de a levelezést a ppp0-ra
kellene irányítani. Elég sok doksi van erről a neten, de egyértelműen
senki nem írta, hogy neki jó lett.(Viszont sokan írták, hogy nem sikerült, vagy félbemaradt a topik, vagy egy hét szívás után sikerült :))
A következőt csináltuk:
#iptables-ben megjelöljük az átirányítandó csomagokat
iptables -t mangle -A POSTROUTING -j MARK --set-mark 25
# create custom route table
echo "25 smtp_route" >> /etc/iproute2/rt_table
# route táblának default gw megadása
# ami zárójelben van az anélkül is ki lett próbálva
ip route add default (via 11.222.33.444) dev ppp0 table 25
# rule létrehozása ami bepakolja a megjelölt csomagokat a mi táblánkba,
# ahol elképzelésem szerint a megfelelő (ppp0) gw felé kellene mennie
ip rule add fwmark 25 table 25
"ip rule list" -el látom, hogy jó lett a rule
"ip route show table 25" -el látom, hogy a route add is jó lett
Valamiért nem működik. Telnet volt kifelé, a mark működik (ezt látom:
"iptables -t mangle -L -vn"), de a csomagok a ppp1-en mennek ki, és
jönnek is vissza (tcpdump -i ppp1 port 25 -n)
Valakinek működik?
Egy ismerősömnek segítenék, nagy szívás van ezzel :)
Egyébként a fentiekből nekem az jön le, hogy hiába jelölődik meg a
csomag a rule-t nem hatja meg. A route- ha jó ha nem, az nem okozhatja
gondot, mert ha rossz lenne akkor max. elvesznének a csomagok, de nem
mennének vissza a ppp1-re (szerintem).
Sajna nem találtam megoldást a rule-ok monitorozására, jó lenne ha
láthatnám, hogy match-el e rá egyáltalán, hogy miért bukik el a dolog
azon a részen.
- A hozzászóláshoz be kell jelentkezni
A válasz feljebb, bandorka kommentjében.
"hiába jelölődik meg a csomag a rule-t nem hatja meg"
Az ok pedig valószínűleg az, hogy nem azután kell megjelölni a csomagot, miután már eldőlt, hogy melyik routing tábla alapján melyik interfészen fog kimenni (POSTROUTING), hanem előtte (PREROUTING).
- A hozzászóláshoz be kell jelentkezni
Az ok pedig valószínűleg az, hogy nem azután kell megjelölni a csomagot, miután már eldőlt, hogy melyik routing tábla alapján melyik interfészen fog kimenni (POSTROUTING), hanem előtte (PREROUTING).
Ez igaz, és kipróbálom PREROUTING-ban megjelölni, de ezt is próbáltuk, és nem ment, de mégegyszer próba...
Csak a PREROUTING-al vigyázni kell, mert minden csomagot megjelöl ami befelé igyekszik és a célportja 25. Azt is ami a ppp0 felől jött és a célportja a szerver 25-ös port. Akkor ezzel szépen visszaküldeném a ppp0-ra.
Sajna mind két linken régen túlvagyok, és nem segítettek, vagy figyelmetlen voltam.
- A hozzászóláshoz be kell jelentkezni
"...mert minden csomagot megjelöl ami befelé igyekszik és a célportja 25"
Azt jelöli meg, amit kérsz tőle, bandorka kommentjében is így van. Csak az eth1 felől induló, kimenő SMTP-t kell megjelölni.
iptables -A PREROUTING -i eth1 -t mangle -p tcp --dport 25 -j MARK --set-mark 25
- A hozzászóláshoz be kell jelentkezni