ネットワークカードを介して通信するマシンの機能を「オフ」にして、すべてのネットワークを効果的にシャットダウンするbash/Shellスクリプトを作成したいと思います。コマンドラインから:
# To turn all networking off
sh networking.sh OFF
# Then to turn it back on
sh networking.sh ON
これを行うために私が考えることができる唯一の方法は、IPTABLES
を介してポートレベルで行うことですが、これまで実験したことがないので、正しい道を進んでいるのか、それとも私が基地から離れたところにいます。前もって感謝します。
ほとんどのLinuxフレーバーには、これを行うためのスクリプトがすでに付属しています。それらは起動/シャットダウンプロセスの一部です。
Fedora/RHELフレーバーでは、スクリプトは通常/etc/init.d/
を介してアクセスされます。したがって、「/etc/init.d/network stop
」を実行してネットワークを停止することができます。開始するには、「停止」を「開始」に置き換えます。
コマンドラインから、これらのフレーバーの設定は、service
コマンドを使用することです:「service network stop
」または「service network start
」。
これらのコマンドはrootユーザーに限定されています。通常のユーザーにこのようなことを許可しないことをお勧めします。
あなたが言ったように、あなたはこれのためにiptablesを使うことができます
これらのルールは、すべての着信パケットと発信パケットをドロップします
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
設定されたルールを確認するには
iptables -L
これらのルールを削除するには
iptables -D INPUT -j DROP
iptables -D OUTPUT -j DROP