我有一个脚本,用于构建 icinga2 的配置。网络很大,多个/13就很大。当我运行脚本时,我不断收到 RTTVAR 已增长到超过 2.3 秒,减少到 2.0 错误。我尝试提高 gc_thresh 并分解子网。我已经浏览了谷歌的一些信息,但似乎找不到解决办法。如果有人有任何想法,我将非常感激。我使用的是 Ubuntu 16.04
我的脚本:
# Find devices and create IP list
i=72
while [ $i -lt 255 ]
do
echo "$(date) - Scanning xx.$i.0.0/16" >> files/scan.log
nmap -sn --host-timeout 5 xx.$i.0.0/16 -oG - | awk '/Up$/{print $2}' >> files/ip-list
let i=i+1
done
我的/etc/sysctl.conf
# Force gc to clean-up quickly
net.ipv4.neigh.default.gc_interval = 3600
# Set ARP cache entry timeout
net.ipv4.neigh.default.gc_stale_time = 3600
# Setup DNS threshold for arp
net.ipv4.neigh.default.gc_thresh3 = 8192
net.ipv4.neigh.default.gc_thresh2 = 4096
net.ipv4.neigh.default.gc_thresh1 = 2048
编辑:添加主机超时 5 删除 -n
我建议您使用 ping 扫描。如果您想要“全面了解”您的网络,您可以使用
nmap -sP -n
相比
nmap -sn
稍微减少了一点时间,大家可以通过小例子来验证一下。
正如我在评论中所说,使用
--host-timeout
和 --max-retries
这会提高你的表现。