W ostatnim artykule na temat Dropboxa (Synchronizacja kopii zapasowych na serwerach Linux przy pomocy Dropbox) zapowiedziałem, że przedstawię wam sposób w jaki wyłączyć funkcję LAN Sync. Jeśli nie korzystacie z synchronizacji z innymi komputerami w sieci LAN jest ona nam nie potrzebna.
Aby wyłączyć LAN Sync warto najpierw sprawdzić czy ta funkcjonalność jest w danym momencie aktywna. Można to sprawdzić np. nestatem.
netstat -atup Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:www *:* LISTEN 1232/lighttpd tcp 0 0 *:ssh *:* LISTEN 1583/sshd tcp 0 0 *:17500 *:* LISTEN 2039/dropbox tcp 0 0 localhost:mysql *:* LISTEN 1248/mysqld tcp 0 0 debian.local:33174 75.126.110.61-sta:https TIME_WAIT - tcp 38 0 debian.local:56592 208.43.202.51-sta:https CLOSE_WAIT 2039/dropbox tcp 38 0 debian.local:42993 208.43.202.52-sta:https CLOSE_WAIT 2039/dropbox tcp 0 0 debian.local:51158 208.43.202.5-static:www ESTABLISHED 2039/dropbox tcp 0 0 debian.local:42991 208.43.202.52-sta:https TIME_WAIT - tcp 0 0 debian.local:60202 ec2-204-236-220-1:https ESTABLISHED 2039/dropbox tcp 0 0 debian.local:60202 ec2-204-236-220-1:https ESTABLISHED 2039/dropbox tcp6 0 0 [::]:www [::]:* LISTEN 1232/lighttpd tcp6 0 0 [::]:ssh [::]:* LISTEN 1583/sshd udp 0 0 *:17500 *:* 2039/dropbox
Jak widzimy Dropbox odpowiedzialny jest za utworzenie i utrzymywanie gniazd sieciowych TCP i UDP na porcie 17500. Oznacza to, że LAN Sync jest włączony, a Dropbox co 30 sek rozgłasza w sieci lokalnej poprzez pakiety UDP swoją obecność.
Aby wyłączyć LAN Sync niezbędny będzie nam pakiet sqlite3 (aptitude install sqlite3). Przechodzimy do katalogu .dropbox (katalog domowy) gdzie znajduję się konfiguracja programu.
ls -l .dropbox razem 68 drwx------ 3 root root 4096 05-04 19:44 . drwx------ 8 root root 4096 05-04 19:39 .. srw------- 1 root root 0 05-04 19:37 command_socket -rw-r--r-- 1 root root 5120 05-04 19:44 config.db -rw-r--r-- 1 root root 4 05-04 19:37 dropbox.pid -rw-r--r-- 1 root root 22528 05-04 19:44 filecache.db -rw-r--r-- 1 root root 61 05-04 19:37 host.db srw------- 1 root root 0 05-04 19:37 iface_socket drwxr-xr-x 2 root root 4096 05-04 19:31 l -rw-r--r-- 1 root root 12288 05-04 19:44 sigstore.db -rw-r--r-- 1 root root 184 05-04 19:37 unlink.db
Znajdziemy tam plik config.db zawierający aktualną konfigurację.
Uruchamiamy klienta sqlite3.
sqlite3 config.db
Teraz sprawdzamy jakie tabele się w niej znajdują oraz jak wygląda budowa konkretnych tabel
.tables config .schema CREATE TABLE config (key TEXT PRIMARY KEY NOT NULL, value BLOB)
Teraz następnym krokiem jest sprawdzenie czy opcja p2p_enabled odpowiedzialna za LAN Sync znajduje się w tabeli:
SELECT key, value FROM config WHERE key LIKE 'p2p_enabled';
Jeśli w bazie nie ma takiego rekordu dodajemy go:
INSTERT INTO config (key,value) VALUES ("p2p_enabled",0);
Zamykamy sqlite (.exit) i restartujemy Dropboxa. Jeśli wszystko przebiegło pomyślnie, netstat nie wyświetli nam informacji o otwartym porcie 17500. Oznacza to, że LAN Sync jest nie aktywny. O co właśnie nam chodziło :).
Aby ponownie aktywować LAN Sync należy ustawić p2p_enabled na 1 lub usunąć wpis z configu.
Dodaj komentarz