Linuxアプリケーションのインターネットアクセス制限

以前にインターネットアクセスをブロックしていたプログラムを実行する必要がある場合があります。 この問題を解決するには、かなり簡単なトリックがあります。



したがって、アイデアは、アプリケーションの起動時に特別なグループIDを設定することです。これは、netfilterのアクセスブロック信号です。



ステップ1.マーカーグループを作成し、それに自分を追加する



グループを作成します(この場合、グループはnoinet



と呼ばれnoinet



)。

sudo groupadd noinet







現在のユーザーを追加します。

sudo gpasswd -a `id -un` noinet









手順2. iptablesのルールを作成します。このルールは、ネットワークインターフェイスが起動するたびに実行されます



ディレクトリ/etc/network/if-pre-up.dにファイルを作成します

sudo vim /etc/network/if-pre-up.d/inet_access_blocking_rule







次の内容で:

#!/bin/bash

iptables -A OUTPUT -m owner --gid-owner noinet -j DROP







実行可能にすることを忘れないでください:

sudo chmod +x /etc/network/if-pre-up.d/inet_access_blocking_rule







ステップ3.属性グループをセットアップする始動スクリプトを作成する



/ usr / local / binにスクリプトを配置します

sudo vim /usr/local/bin/noinet







スクリプトの内容は単純です:

#!/bin/bash

sg noinet "$*"







繰り返しますが、実行可能にすることを忘れないでください

sudo chmod +x /usr/local/bin/noinet







ステップ4.システムをリブートする



確かにこれは簡単にできますが、箱から出してすぐに使用できる場合、状況は次のとおりです。



sudo service networking restart



レポート:

再起動:不明なインスタンス:



sudo initctl restart networking



レポート:

initctl:不明なインスタンス:



sudo invoke-rc.d networking restart



レポート:

不明なインターフェースを無視eth0 = eth0



さらに、ユーザーをグループに追加して有効にするには、ログインする必要があります(少なくともDE- sudo restart gdm



)。

一般に、再起動するだけですべての設定が完了し、有効になります。



使用する



使い方は簡単です:

noinet ping habrahabr.ru





noinet firefox







ハードコアLinuxoidsステップ3は、この方法をすべて省略して使用できます:)

sg noinet "ping habrahabr.ru"





sg noinet "firefox"






All Articles