我目前正在尝试创建一个脚本,该脚本将在一个新的 IP 范围内启动一个 vpn 服务器。我有多个服务器,因此如果 2 个服务器使用相同的范围,则可能会发生冲突。
因此,我想随机化服务器启动的 IP 范围。理想情况下,我希望在生成的配置文件中以下列方式随机化 IP;
ifconfig 10.xxx.yyy.1 255.255.255.248
server 10.xxx.yyy.0 255.255.255.248
我使用的 shell 非常受限制,因此无法使用 od 等许多实用程序来创建随机数。但是 awk 是可用的,所以我认为这将是合适的。我尝试创建一个命令,该命令将用 0 到 255 之间的随机数替换 xxx 和 yyy,但我没有成功。谁能帮我这个?
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 执行预期的功能吗?或者,任何简化的随机数脚本也足够了,但是由于缺乏可用的 shell 实用程序,我不希望这种工作。
提前感谢您的帮助!