私たちの大学のローカル ネットワークには、ローカル IP を持つコンピューターが多数あり、トラフィックを送受信するゲートウェイまたはサーバーがあり、静的 IP を持っています。そのため、そのネットワークから離れていて、そのネットワーク内のコンピューターにアクセスしたい場合、そのネットワーク内のコンピューターの MAC アドレスとローカル IP、およびそのネットワークの静的ライブ IP がわかります。
私のシステムには Ubuntu が入っています。システムをローカルで起動することはできますが、次のことも知りたいです。
- インターネット経由でそれをするにはどうすればいいですか?
- そのネットワーク内のシステムに ping を実行するにはどうすればよいでしょうか?
- このような状況でポート転送を行うにはどうすればよいですか? または、ルーターでポートを転送する必要がない方法はありますか?
私は試したこれしかし、それは機能しません!
答え1
Wake-On-LANを使用して送信されるマジックパケットはインターネット経由で送信されないこのパケットは、たとえばリモート ログインを通じて、LAN 内のコンピューターの 1 つから送信する必要があります。
大学のLANのルーターやゲートウェイはNATゲートウェイへの管理アクセス権(ポート転送を構成するなど)がない限り、または LAN 上のマシンの 1 つにログインできない限り、NAT の背後にあるマシンにアクセスすることはできません。
ネットワークが IPv6 を使用している場合は、NAT を回避できます。IPv6 の NAT は一般的に使用されていない (使用すべきではない) ためです。ただし、これでもマジック パケットの送信には役立ちません。
答え2
ゲートウェイに SSH 接続できる必要があります。そこから、ネットワーク カードがサポートしていれば、マシンの電源をオンにすることができます。
まず、ネットワークカードがwakeonlanをサポートしていることを確認します。ターゲットマシンから、
sudo aptitude install ethtool
sudo ethtool eth0
の出力ethtool
に のような行が含まれていればSupports Wake-on: g
、問題ありません。次に、マシンを設定してこれを許可するようにします。
sudo nano /usr/bin/wakewol
作成したファイルに次の行を追加します。
#!/bin/bash
ethtool -s eth0 wol g
ファイルを保存して実行し、sudo chmod 755 wakewol
実行可能にします。次に、
sudo nano /etc/network/interfaces
ファイルの末尾に次の行を追加します。
post-down /usr/bin/wakewol
これで、マシンは wakeonlan をサポートするはずです。ただし、最初にゲートウェイ サーバーにログインしないと、これを行う方法はありません。次のようになります。
rana@local $ ssh rana@gateway
rana@gateway $ wakeonlan 01:02:03:04:05:06
01:02:03:04:05:06
電源をオンにしたいマシンの実際の MAC アドレスに変更するだけです。これはwakeonlan
、ゲートウェイ サーバーにがすでにインストールされていることを前提としています。
ゲートウェイで実行されるwakeonlan
コマンドを渡すことで、これをさらに簡素化できます。ssh
ssh rana@gateway wakeonlan 01:02:03:04:05:06