Linuxサーバーを使用していないときにLANからスリープモードに切り替え、スリープモードに切り替えるにはどうすればよいですか?

Linuxサーバーを使用していないときにLANからスリープモードに切り替え、スリープモードに切り替えるにはどうすればよいですか?

最近、プライベートファイルサーバーとして使用するためにHPラックサーバーを購入しました。サーバーは現在私のベッドの下にあります。なぜなら、サーバーを置く場所がないからです。 (私は正確にはわからないので)とても大声で

私は一日の何時間も私のファイルにアクセスできる必要があり、私のサーバーの状況のた​​めに毎晩壁からサーバーをシャットダウンすること(明らかな理由なしに突然起動するのが好き)は実際にはオプションです。私はできます。本物サーバーの電源を常に入れることができますが、使用していないときはスリープモードに切り替えます。サーバーはDebianも実行します。

何らかの理由でこの設定ができない場合は、1日の特定の時間(または夜)にコンピュータをシャットダウンして朝に再起動するか、それに対応するアクションを取ることで満足できます。

私はLANウェイクアップ/スリープを使用する以外に、そのようなタスクを実行する方法についてほとんど知りません。

答え1

また、サーバーに管理プロセッサがあることを確認します(たとえば、HPのブランド名はiLO、Sun / Oracleのブランド名はILOM、Fujitsuのブランド名はIRMC)。

管理プロセッサは、システムの電源が入るたびに電源がオンになっている小さな独立したプロセッサであり、ネットワークインターフェイスです。サーバーの主要部分にリモートでアクセスし、必要に応じてサーバーの電源をオフにするために使用できます。サーバーにこの機能があり、それが機能できる場合は、Wake on LANは必要ありません。単に管理プロセッサ(通常はWebブラウザを使用)に接続し、サーバーの主要部分に電力を供給するように指示するだけです。仕える人。

答え2

ネットワークカードとマザーボードがWOL(Wake on LAN)の使用をサポートしていることを確認してくださいethtool <interface>

毎日午後5時にコンピュータをシャットダウンするクローンの作成

17をオフにしたい時間に変更してください。

/etc/crontab に以下を追加します。

0 17 * * * root shutdown -h now

次に、「魔法のパケット」を送信するには、ネットワークに2番目のコンピュータが必要です。

2 台目のコンピュータでは、wakeonlan <mac address>これを使用して最初のコンピュータを起動できます。

上記と同じ方法を使用して、wakeonlanをcronに入れます。この例では午前9時を使用します。 /etc/crontab に以下を追加します。

0 9 * * * root wakeonlan `<mac address of your other server>`

また、ルーターを確認してください。 Wake-on-LANパケット転送もサポートできます。

答え3

私のサーバーが指示どおりに動作するように多くの試練と苦しみを経験した後、騒々しい音の問題を解決するための最良の方法は、サーバーをガレージに置き、寒い夜に水の損傷が発生しないことを望むことです。サーバーは年中無休で運営されています。)

実際の技術的な助けをくださった皆さんに感謝しますが、私が望む理想的な状況は成されないようです。

答え4

私は同じ問題があり、いくつかの作業の後に解決策を得ました。

Wake on LANにはOpenWRTルーターを使用します。エーテルウェイクキュー。新しい接続パケットをnetfilterキューに送信するファイアウォールルールがあります。このキューはetherwake-nfqueueに接続されています。このユーザースペースツールは、WoLパケットをサーバーに送信して再接続できるようになるとパケットを解放します。これを達成するための良いチュートリアルは次のとおりです。https://github.com/mister-benjamin/etherwake-nfqueue-openwrt

停止の場合、私が望むことを実行するプログラム、つまり私のサーバーの特定のポートへのネットワーク接続がないときに停止するプログラムを見つけることができません。たとえば、Nextcloudインスタンスに中断なくアクセスしたいのですが、他の接続は気にしません。私は契約ツールを使用したアクティブなネットワーク接続の確認、fcntlを使用したアクティブなロック、およびプロセスの実行をサポートする小さなPythonスクリプトを書くことにしました。誰もが興味があれば、GitHubにスクリプトをアップロードしました。https://github.com/7ritn/suspens_watch

22、80、443などの標準ポートでトラフィックが検出されたときにサーバーを起動させる場合は、デフォルトの脆弱性をテストする攻撃者がサーバーを頻繁に起動することを期待する必要があります。

関連情報