以前にインターネットアクセスをブロックしていたプログラムを実行する必要がある場合があります。 この問題を解決するには、かなり簡単なトリックがあります。
したがって、アイデアは、アプリケーションの起動時に特別なグループ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.runoinet firefoxハードコアLinuxoidsステップ3は、この方法をすべて省略して使用できます:)
sg noinet "ping habrahabr.ru"sg noinet "firefox"