126

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

On po prosty sprawdza czy dane polecenie jest w procesach. Jak nie to uruchamia ponownie. Możesz i co 1min, nie ma znaczenia poza obciążeniem routera przez cykliczne przerabianie skryptu.

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

127

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

No dobra, ale to nadal nie załatwia mojego problemu...

To że go sprawdzi to ok - to by miało zastosowanie wtedy, gdy router samoczynnie byłby restartowany razem z rozłączeniem internetu, ale nie wtedy jak zniknie samo połączenie internetowe, wtedy skrypt będzie w procesach ale nie zestawi się automatycznie  w chwili uzyskania ponownego połączenia...

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

128

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Przecież ten skrypt ZESTAWIA połączenie...

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

129

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Dobra, przetestuję w praktyce.

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

130

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Jak skopiować klucz na VPS o porcie ssh 2213?

# scp klucz_router_pub.txt root@xx.xxx.xx.xxx -p 2213:~/.ssh/

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

131

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Co zrobiłeś najlepszego?

scp -P 2213 klucz_router_pub.txt root@xx.xxx.xx.xxx:/root/.ssh/

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

132

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Dobra, to już za nami, a teraz:

root@Gargoyle:~# ssh -f -NT -R 8889:localhost:22 root@xx.xxx.xx.xxx -p 2213 -i /root/klucz_router_pub.txt
ssh: Exited: Bad buf_getptr

root@Gargoyle:~# ssh -P 2213 -f -NT -R 8889:localhost:22 root@31.220.63.128 -i /root/klucz_router_pub.txt
WARNING: Ignoring unknown argument '-P'
ssh: Exited: Error resolving '2213' port '22'. Name or service not known
===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

133

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

małe p jest przy ssh. I daj to z przodu nie z tyłu.

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

134 (edytowany przez wojciech_69 2013-08-26 19:12:11)

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Błąd polegał na złym kluczu użytym do połączenia.

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

135

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

I jest problem...

Cezary napisał/a:

Przecież ten skrypt ZESTAWIA połączenie...

No własnie zestawia ale jak pisałem juz po restarcie połączenia co godzinę (Aero2) tunel się nie zestawia.... A to że jest w procesach to się zgodzę...

Nie wiem, Cezary może jakaś podpowiedz, bo jak to wyjaśnić? Teraz jestem w pracy i po zalogowaniu na VPSa nie widzę żadnego połączenia od strony Gargulca do niego. Skrypt jest prawidłowy bo po zabiciu procesu testowego (połączenia ssh) po dodaniu skryptu do crona router ustanowił połączenie bezbłędnie do VPSa

Ps. wczoraj wieczorem sprawdzałem połączenie na VPSie i można było z niego się na Gargulca dostać, nie czekałem do 1go rozłączenia internetu ale widzę że moje obawy się sprawdziły...

root@wojtek:~# ssh -p 8889 root@127.0.0.1
ssh: connect to host 127.0.0.1 port 8889: Connection refused
===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

136

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Skrypcik zestawia tunel. Jeżeli z jakiegoś powodu druga strona "zwiśnie" to tunel nadal jest ale nie możesz z nim nic zrobić. Więc standardowo - pinguj sobie drugą stronę i jak nie ma odpowiedzi to rób restart tunelu przez ew. ubicie tego co zostało i uruchomienie ponowne skryptu.

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

137

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Cezary więc dlatego od 118 postu zadaje to samo pytanie... Czy w związku z ww sytuacją jest jakiś gotowy skrypt bądź skrypt do przerobienia który będzie wykonywał ewentualny restart tunelu w razie zerwania połączenia?

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

138

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Nie ma. Po prostu pinguj.

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

139 (edytowany przez wojciech_69 2013-08-27 13:31:30)

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Jestem noga ze skryptów, ale co powiecie na stworzenie takiego skrypt restartujący tunel w przypadku braku połączenia?:

restart_tunel.sh:

 #!/bin/sh
    if (! ping -q -c 5 -W 10 google.com > /dev/null) 
    
    then
            "skasowanie 'istniejacego' tunelu ssh z procesow" 
    else
            /bin/tunel_ssh.sh
    fi

tunel_ssh.sh

#!/bin/sh
T="ssh -f -NT -R 8889:localhost:22 użytkownik@adres_serwera -i /root/rsa_router_key.txt"
pgrep -f "$T" > /dev/null 2>&1 || $T

Podejrzewam, że w tym wypadku nie będzie potrzebna część pgrep -f "$T" > /dev/null 2>&1 || $T z tunel_ssh.sh a zamiast "skasowanie 'istniejacego' tunelu ssh z procesow" wstawić pgrep? Tylko jakie argumenty ma przyjąć pgrep żeby kasowało istniejące już 'nieaktywne' połaczenie/proces tunelu - wcześniej było to przypisane do zmiennej a teraz...?

Ps. Czy pgrep może zabic proces wyszukując go po numerze portu?

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

140 (edytowany przez Sebastian 2013-10-18 14:04:41)

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Na routerze kliencie widziałem taki błąd.

netstat: /proc/net/tcp6: No such file or directory
netstat: /proc/net/udp6: No such file or directory
netstat: /proc/net/raw6: No such file or directory

No to ja zdalnie ściągnąłem i zainstalowałem na routerze serwerze http://ecco.selfip.net/attitude_adjustm … ar71xx.ipk i teraz nie mam kontaktu z routerem serwerem.

W związku z tym, że zdalne wyciągnięcie wtyczki routera z gniazdka z wykorzystaniem "żona.sh" nie rozwiązało problemu, to chciałbym się dowiedzieć jakie oprogramowanie mam ściągnąć z sieci, żeby zagadać z routerem, gdy wrócę do domu i nie będę miał połączenia z siecią?

Skrypt "żona.sh" raportuje, że nie ma dostępu po kablu z przeglądarki pod adresem 192.168.1.1

RUTX11, wrt160nl, AirRouter

141

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

A miałeś gargoyle? To stąd miałeś zainstalować: http://ecco.selfip.net/gargoyle-pl/atti … /packages/

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

142 (edytowany przez Sebastian 2013-10-18 14:17:23)

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Proszę usunąć ten wpis, bo jak skrypt zobaczy to mam ...
A teraz to co? Uwaliłem go na amen? 30 - 30 - 30, czy da radę jakoś się z routerem dogadać?
To jest ta sztuka z 1.5.9.7.

RUTX11, wrt160nl, AirRouter

143

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Czyli zainstalowałeś aktualny moduł na prehistorycznej wersji. Teraz tak: wracasz do domu, robisz failsafe (opisany na eko.one.pl), wpisujesz firstboot i restartujesz router. Otwierasz piwo, pijesz za moje zdrowie. Otwierasz drugie i bierzesz się za ustawienie tego routera od początku...

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

144

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Super, szkoda tylko, że nie zapisałem sobie tylko authorised_keys, bo jak widzę muszę konfigurować tunel od nowa.
Dziękuję za wsparcie i proszę trzymać kciuki, żeby mnie skrypt nie udusił.

RUTX11, wrt160nl, AirRouter

145

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Jak zrobisz failsafe to zrób mount_root i będziesz miał system plików dostępny. authorised_keys możesz sobie skopiować na bok.

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

146 (edytowany przez Sebastian 2013-10-26 21:00:51)

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Dobry wieczór, to znowu ja w jednym z dwu moich ulubionych tematów.

Tytułem przypomnienia R1 to mój serwer, a R2 to mój klient do którego chcę się dostać odwróconym tunelem, a teraz pora na problem.

Na R2 jest skrypt sprawdzający dwa warunki - po pierwsze czy tunel jest jednym z aktywnych procesów R2, a po drugie R2 poprzez tunel ma na R1 sprawdzić czy na porcie 443 prowadzony jest przez "cokolwiek" (np. usługę) nasłuch. Jeśli oba warunki są spełnione ma nie robić nic, bo tunel działa.

Skrypcik jest wrzucony do crontaba i uruchamia się co 5 minut. Problem jest taki, że skrypt uruchomiony z ręki działa prawidłowo, tzn. w związku z tym, że oba warunki są spełnione nie robi nic. Gdy minie 5 minut i uruchamia się z crona, to warunek pierwszy jest spełniony (co jest prawdą), a drugi nie (co nie jest prawdą) i w efekcie rozłącza tunel i składa go na nowo.

Pytanie - czy cron ma jakieś ograniczone uprawnienia względem roota i nie może wykonać prawidłowo tego skryptu?

RUTX11, wrt160nl, AirRouter

147

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Nie, ale zwykle nie ma np. ustawionych ścieżek (PATH) i zmiennej HOME - co sprawia problemy niektórym skryptom. Ponad to nie ma dostępu do ekranu (terminala) co też może przeszkadzać niektórym procesom.

W jakim sposób sprawdzasz czy na 443 coś jest?

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

148

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Dziękuję za odpowiedź.

Mając zestawiony tunel z R2 do R1 wykonuję w skrypcie polecenie, które ma się zapisać w zmiennej B:

B=`ssh -p 1313 lamer@13.131.313.13 -i /root/rsa_secret.txt netstat -an | egrep "tcp.*:443.*LISTEN" | wc -l`

Od  razu  nadmieniam,  że  próbowałem  już  zmiennych  SHELL i PATH w skrypcie, a mianowicie:

SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/sbin
. /etc/profile
... reszta skryptu ....

ale dalej to nic nie daje

Najważniejsza zmienna w skrypcie to:

B=`....`

a dalej

if [ $B -eq 0 ]; then
    killall -9 ssh
    $TUNEL
fi

i  o  ile  "z  ręki"  działa  prawidłowo, tak uruchamiane z crona nie działa.

RUTX11, wrt160nl, AirRouter

149

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Uruchom z crona, ale zapisz sobie do pliku co samo

ssh -p 1313 lamer@13.131.313.13 -i /root/rsa_secret.txt netstat -an

zwraca.

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

150 (edytowany przez Sebastian 2013-10-26 22:31:48)

Odp: Gargoyle by obsy, WRT160NL i SSH Reverse tunnel

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:1313          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     
tcp        0      0 192.168.167.8:22        31.0.230.16:4732        ESTABLISHED
tcp        0      0 192.168.167.8:22        31.0.102.214:48802      ESTABLISHED
tcp        0      0 192.168.167.8:22        31.0.102.214:48806      ESTABLISHED
tcp        0      0 :::139                  :::*                    LISTEN     
tcp        0      0 ::1:1313                :::*                    LISTEN     
tcp        0      0 :::53                   :::*                    LISTEN     
tcp        0      0 :::22                   :::*                    LISTEN     
tcp        0      0 :::443                  :::*                    LISTEN     
tcp        0      0 :::445                  :::*                    LISTEN     
udp        0      0 0.0.0.0:53              0.0.0.0:*                           
udp        0      0 0.0.0.0:67              0.0.0.0:*                           
udp        0      0 0.0.0.0:111             0.0.0.0:*                           
udp        0      0 192.168.0.255:137       0.0.0.0:*                           
udp        0      0 192.168.0.1:137         0.0.0.0:*                           
udp        0      0 0.0.0.0:137             0.0.0.0:*                           
udp        0      0 192.168.0.255:138       0.0.0.0:*                           
udp        0      0 192.168.0.1:138         0.0.0.0:*                           
udp        0      0 0.0.0.0:138             0.0.0.0:*                           
udp        0      0 :::53                   :::*                               
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  8      [ ]         DGRAM                      1037 /dev/log
unix  2      [ ACC ]     STREAM     LISTENING       2930 /var/nmbd/unexpected
unix  2      [ ACC ]     STREAM     LISTENING       1255 /var/run/ubus.sock
unix  2      [ ]         DGRAM                      2036 /var/run/hostapd-phy0/wlan0
unix  2      [ ]         DGRAM                      2731
unix  2      [ ]         DGRAM                      2305
unix  2      [ ]         DGRAM                      2270
unix  2      [ ]         DGRAM                      1578
unix  2      [ ]         DGRAM                      1561
unix  3      [ ]         STREAM     CONNECTED       1559 /var/run/ubus.sock
unix  3      [ ]         STREAM     CONNECTED       1558
unix  2      [ ]         DGRAM                      1501
unix  2      [ ]         DGRAM                      1200

RUTX11, wrt160nl, AirRouter