Характеристика воздействия iptables

Вот версия с использованием awk, которая не требует промежуточного файла.

#!/bin/awk -f
BEGIN {FS="\t"; OFS="\t"}
{
    split($9,A,"-");
    S1 = sprintf("%d %d %d 0 0 0",A[3],A[1],A[2])
    D1 = strftime("%B %d, %Y", mktime(S1))
    $9 = D1
    print
}
1
23.12.2015, 00:05
1 ответ

Современный процессор Core должен быть в состоянии справиться с этим.

Тем не менее, не помешает посмотреть, можно ли оптимизировать правила. Одна вещь, которая может помочь в зависимости от распределения IP-адресов, - разбить правила, например, на 8 частей:

iptables -N ourtable
iptables -N ourtable-000
iptables -N ourtable-032
iptables -N ourtable-064
iptables -N ourtable-096
iptables -N ourtable-128
iptables -N ourtable-160
iptables -N ourtable-192
iptables -N ourtable-224

iptables -A INPUT -p tcp --dport 12345 -j ourtable
iptables -A ourtable -s   0.0.0.0/3 -j ourtable-000
iptables -A ourtable -s  32.0.0.0/3 -j ourtable-032
iptables -A ourtable -s  64.0.0.0/3 -j ourtable-064
iptables -A ourtable -s  96.0.0.0/3 -j ourtable-096
iptables -A ourtable -s 128.0.0.0/3 -j ourtable-128
iptables -A ourtable -s 160.0.0.0/3 -j ourtable-160
iptables -A ourtable -s 192.0.0.0/3 -j ourtable-192
iptables -A ourtable -s 224.0.0.0/3 -j ourtable-224

iptables -A ourtable-000 -s 1.2.3.4 -j ACCEPT
...
iptables -A ourtable-000 -j DROP

iptables -A ourtable-032 -s 32.1.2.3 -j ACCEPT
...
iptables -A ourtable-032 -j DROP

# etc...

Таким образом, пакет будет проверен на 625 правил вместо 5000 (при условии, конечно, равномерного распределения адресов, что, вероятно, не так; вы можете настроить разделение всего адресного пространства соответствующим образом).

Я также предполагаю, что в вашем списке уже есть подсети (т.е. если вам нужно разрешить 172.18.0.0 до 172.18.0.7, вы замените это на 172.18.0.0/29). Если нет, проверьте наличие таких диапазонов. В Debian я использую утилиту netmask, чтобы посмотреть, что охватывает заданная сетевая маска:

$ $ netmask -r 172.18.0.0/29
 172.18.0.0-172.18.0.7      (8)
2
27.01.2020, 23:36

Теги

Похожие вопросы