---- ---- ---- ---- ----
|1 |-------|2 |__ipsec____| 3|----| 4|----| 5|
| | | | | | | | | |
---- ---- ---- ---- ----
1 - 192.168.0.23 (/16-os halozatban, a teszt idejere linuxos, de
egyebkent windowsos gep lesz)
2 - linuxos tuzfal (van meg neki par laba, de, 123-as nincs,
ipsec-bol is van tobb)
3 - Cisco router
4 - valamilyen tuzfal
5 - valamilyen gep
Az ipsec-hez kaptam egy 123.36.97.0/24 tartomanyt, amelyeket a
belso halozat nehany gepere kellene beforgatnom (az 1-gyel jelolt
egy ezek kozul). A vpn mindket oldal szerint osszeall. A 2-es
gepen az alabbi szabalyok vannak (a kapcsolatra vonatkozoan):
-A POSTROUTING -o ipsec1 -p tcp -s 192.168.0.23 -j SNAT --to-source 123.36.97.1
-A PREROUTING -d 123.36.97.1 -j DNAT --to-destination 192.168.0.23
-A FORWARD -i eth2 -o ipsec1 -p icmp -s 192.168.0.23 -j ACCEPT
-A FORWARD -i eth2 -o ipsec1 -p icmp -s 192.168.0.23 -j ACCEPT
-A FORWARD -i ipsec1 -o eth2 -p icmp -d 192.168.0.23 -j ACCEPT
A "tcpdump -ni ipsec1 -s 0" latja az 1-es geprol kiindulo
csomagokat (sima ping-gel probalkozom, az 5-os gep valaszol a
ping-re), a megfelelo forras- (123.36.97.1) es celcim latszik. A
4-es gepen (de lehet, hogy a 3-as routeren, ez nem volt
egyertelmu) szinten latszanak a csomagok, ott is megfeleloek a
cimek. Ott azonban az is latszik, hogy az 5-os gep valaszol, a
2-es gepen a tcpdump-ban viszont nem latszik semmi a visszafele
jovo csomagokbol. Az 5-os gep szerint a visszafele jovo
csomagokban is jo a source es destination cim.
Hogy lehetne kideriteni, hogy miert nem jonnek vissza a csomagok?
A tuloldalhoz nem ferek hozza.
--
Udvozlettel
Zsiga
_______________________________________________
linux++ mailing list
lin...@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux++
> A "tcpdump -ni ipsec1 -s 0" latja az 1-es geprol kiindulo
> csomagokat (sima ping-gel probalkozom, az 5-os gep valaszol a
> ping-re), a megfelelo forras- (123.36.97.1) es celcim latszik. A
> 4-es gepen (de lehet, hogy a 3-as routeren, ez nem volt
> egyertelmu) szinten latszanak a csomagok, ott is megfeleloek a
> cimek. Ott azonban az is latszik, hogy az 5-os gep valaszol, a
> 2-es gepen a tcpdump-ban viszont nem latszik semmi a visszafele
> jovo csomagokbol. Az 5-os gep szerint a visszafele jovo
> csomagokban is jo a source es destination cim.
A "2-es gepen a tcpdump" nem vilagos. Az ipsec1-et dumpoltad itt is,
vagy a 3-as fele nezo labat? Ha az elobbit, akkor nezd meg, hogy az
utobbin latod-e az ESP csomagokat, amiknek az echo-reply-t kellene
tartalmazniuk. Lama kerdes: ugye nem szurod a 3-as felol az ESP
protokollt?
Gabor
--
---------------------------------------------------------
MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
---------------------------------------------------------
Az ipsec1-et.
> vagy a 3-as fele nezo labat? Ha az elobbit, akkor nezd meg, hogy az
> utobbin latod-e az ESP csomagokat, amiknek az echo-reply-t kellene
> tartalmazniuk.
Igen, latok esp forgalmat amikor pingetek.
> Lama kerdes: ugye nem szurod a 3-as felol az ESP protokollt?
Be van engedve az esp.
--
Udvozlettel
Zsiga
Amikor az 5-os gep pingeli az 1-es gepet (123.36.97.1), akkor a
klips_debug-ban ez latszik:
klips_debug: IP: ihl:20 ver:4 tos:0 tlen:60 id:25390 frag_off:0 ttl:126 proto:1 (ICMP) chk:65322 saddr:xx.xx.120.12 daddr:123.36.97.1 type :code=8:0
Az 5-os gep cime van az saddr mezoben, es az 1-es gep cime a
daddr mezoben. Latom az esp csomagokat, azonban a tunnelben nem
jelenik meg semmi.
Veletlenul beleneztem az ipsec0 forgalmaba, es meglepetten
lattam, hogy ott mennek a valaszcsomagok. De hiaba nezem a
routing tablat, nem latom, hogy mi indokolja azt, hogy arrafele
kuldje... Ha leallitom az egesz ipsec-et, kikapcsolom a teljes
ipsec0-ra vonatkozo konfigot (az interfeszt sem definialom),
akkor szepen mukodik a ping.
Ha kikapcsolom azt a vpn kapcsolatot, de az ipsec0 interfeszt
felhuzom, akkor sem mukodik az ipsec1-en at a ping. Csak akkor,
ha az ipsec0 nem is letezik.
Neztem az ip route show paranccsal is, nem csak a route -n-nel,
de semmi sem indokolja, hogy az ipsec0 fele kuldje az ipsec1-en
bejovo valaszcsomagokat, es ne a belso halozat fele...
Probalkoztam azzal is, hogy definialtam egy route bejegyzest,
mintha a 123... alhalo a belso halozat fele nezo lab fele lenne,
de ekkor is az ipsec0 interfesz fele mentek a csomagok.
> Neztem az ip route show paranccsal is, nem csak a route -n-nel,
> de semmi sem indokolja, hogy az ipsec0 fele kuldje az ipsec1-en
> bejovo valaszcsomagokat, es ne a belso halozat fele...
Azt hiszem, az a probléma, hogy az IP output routing döntés hamarabb
történik meg, mint az SNAT szabály alkalmazása. (Tehát már kész tény,
hogy ipsec0-n fog kiemenni a csomag, amikor az iptables szabályod
meglátja - ezt le tudod ellenőrizni, ha megnézed az ipsec0-n kimenő csomag
forrás címét, vagyis hogy SNAT-olódott-e.) Sajnos már nem frissek az
emlékeim, és nem találok neked pointer sem doksira, ami ezt leírja. :-(
Próbálj meg ezekre Google-zni:
KPTD
"output routing" decision POSTROUTING
Most sajnos nincs időm végiggondolni, de elvileg ha routing rule-lal (ip
rule) másik routing táblába tereled azokat a csomagokat, amelyek 1-es
géptől jönnek, (és ott route-olsz be az ipsec1-be explicite) akkor előrébb
vagy.
norbi