1 (edytowany przez kiniu 2014-12-15 14:34:18)

Temat: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Mam u siebie następującą topologię.
Łącze ETH od ISP (zewnętrzne IP) > router WNDR3700v2 (Gargoyle) > LAN m/innymi NAS.

NAS jest zazwyczaj wyłączony i bardzo rzadko zachodzi potrzeba włączenia go. Wymyśliłem ale nie wiem czy da radę to zrobić i przede wszystkim jak. Chciałbym aby router w odpowiedzi na np. ping z internetu na adresie publicznym WAN wykonał skrypt WOL i uruchomił w ten sposób NAS'a.

Prośba o pomoc.

2

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

kiniu napisał/a:

Mam u siebie następującą topologię.
Łącze ETH od ISP (zewnętrzne IP) > router WNDR3700v2 (Gargoyle) > LAN m/innymi NAS.

NAS jest zazwyczaj wyłączony i bardzo rzadko zachodzi potrzeba włączenia go. Wymyśliłem ale nie wiem czy da radę to zrobić i przede wszystkim jak. Chciałbym aby router w odpowiedzi na np. ping z internetu na adresie publicznym WAN wykonał skrypt WOL i uruchomił w ten sposób NAS'a.

Prośba o pomoc.

A może lepiej VPN do routera i np. na routerze postawić coś na WWW co obudzi NAS, zamiast jakieś pingi ?

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

3

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Generalnie jest to możliwe tylko nie wziąłeś pod uwagę tego ile razy dziennie Twój router odpowiada na pinga (skanery, robaki itp).

4 (edytowany przez kiniu 2014-12-15 14:42:43)

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

@alossek
właśnie VPN na NAS i chciałbym aby tak pozostało.

@xrace
też o tym teraz pomyślałem jak już post poszedł.

To może coś z innej beczki. Jestem otwarty na propozycje.

5 (edytowany przez alossek 2014-12-15 14:50:56)

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

kiniu napisał/a:

@alossek
właśnie VPN na NAS i chciałbym aby tak pozostało.

Nie wiem czemu masz VPN w NAS (pewnie miałeś jakieś - powody może sprzętowy AES w NAS lub coś innego)
ale czy nie lepiej rozważyć i VPN zrobić w routerze ?

Teraz masz otwarty port dla VPN do NAS
i pewnie skoro chcesz budzić NAS to musiałbyś otwierać kolejny port na jakąś tam usługę (bo pomysł z pingami kolega xrace - trochę podważył)

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

6

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

@alossek
Zgadzam się w całej rozciągłości ale ...

Znalazłem coś takiego:
http://eko.one.pl/forum/viewtopic.php?pid=31581#p31581
I to by spełniało moje oczekiwania. Pytanie jaki pakiet muszę zainstalować na Gargoyle aby to odplać ? Pewnie jakiś serwer www.

7

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

kiniu napisał/a:

@alossek
Zgadzam się w całej rozciągłości ale ...

Znalazłem coś takiego:
http://eko.one.pl/forum/viewtopic.php?pid=31581#p31581
I to by spełniało moje oczekiwania. Pytanie jaki pakiet muszę zainstalować na Gargoyle aby to odplać ? Pewnie jakiś serwer www.

Jak tam chcesz,
zastanów się czy to dobry pomysł by udostępniać światu coś innego niż port VPN.

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

8

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Rozwiązanie jest tutaj

APU2 @ OpenWrt 18.06-SNAPSHOT, r7852-7ac6044632

9

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Był kiedyś taki prosty backdoor na icmp. Trzeba było puścić dwa razy ping ( drugi musiał być większy od pierwszego ) i program wykonywał dowolne polecenie. Generalnie nie polecam takiego rozwiązania ale skoro się uparłeś to poszukaj informacji na ten temat.

Home: ZyXEL NBG6817 (OpenWrt)
NAS: HP ProLiant MicroServer Gen8 E3-1265L V2, 16 GB (PVE)

10

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Dziękuję za propozycję rozwiązań.
rozważę wszystkie za i przeciw potestuję i zobaczę.

11 (edytowany przez snifer 2014-12-16 18:10:20)

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Może spróbuj do niego zapukać http://eko.one.pl/?p=openwrt-knockd
Można telnetem albo gotowym klientem np na androida.
Dobra nie doczytałem posta Graffiego powyżej :-)

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

12

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

@kiniu, mam taką samą konfigurację jak Ty i też od czasu do czasu włączam backup. I też VPN uruchamia się z backaupa, bo jest tam mocniejszy procek (0,4GHz do 1.6 GHz), zresztą czuję to podczas transmisji VPNem, mam symetryczne łączę 25/25.

Lokalnie jeśli chcę się dostać do zasobów odpalam komendę WOL i korzystam (w 95% to cobian co jakiś czas odpala skrypt na windowsie)

Zdalnie jest trochę więcej roboty, backup stoi na *uxie.

1. Utworzyłem usera na routrze, który jedyne co może to odpalić komendę wol oraz iptables oraz basha. SU/SUDO organiczne do maksimum. Dość mocno ograniczony user.
2. Uruchomiłem usługę knockd na interface WANowskim, który
- zapisuje  IP z którego uderzałem do lokalnego pliku
- otwiera port z flagą trzymania połączenia na którym stoi ssh na kilkanaście sekund, po czym je zamyka na nowe połączenia
3. SHH przyjmuje tylko uwierzytelnianie z klucza (login/passwd zabronione) i pozwala na 1-go usera w czasie, klucz przesada, bo aż 4098 bit
3.5. To też już będzie przesadą, ale można coś stylu fail2ban postawić dla bezpieczeństwa na otwartym porcie SHH (oraz VPN)
4. Wbija się user vpn do SHH (via putty, uruchomiony ze skryptu profil, który ma za zadanie zalogować się do ssh i wywołać inny skrypt)
5. Inny skrypt otwiera na n-minut porty VPNa dla wskazanego IP.  Po co tak? A bo pukanie można przechwycić, lekka paranoja, ale przezorny zawsze ubezpieczony
6. Logowanie do VPNa smile
7. Na razie manualne, ale odpalam inną sesję putty (skrypt), który loguje się przez VPN już jako root i po prostu odpala inny skypt, który w przeciągu minuty zabija połączania z wskazanego IP. Jesli zapmnę, to i tak punkt nr. 5 zrobi to automatycznie.

Trochę zakręcone, ale działa dość dobrze. To będzie już schiza, ale planuję zaszyfrować dysk na backapie kluczem, który będzie dostarczony po zalogowaniu się do VPNa, na razie nie mam na to czasu, chętnie posłucham czy to ma sens i jak to zrealizować.

PS. Na kliencie androidzie też śmiga smile

13

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

@oneiro

Fajnie to wymyśliłeś. Tylko sprawa jest "trochę" zakręcona. Ja w skryptach linuksowych jestem bardzo cieniutki i nie mam za bardzo czasu na naukę (choć chęci są)
Ja na NAS-ie nie trzymam jakiś super ważnych ani tajnych rzeczy.
Po prostu jest potrzeba aby czasem jak jestem z dala od sieci coś pobrać lub wrzucić na serwer. Raz więcej raz mniej danych.
NAS to u mnie Synology DS214 procek dwurdzeniowy i jest tak jak mówisz czuć różnicę jak mocno dociążyć VPN'a transmisją.
U mnie jest łącze symetryczne 100Mbit/s.

Na synku miałem skonfigurowane pod siebie openvpn trochę więcej niż można wyklikać z GUI (bo tam prawie nic nie można). To już plugin Cezarego do gargulca potrafi 10x więcej.

Po tym wszystkim co ostatnio przetestowałem jednak chyba przeniosę VPN'a na router. Zrobię certyfikaty na hasło + coś jeszcze (jakieś FBI, CIA, PKP, PKS ... smile) i będzie funkcjonalnie i "bezpiecznie". Otwarty tylko jeden port. Wbijam się na router przez VPN'a robię WOL i mam co chciałem. Transmisja trochę wolniejsza ale działa.

Chętnie bym podglądnął Twoje skrypty jak to masz zrobione. Kurcze trochę mnie zaintrygowałeś, a moja żona mówi że to nie takie proste smile

14

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Skrypty są banalnie proste:

1. /etc/knockd.conf - uderzam do jakiś portów, np. 100, 200 i 300 tcp sync

[Tcp_SSH_Open]
        sequence = 100:tcp,200:tcp,300:tcp
        seq_timeout = 10
        command = sh /openvpnport %IP%
        tcpflags    = syn
        cmd_timeout  = 60
        stop_command  =  sh /closevpnport %IP%

2. Uruchamiają się:

openpnport - PORT to numer portu TCP na którym nasłuchuje SSH

#!/bin/sh
iptables -I INPUT -p tcp -i wan --dport PORT -s $1 -j ACCEPT
echo $1 >/ip
exit 0

3. Po 1 min wyłączam możliwość nowych połączeń (istniejące są trzymane)
closevpnport -  PORT to numer portu TCP na którym nasłuchuje SSH

#!/bin/sh
iptables -D INPUT -p tcp -i wan --dport PORT -s $1 -j ACCEPT
exit 0

4. Batch skrypt w widows odpala mi sesję putty i uruchamia po zalogowaniu się na usera ABC:

ABC@OpenWrt:~$ cat /vpnopen
#!/bin/sh
/usr/bin/wol -i 192.168.10.255 00:01:03:04:05:06

IP_ADRES=$(cat /ip)

sudo iptables -t nat -I PREROUTING -i wan -p udp -s $IP_ADRES --dport 1000 -j DNAT --to-destination 192.168.103.2:1000
sudo iptables -I FORWARD -p udp -d 192.168.103.2 --dport 1000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#sudo iptables -t nat -I PREROUTING -i wan -p tcp -s $IP_ADRES --dport 345 -j DNAT --to-destination 192.168.103.2:345
#sudo iptables -I FORWARD -p tcp -d 192.168.103.2 --dport 345 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

sleep "ILOŚĆ SEKUND otwartego połączenia do zautomatycznie zamknięcia"

sudo iptables -t nat -D PREROUTING -i wan -p udp -s $IP_ADRES --dport 1000 -j DNAT --to-destination 192.168.103.2:1000
sudo iptables -D FORWARD -p udp -d 192.168.103.2 --dport 1000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#sudo iptables -t nat -D PREROUTING -i wan -p tcp -s $IP_ADRES --dport 345-j DNAT --to-destination 192.168.103.2:345
#sudo iptables -D FORWARD -p tcp -d 192.168.103.2 --dport 345-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

exit 0

No i skrypt zamykający, który jest w zasadzie końcówką powyższego.  Filozofii nie ma. Oczywiście co się dało zmienić to pozmieniałem na jakieś wymyślone porty i adresy, ale idea pozostała.

Być może da się to jakoś zrobić łatwiej/szybciej, dla mnie wystarcza smile

15

Odp: Uruchomienie NAS'a w odpowiedzi na np. ping routera.

Dam to u siebie na próbę i zobaczę jak będzie. Wielkie Dzięki za skrypty.