sad*_*ave 5 environment-variables snort
我正在设置一个包含 snort 的大规模部署映像。由于我不知道每个图像将驻留的网络地址范围,因此我考虑使用环境变量来保存网络范围并在snort.conf
文件中使用此环境变量来设置HOME_NET
.
但这就是一切都分崩离析的地方。这能做到吗?如何?本质上,我设想的是:
$ export SYS_HOME_NET=192.168.1.0/16
# snort.conf
ipvar HOME_NET %SYS_HOME_NET%
Run Code Online (Sandbox Code Playgroud)
显然,这行不通。有任何想法吗?
我的做法略有不同。假设为您提供 IP 范围的命令是
echo ipvar HOME_NET "$(/sbin/ip route | awk '/eth0/ && ++i==2 { print $1 }')"
Run Code Online (Sandbox Code Playgroud)
您可以编写一个启动的小包装脚本snort
:
#!/usr/bin/env bash
echo ipvar HOME_NET "$(/sbin/ip route | awk '/eth0/ && ++i==2 { print $1 }')" > ~/HOME_NET.conf
snort
Run Code Online (Sandbox Code Playgroud)
如果您将该文件另存为snort.sh
,使其可执行 ( chmod a+x snort.sh
) 并运行它,它将在启动之前~/HOME_NET.conf
使用正确的 IP 范围更新该文件,因此一切都应该按您的预期工作。snort
归档时间: |
|
查看次数: |
2628 次 |
最近记录: |