Jak mogę uniemożliwić aplikacji (Dropbox) dostęp do sieci po podłączeniu do określonego ESSID Wi-Fi?

3

Czasami podłączam laptopa Ubuntu do połączenia 3G mojego telefonu przez tethering. Po podłączeniu do tej sieci nie chcę synchronizować Dropbox, ponieważ mam ograniczony pakiet danych. Chcę, aby synchronizowała się po podłączeniu do mojej pracy lub domowego Wi-Fi.

Szukam czystego, ale łatwego rozwiązania w systemie Linux, a dokładniej Ubuntu. Pożądane jest również bardziej wyrafinowane rozwiązanie, które faktycznie nakładałoby ograniczenia przepustowości dla Dropbox po podłączeniu do niektórych ESSID Wi-Fi.

smichak
źródło
1
Oto możliwy początek. Dropbox używa portu 443 (SSL). Nie będziesz chciał blokować tego portu. Zatem zablokowanie miejsca docelowego jest opcją. Oto docelowe adresy IP 199.47.216.0/22 ​​108.160.160.0/20 205.189.0.0/24 To, co chcesz zrobić, to utworzyć skrypt, który przy SSID = X lub gdy mój publiczny adres IP = aaa.bbb.ccc.ddd, blok następujące adresy IP. Przynajmniej taki mam pomysł na ten moment.
Everett,
1
Nie chcę używać statycznych adresów IP. Myślałem więcej o rozwiązaniu, które rozpoznaje demona Dropbox zamiast celu komunikacji.
smichak
1
Nie używasz statycznych adresów IP, blokujesz połączenie z adresami IP DropBoxes. Jest to jedyny sposób, aby móc ograniczyć ruch FYI (przepustnica zamiast blokady). Jednak wygląda na to, że potrzebujesz skryptu, który mówi, gdy SSID = X, zabij demona Dropbox.
Everett,

Odpowiedzi:

9

Zamiast blokować Dropbox, możesz po prostu zatrzymać go, gdy jesteś podłączony do danej sieci (nie potrzebujesz uruchomionego Dropbox, aby uzyskać dostęp do plików synchronizowanych lokalnie)

Na przykład umieszczenie następującego w /etc/network/if-up.d/spowoduje uruchomienie go po ustanowieniu połączenia sieciowego:

#!/bin/bash
ifconfig -a | grep -q "192\.168\.0\." && killall dropboxd

To zabije (z wdziękiem) demona Dropbox, gdy połączysz się z siecią, która daje ci adres IP z zakresu 192.168.0. *. Jeśli możesz ustalić coś, co zidentyfikuje twoją sieć 3G po połączeniu, możesz po prostu zatrzymać Dropbox podczas łączenia. Możesz rozszerzyć ten skrypt, aby uruchomić Dropbox podczas łączenia się z innymi sieciami.

Paweł
źródło
Dobry Paul! +1
Everett,