Есть ли у NetworkManager режим ограниченной полосы пропускания?

Как только я выхожу в интернет через мою мобильную точку доступа 3G, все работающие программы с радостью начинают загружать обновления (например, Gwibber, Thunderbird, Update Manager...) и вписываются в мою квоту трафика. Есть ли способ активировать сетевое соединение, но сообщать об этом только определенным программам (например, Firefox, если я просто хочу быстро что-то найти)? Обратите внимание, что я не ищу ограничения пропускной способности, я просто хочу предотвратить автоматическое поведение "ох, я в сети, давайте получим некоторые данные".

РЕДАКТИРОВАТЬ: я уже получил два полезных ответа, однако я все же хотел бы добавить некоторые пояснения: что делает NetworkManager, чтобы сообщить запущенным программам, что они теперь онлайн? Я предполагаю, что это своего рода сообщение DBus. Могу ли я предотвратить это от отправки?

3 ответа

Решение

Один из способов сделать это - использовать брандмауэр. Ubuntu поставляется с собственным Firewall UFW. Возможно, вы захотите установить версию с графическим интерфейсом, просто чтобы сделать это проще. Чтобы установить его, просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

sudo apt-get install gufw

Когда он закончится, просто введите gufw в командной строке терминала и, когда приложение откроется, нажмите "Изменить", а затем "Добавить правило".

введите описание здесь

Когда откроется это окно, выберите "Запретить" -> "Нет" -> "Приложение" ->, а затем выберите нужное приложение. Для управления командной строкой через брандмауэр, см. UFW

введите описание здесь

Если вы хотите заблокировать, например, DropBox, вы можете заблокировать все IP-адреса сети Dropbox, перечисленные в ARIN, как показано на рисунке ниже.

введите описание здесь

И вы можете видеть, что это говорит о подключении..

введите описание здесь

Это может быть достигнуто, если мы ограничиваем приложение от конфигурации AUTOMATIC PULL. Пример для диспетчера обновлений

введите описание здесь

Точно так же вы можете настроить для других приложений, таких как:

Отключение автоматического обновления в Firefox

Введите about: config в адресную строку и нажмите Enter.

Вы должны получить страницу с попыткой напугать вас сообщением, начинающимся с "Это может привести к аннулированию гарантии!", Просто нажмите "Я буду осторожен, обещаю!".

Затем в поле Фильтр введите app.update.enabled. Для него должно быть установлено значение true, дважды щелкните строку, чтобы установить значение false.
Отключение автоматического обновления для Thunderbird
В верхнем меню нажмите Сервис-> Параметры, чтобы открыть окно "Параметры", затем нажмите "Дополнительно" и выберите вкладку "Общие". Нажмите на редактор настроек

Вы должны получить страницу с попыткой напугать вас сообщением, начинающимся с "Это может привести к аннулированию гарантии!", Просто нажмите "Я буду осторожен, обещаю!".

Затем в поле Фильтр введите app.update.enabled. Для него должно быть установлено значение true, дважды щелкните строку, чтобы установить значение false.

Обновления в предпочтительной сети

Ссылаясь на man-страницы Network Switcher
У вас могут быть настроены определенные команды, когда вы находитесь на 3Ghotspot/Homewifi. Для экземпляра для обновлений Thunderbird вы можете изменить prefs.js(специфичный для профиля пользователя) или syspref.js(глобально), чтобы включить опцию обновления.

Так что ваш будет выглядеть как /etc/network/interfaces

# Home Wifi
iface homewifi inet static
  # Set the DNS entry
  dns-domain something.net.com
  dns-search some.net yes.something.net www.somesite.com
  # Set the sysprefs.js entries for update.
  script /usr/sbin/which_edits_the_sysprefs.sh

Мы можем добавить все, что хотим, чтобы то же самое выполнялось в конкретной сети.

Чтобы ответить на мой отредактированный вопрос самостоятельно: NetworkManager действительно отправляет сигнал DBus, который выглядит следующим образом:

signal sender=:1.6 -> dest=(null destination) serial=2031 path=/org/freedesktop/NetworkManager; interface=org.freedesktop.NetworkManager; member=StateChanged
uint32 70

Программы, поддерживающие NM, слушают это сообщение и реагируют на него, начиная использовать сеть. Нет способа предотвратить это без взлома на NM напрямую AFAICT.

Другие вопросы по тегам