Temat: Zrywanie reverse ssh
Mam zainstalowane Gargoyle 1.5.3 (30012) na TP-Link TL-WR1043ND. Korzystając z poradnika:
http://eko.one.pl/?p=openwrt-sshtunnel
ustawiłem sobie tunel ssh. Tak jak sugerowano w poradniku wstawiłem skrypt sprawdzający czy jest połączenie.
cat /bin/tunel.sh
#!/bin/sh
COMMAND="ssh -f -NT -R 7770:localhost:22 login@serwer -i /etc/dropbear/key.priv"
pgrep -f "$COMMAND" > /dev/null 2>&1 || $COMMANDi wrzuciłem go do crona.
cat /etc/crontabs/root
*/3 * * * * /bin/3gtester
*/10 * * * * /bin/tunel.sh
0,1,11,21,31,41,51 * * * * /usr/bin/set_kernel_timezone >/dev/null 2>&1
0 0,4,8,12,16,20 * * * date -u +"%Y.%m.%d-%H:%M:%S" >/usr/data/time_backup
0 0,4,8,12,16,20 * * * /tmp/do_bw_backup.shO ile dobrze zrozumiałem crona, to skrypt tunel.sh powinien co 10min sprawdzać czy jest połączenie, i w razie braku, wznawiać je.
Problem w tym że połączenie często jest zrywane. Nie mogę dojść dlaczego. Napisałem prosty skrypt na serwerze, który wycina w netstacie "7770" i loguje kiedy połączenie jest a kiedy nie. Okazuje się, że połączenie działa w ok. 25% czasu.
WYKRES
Niebieskie to tunel ssh rutera, a czerwone to tunel ssh mojego laptopa - oba do tego samego serwera. Na laptopie tunel działa bez zarzutu - przerwy są tylko podczas wyłączeń komputera. Natomiast na ruterze widać dziwną regularność: działa praktycznie równo przez 2h, a potem przez ok. 6h - nie. Różnica miedzy nimi jest taka, że na laptopie łączę się przy użyciu autossh.
Myślałem, żeby doinstalować autossh, aie wiem czy zmieści się cokolwiek jeszcze na ruterze. df -h pokazuje:
Filesystem Size Used Available Use% Mounted on
/dev/root 4.0M 4.0M 0 100% /rom
tmpfs 14.3M 2.0M 12.4M 14% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mtdblock3 2.6M 608.0K 2.0M 23% /overlay
mini_fo:/overlay 4.0M 4.0M 0 100% /Gdzie jest pokazane wolne miejsce w pamięci flash?
Co może być przyczyną takiego kulawego działania tego tunelu?