1

Temat: DynDNS i CLOSE_WAIT

Witam,

Posiadam WR-1043ND z OpenWrt Backfire 10.03.1-RC6, z pakietem ddns-gargoyle - 1.3.16-1.
Skonfigurowałem sobie dyndns - dzialł świetnie.

Nie mniej jednak patrząc co jakiś czas w netstat -p widzę dużo połączeń do checkip-xxx.dyndns.com:80 w stanie CLOSE_WAIT utrzymywane przez aplikację ddns_gargoyle. Tak jakby ten serwis nie zamykał połączeń TCP/IP.
Kolejne połączenia w tym stanie pojawiają się mniej więcej co 15 minut, czyli co czas zdefiniowany jako check_interval w ddns_gargoyle.conf.

Póki co radzę sobie restartując raz dziennie ten serwis, nie mniej jednak to tylko obejście problemu.
Czy taki błąd jest znany? Zna ktoś może jakieś rozwiązanie/fix na to?

Pozdrawiam,
MJ

2

Odp: DynDNS i CLOSE_WAIT

Zmniejsz czas życia pakietów tcp? ddns-gargoyle to tylko skrypt, który wgeta woła.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: DynDNS i CLOSE_WAIT

Hmm... U mnie zdecydowanie to nie jest skrypt:
vi /usr/bin/ddns_gargoyle wyswietla na początku:

^?ELF^A^B^A^@^A^@^@^@^@^@^@

(BTW, jest jakiś od, albo coś podobnego na openwrt?)

Poza tym czy TTL coś tu zmieni? Pozostawione połączenie w CLOSE_WAIT moim zdaniem zdecydowanie wskazuje na to, że aplikacja nie zamyka socketa.

Pozdrawiam,
MJ

4 (edytowany przez mackoj 2011-08-21 13:28:05)

Odp: DynDNS i CLOSE_WAIT

No na moje to jest blad w tym calym ddns_gargoyle (no.. w wget). On faktycznie korzysta z biblioteki wget, a ta w funkcji destroy_connection_http nie zamyka połączenia. Kurcze, chyba nikt nie używa ddns_gargoyle, skoro taki bug istnieje w tej blibiotece.

Czarku, póki co nie mam środowiska developerskiego dla openwrt/gargoyle. Czy ty możesz dostarczyć poprawkę do takiego błędu?

5

Odp: DynDNS i CLOSE_WAIT

Zgłosiłeś już to widzę.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: DynDNS i CLOSE_WAIT

Niesamowite, że tego jeszcze nie naprawili. Używam starego Gargoyle 1.1.7 i właśnie musiałem wrzucić ddns_gargoyle do crona żeby się restartował bo miałem po jakimś czasie setki połączeń CLOSE_WAIT. Swego czasu rozważałem update w celu wyeliminowania choćby tego problemu, dobrze, że tego nie zrobiłem.

Innymi słowy - potwierdzam i chętnie dowiem się o jakiejś poprawce.

7

Odp: DynDNS i CLOSE_WAIT

Naprawione smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: DynDNS i CLOSE_WAIT

Hmm.. A takie lamerskie pytanie: jak ściągnąć poprawkę?
Po opkg update;opkg list nie pojawia mi się nowa wersja. Jakieś super tajny URL do repo powinienem dodać?

Pozdrawiam,
MJ

Cezary napisał/a:

Naprawione smile

9

Odp: DynDNS i CLOSE_WAIT

Jeszcze nie ma, to na razie do repo jest dodane. Chcesz to sobie zainstaluj: http://ecco.selfip.net/test/ewget_1.4.0-1_ar71xx.ipk

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: DynDNS i CLOSE_WAIT

Czarku, patrząc na makefilea ddns-gargoyle widzę, że ddns-gargoyle ma podlinkowanego ewget'a w sobie, więc ta poprawka chyba mi nie pomoże...
Zresztą widzę, że nie pomaga.

Swoją drogą od razu pytanie: skąd brać kolejne wersje gargoyle? Np. 1.4.0?
(nie zależy mi na interfejsie po polsku)

Cezary napisał/a:

Jeszcze nie ma, to na razie do repo jest dodane. Chcesz to sobie zainstaluj: http://ecco.selfip.net/test/ewget_1.4.0-1_ar71xx.ipk

11

Odp: DynDNS i CLOSE_WAIT

Z gargoyle-router.com oczywiście. Poprawka dotyczy libewget do ktorego jest linkowany ddns-gargoyle. więc zrób upgrade i tyle.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: DynDNS i CLOSE_WAIT

A nie przekompilowalbys tez ddns-gargoyle? On nie zależy od libewget. Linkowanie jest statyczne - widać to w Makefile.

Cezary napisał/a:

Z gargoyle-router.com oczywiście. Poprawka dotyczy libewget do ktorego jest linkowany ddns-gargoyle. więc zrób upgrade i tyle.

13

Odp: DynDNS i CLOSE_WAIT

Od kiedy cokolwiek jest statycznie kompilowane w openwrt? Nie jest, STATIC_LIBS na 0, a to powoduje normalne dynamiczne linkowanie.

Zresztą to możesz łatwo sprawdzić - po prostu usuń sobie libewget z systemu i zobaczy czy nadal będzie Ci działać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: DynDNS i CLOSE_WAIT

OK, sprawdzę, ale to za kilka dni niestety.
Póki co mogę powiedzieć tylko tyle, że upgrage ewgeta nie pomaga i że ddns-gargoyle nie ma w dependency ewgeta. Byłoby miło, gdyby miał, jeśli jest dynamicznie linkowany.

Cezary napisał/a:

Od kiedy cokolwiek jest statycznie kompilowane w openwrt? Nie jest, STATIC_LIBS na 0, a to powoduje normalne dynamiczne linkowanie.

Zresztą to możesz łatwo sprawdzić - po prostu usuń sobie libewget z systemu i zobaczy czy nadal będzie Ci działać.

15

Odp: DynDNS i CLOSE_WAIT

libewget

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: DynDNS i CLOSE_WAIT

OK, miałeś rację. ddns-gargoyle zależy od libewgeta (z pakietu ewget). Źle wcześniej sprawdzałem.

Nie mniej jednak problem nie jest rozwiązany. Porty w stanie CLOSE_WAIT nadal zostają sad
Jakieś pomysły?

Cezary napisał/a:

libewget