web-dev-qa-db-ja.com

UDP Wake-on-LanポートをIPTABLESでブロードキャストIPに転送するにはどうすればよいですか?

自宅の一部のLANコンピューターにWake-on-Lanをセットアップしようとしていますが、UDPポート(7または9が最も一般的)を開いて、すべての要求をブロードキャストIPに転送する必要があるようです。私の場合は192.168.1.255です。

問題は、ルーターがブロードキャストIPに何も転送できないことです。

Telnet経由でルーターに接続でき、このルーターはIPTABLESを使用しているようですが、その方法や方法についてはよくわかりません。

誰かが私がやりたいことをするための適切なiptablesコマンドで私を助けてくれますか?また、それが機能しない場合は、すべてを元に戻すコマンドもいいでしょう。

最後に、ルーターを再起動すると、手動で追加されたiptablesエントリが保持されますか、それとも毎回実行する必要がありますか?

3
rfgamaral

このStackExchangeトピックで言及されているツールsocatを使用した優れたソリューションがあります。

DPユニキャストパケットをブロードキャストに変換しますか?

私はこのトピックの専門家ではないので、詳しく説明することはできません。引用することしかできません。このソリューションは私にとってはうまくいきました。

Red Tuxhttps://serverfault.com/a/267343/323199 )で言及されている解決策は機能せず、iptablesはパケットをブロードキャストします。これは、前述のStackExchangeトピックで説明されています。

1
elboulangero
# iptables -A PREROUTING -t nat -p udp --dport 6  -d <original destination> -j DNAT --to-destination 192.168.1.255

これにより、宛先のWOLパケットが取得され、ネットワークのブロードキャストに再ルーティングされます。

また、Red Hat派生システムを使用している場合は、を使用してiptablesエントリを保存する必要があります。

# service iptables save
1
Red Tux

一部のルータ(Cisco)は、ダイレクトUDPブロードキャストを転送できます。

バージョン5.0頃以降のLinuxカーネルはこれを行うことができます。特定のネットワークインターフェイスのパラメータを指定する必要があります。

Sudo sysctl -w net.ipv4.conf.eth1.bc_forwarding=1

(注:オプションnet.ipv4.conf .all。bc_forwardingが機能しないようです)

このパラメータをint/etc/sysctl.confに保存できます

0
Yury Pavlov