iptablesルールはインターネットアクセスのブロックを解除し、3600秒後に再度ブロックします。

iptablesルールはインターネットアクセスのブロックを解除し、3600秒後に再度ブロックします。

私は息子の端末から時々インターネットにアクセスできるようにするためにこれを行います(デフォルトでは無効になっています)。

./unblockinternet.sh
<enter password>

次のスクリプトを使用してください。

su -c "iptables -D OUTPUT -m owner --uid-owner son -j REJECT"

1時間後にネットワークを自動的に再ブロックするにはどうすればよいですか?(すでに再起動後にユーザーに対して再ブロックしていますが、son3600秒後もブロックしたいと思います。)

su -c "iptables -A OUTPUT -m owner --uid-owner son -j REJECT"より正確には、パスワードを入力せずに3600秒後に実行するようにタイマーを追加するにはどうすればよいですか?どうやら私はしません。正確に3600秒後、彼の端末が現れた。

ベストアンサー1

使用できるat:

sudo at next hour -f myiptablesscript

アクセスを無効にするコマンドはどこにmyiptablescriptありますか?または、次の行にあります。

sudo at next hour -f /dev/stdin <<< "iptables -A OUTPUT -m owner --uid-owner son -j REJECT"

組み合わせることができますやるそしてブロックする2行のスクリプトで書かれています:

#!/bin/bash
iptables -D OUTPUT -m owner --uid-owner son -j REJECT
at next hour -f /dev/stdin <<< "iptables -A OUTPUT -m owner --uid-owner son -j REJECT"

実行権限を使用してこのスクリプトを保存すると、unblockinternet次のように呼び出すことができます。

sudo ./unblockinternet

これにより、ブロックルールがすぐに削除され、復元されるまで1時間待機します。

おすすめ記事