Как отключить интернет-соединение для одного процесса?

Я знаю PID определенного процесса и хочу отключить доступ в Интернет для этого процесса и только для этого процесса, чтобы другой процесс мог получить доступ к Интернету.

Есть ли способ сделать это?


Я погуглил кое-что и нашел способ отключить Интернет для исполняемых программ. Но мне нужно, например, чтобы два работали chrome, один из которых имел доступ к Интернету, а другой нет.

2
задан 31 January 2013 в 18:09

4 ответа

У меня только что возник тот же вопрос, и я нашел действительно хорошее решение на ubuntuforums.org

Резюме

  • добавить группу " no-internet "и добавьте в него своего пользователя

    sudo addgroup no-internet
    sudo adduser $USER no-internet
    
  • добавьте правило iptables, чтобы запретить этой группе доступ к сети:

    iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
    
  • запустите процесс, к которому вы не хотите иметь доступ в Интернет, как с помощью sg (выполните команду как другой идентификатор группы):

    sg no-internet "process command line"
    
0
ответ дан 31 January 2013 в 18:09

Я бы порекомендовал использовать правила брандмауэра для блокировки этой программы. Если вы можете изолировать номера портов, которые использует программа, вы можете заблокировать трафик на этих портах. Вы также можете настроить правила брандмауэра для каждого процесса с помощью SELinux или другого программного обеспечения для обеспечения безопасности.

https://help.ubuntu.com/community/Gufw

Если вы ищете что-то более прямое или сложное, вы можете настроить IPTables как [ 111] документировано здесь .

0
ответ дан 31 January 2013 в 18:09

Для себя я написал предварительную загрузку, которая контролирует системный вызов connect.

Каждое соединение IPv4 и IPv6, кроме локального (127.0.0.1 и: :), сбрасывается по таймауту.

Я проверил их с помощью различных инструментов, таких как telnet, wine, apt-get ...

Вы можете скачать источник здесь .

0
ответ дан 31 January 2013 в 18:09

Можно попробовать следующее:

  • unshare.  Seems, чтобы хорошо работать для терминальных программ.   я не могу заставить это работать с X11.

    unshare -r -n ping google.com
    
  • Firejail.   Вы, возможно, придется играть с конфигурацией, чтобы заставить это работать.

    firejail --noprofile --net=none firefox
    
0
ответ дан 2 December 2019 в 01:49

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

Похожие вопросы: