iptables / manipulacja ttl / nat

Instalacja i konfiguracja oprogramowania sieciowego.
ssokolow
Sędziwy Jeż
Sędziwy Jeż
Posty: 32
Rejestracja: 01 gru 2008, 03:56
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

iptables / manipulacja ttl / nat

Post autor: ssokolow »

Potrzebuję udostępnić łącze eth0 (adres nieważny)
na wlan0 (lokalnie 192.168.0.1)

z sieci zewnętrznej eth0 dodatkowo pakiety przychodzące mają ttl=1 więc trzeba go ustawić na wyższy PRZED routowaniem.

robię tak:
(sudo su)
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 10
(powyższe ma podbijać ttl przed routingiem wszystkiego co przychodzi na interfejs eth0)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(powyższe ma natować wszystko co wychodzi przez eth0 na adres który jest na interfejsie)
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 128
(na wszelki wypadek niech wszystko co wychodzi z routera będzie miało ttl 128)

No niestety "niezbyt działa"
nie wiem jak to sprawdzić - w każdym razie z hosta "lokalnego" - 192.168.0.coś
pinguję 0.1 jak i zewnętrzny adres routera ... - niestety nie pinguję niczego dalej
(np. bramy routera)

czyli problem jest w natowaniu LUB w podbicu ttl'a - (pod windowsem udostępnianie działa dopiero jak mam odpalony ttlfilter) co robię źle ? ew. jak to zdiagnozować jeszcze ;-)
genek72
Piegowaty Guziec
Piegowaty Guziec
Posty: 21
Rejestracja: 14 lut 2008, 16:59
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: IceWM
Kontakt:

Odp: iptables / manipulacja ttl / nat

Post autor: genek72 »

1. Sprawdz czy faktycznie pakiety stają na ruterze obserwując równocześnie interfejsy zewnetrzny i wewnetrzny
w jednym okienku
tcpdump -i eth0 not port 22 host adres (wpisz adres kompa ktory bedzie testowal z zewnatrz)
w drugim okienku
tcpdump -i eth1 not port 22 host adres (wpisz adres kompa na ktory ida pakiety w sieci lokalnej)
2. Nie jestem pewien, ale czy w preroutingu zaakceptowanie reguły przerywa proces analizy tak jak np. na forwardzie? Masz inne reguły prerutingu na pewno. Dopisz to co miałeś ale nie z -A tylko z -I wstawisz swoją regółkę na początek wówczas bo na pierwszy rzut oka jest OK, chyba, że ja też czegoś oczywistego nie dostrzegam.

EDIT:
3. Ustawianie TTLa na wyjściu nie ma sensu - raczej. Chyba, ze w konkretnym celu.

EDIT:
zapomnialem pomiedzy "port 22" i "host" trzeba dodać "i" po angielsku :)
czyli
tcpdump -i eth0 not port 22 and host adres
tcpdump -i eth1 not port 22 and host adres

(not port 22 bo jesli robimy to przez ssh i rownoczesnie nasz komp jest testujacym to zalalibysmy sie wlasna komunikacja, ktora dawalaby nam komunikaty i tak bez konca)
ssokolow
Sędziwy Jeż
Sędziwy Jeż
Posty: 32
Rejestracja: 01 gru 2008, 03:56
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: iptables / manipulacja ttl / nat

Post autor: ssokolow »

spoko spoko rozumiem wszystko... ;-) przetestuję w najbliższym czasie i napiszę odpowiedź ;-) tylko chwilowo nie mam na czym przetestować ;-) bo wszyscy pojechali na święta
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości