現在、新しい IP 範囲で VPN サーバーを起動するスクリプトを作成しようとしています。複数のサーバーがあるため、2 つのサーバーが同じ範囲を使用している場合、競合が発生する可能性があります。
したがって、サーバーが起動される IP 範囲をランダム化したいと思います。理想的には、生成された構成ファイルで次の方法で IP をランダム化したいと思います。
ifconfig 10.xxx.yyy.1 255.255.255.248
server 10.xxx.yyy.0 255.255.255.248
私が使用しているシェルは非常に制限されているため、乱数を作成するために od などの多くのユーティリティを使用できません。ただawkは使えるので、これで合っていると思います。xxx と yyy を 0 から 255 までの乱数に置き換えるコマンドを作成しようと試みましたが、うまくいきませんでした。誰でもこれで私を助けることができますか?
awk '{var = int(rand() * 256); var2 = int(rand() * 256); gsub(/xxx/, var ); gsub(/yyy/, var2 ) ; print}' /tmp/vpn.conf
このコマンドは、値を次のように変更します。
ifconfig 10.125.248.1 255.255.255.248
server 10.74.196.0 255.255.255.248
xxx と yyy の両方が同じである必要があるため、これは明らかに望ましくありません。
ifconfig 10.25.64.1 255.255.255.248
server 10.25.64.0 255.255.255.248
awk が意図した機能を実行するのを手伝ってくれる人はいますか? 別の方法として、単純化された乱数スクリプトでも十分ですが、利用可能なシェル ユーティリティがないため、これが機能することは期待できません。
助けてくれてありがとう!