VPSでDropboxを使うなら、LAN Syncを止めよう!

Dropboxからの17500/UDPがウゼー」と言っているだけでは、片手落ちだと思ったので、LAN Syncを止める方法も、エントリーしておく。

CUI版のDropboxのインストールは、

あたりを参考にすれば、問題なく出来るはず。(このエントリーの本題じゃないのでリンクだけ紹介。)

LAN Syncが有効だと...

同じネットワーク上の別サーバでtcpdumpを動かしてport17500へのパケットを観察しつつ、インストールしたDropboxを起動してみると・・・。

nexus01:~# tcpdump -i any -s 1600 port 17500
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 1600 bytes
19:22:56.441745 IP dc207.local.downtown.jp.17500 > 255.255.255.255.17500: UDP, length 121
19:22:56.441773 IP dc207.local.downtown.jp.17500 > 172.16.0.255.17500: UDP, length 121
19:23:04.451670 IP dc207.local.downtown.jp.17500 > 255.255.255.255.17500: UDP, length 121
19:23:04.451694 IP dc207.local.downtown.jp.17500 > 172.16.0.255.17500: UDP, length 121

という感じで、10秒おきぐらいに、ブロードキャストに向かってパケットが飛んでくるので、LAN Syncはデフォルトで有効になっているのが判ると思う。
まぁ、起動後5分ぐらいでパケットの送出は30秒間隔になるみたいだけど、やっぱり数としては多いなぁ、というのが感想。


このエントリーを書くためにCLI用のDropboxのインストール手順や、起動スクリプトを見ていて、ユーザごとにdoropboxを起動させるんだ〜、と思ったので試しに同一サーバ上のユーザ二人がDropboxを使っている形にしてみたら、案の定

nexus01:~# tcpdump -i any -s 1600 port 17500
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 1600 bytes
19:39:07.147542 IP dc207.local.downtown.jp.17500 > 255.255.255.255.17500: UDP, length 121
19:39:07.147580 IP dc207.local.downtown.jp.17500 > 172.16.0.255.17500: UDP, length 121
19:39:07.418081 IP dc207.local.downtown.jp.17500 > 255.255.255.255.17500: UDP, length 121
19:39:07.418104 IP dc207.local.downtown.jp.17500 > 172.16.0.255.17500: UDP, length 121
19:39:13.318008 IP dc207.local.downtown.jp.17500 > 255.255.255.255.17500: UDP, length 121
19:39:13.319428 IP dc207.local.downtown.jp.17500 > 172.16.0.255.17500: UDP, length 121
19:39:13.467468 IP dc207.local.downtown.jp.17500 > 255.255.255.255.17500: UDP, length 121
19:39:13.467484 IP dc207.local.downtown.jp.17500 > 172.16.0.255.17500: UDP, length 121

倍飛んでる...。orz
同じサーバ上でDropboxを使っているユーザがいればいるほど、送出されるパケット数は増えていく、というわけだ。

LAN Syncが有効なDropboxが同じマシン内で複数稼動している状態だと、こんな感じでポートが使われてるのも、確認できると思う。
#これはDropbox側のアカウントに同じものを使って試した結果。おそらく別ユーザでもユーザ間の共有が設定されていれば、こうなるんじゃないかなぁ...。

root@dropbox:~# lsof -i:17500
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dropbox 4347 root 10u IPv4 10683 0t0 TCP 172.16.0.207:17500->172.16.0.207:35863 (ESTABLISHED)
dropbox 4347 root 12u IPv4 10706 0t0 TCP 172.16.0.207:17500->172.16.0.207:35867 (ESTABLISHED)
dropbox 4347 root 13u IPv4 10618 0t0 UDP *:17500
dropbox 4347 root 16u IPv4 10622 0t0 TCP *:17500 (LISTEN)
dropbox 4350 dropbox 10u IPv4 10682 0t0 TCP 172.16.0.207:35863->172.16.0.207:17500 (ESTABLISHED)
dropbox 4350 dropbox 11u IPv4 10705 0t0 TCP 172.16.0.207:35867->172.16.0.207:17500 (ESTABLISHED)
dropbox 4350 dropbox 13u IPv4 10629 0t0 UDP *:17500

ブロードキャストパケットを止める

DropboxのLAN Syncの設定

で、やっと本題。

Mac OS XやWindows版のクライアントでは、設定中に「LAN 同期を有効にする」という項目があるので、このチェックボックスのチェックを外せば、LAN Syncを使わないように出来る。
CLI版でコレに相当する設定をするには、Dropbox自身が用意しているスクリプトを使えばOK。

このページから、適当な場所に"dropbox_set_lansync.py"をダウンロードしてきて、

root@dropbox:~# python2.7 dropbox_set_lansync.py off

と実行した後に、必ずDropboxを再起動。これで、LAN Syncが無効になります。
Dropboxの設定はユーザごとに持っている(~/.dropbox/の下に格納されている)ので、同じマシン上で複数ユーザがDropboxを起動している場合は、ユーザごとに"dropbox_set_lansync.py off"を実行して、それぞれ再起動することを、お忘れなく。

これで、同じVPSサービスの同じネットワークセグメントにいるユーザに迷惑をかけずにDropboxが使えるようになります。
心当たりのある方は、せひとも設定をしていただきたいと思う次第。

トラックバック(1)

うちのサーバへのアクセス解析を見ていると、Dropbox関連のエントリー(これとかこれ)へのアクセスが多いようで、機にしてくれる人が増えてきているんだろう... 続きを読む

コメントする