web-dev-qa-db-ja.com

BitTorrent Sync接続を特定のネットワークに制限する

クライアントソフトウェアを使用して、BitTorrent Sync接続を特定のネットワークに制限することは可能ですか?現在私が思いつくことができる最も近いものは、ファイアウォールを使用して各クライアントに課せられたIP制限です。これは、anyクライアントがファイアウォールの制限の外に何らかの形で挑戦する場合を除いて、うまく機能するようです。

3
Squeak

Linuxを使用している場合、iptablesには「所有者」と呼ばれる一致があり、データを送信するプロセスのUIDまたはGIDに基づいて特定のルールを適用できます。

例えば:

  • IPまたはCIDRネットワークアドレスをファイルに入れます(1行に1エントリ)
  • btsyncという新しいユーザーを作成します
  • 以下を実行します。

    #/bin/bash
    
    RESTRICTED_IP_FILE="/some/file"
    
    Sudo iptables -N btsync_filter
    Sudo iptables -I OUTPUT -m owner --uid-owner btsync -j btsync_filter
    
    while read ip; do 
        [[ -n "$ip" ]] && Sudo iptables -A btsync_filter -d $ip -j DROP
    done < $RESTRICTED_IP_FILE
    
    Sudo -u btsync btsync
    

これは、ユーザーとしてbtsyncを実行しますbtsyncそして、制限されたIPに行くそのプロセスからのすべてのパケットがドロップされます。

3
hololeap