Na minha máquina, quero que apenas 50% dos pacotes recebam.
Estou trabalhando no centOS 5.5.
Por isso eu procurei na net. Eu tenho IPtables. Eu usei patch aleatório de IPtables.
Comando
sudo iptables -A INPUT -p icmp --icmp-type echo-request -m random --average 50 -j DROP
Resultado
iptables v1.3.5: Couldn't load match 'random':/lib64/iptables/libipt_random.so: cannot open shared object file: No such file or directory
Try 'iptables -h' or 'iptables --help' for more information.
Mas acima, mostra que essa biblioteca está faltando.
Então, como posso soltar 50% dos pacotes do total. Por favor, corrija meu método acima ou sugira um novo.
Diga-me como adicionar essas bibliotecas ao pacote IPtables existente. [Eu tentei, mas essas bibliotecas não são encontradas na internet]
Editar nº 1
Eu ainda preciso de log para os pacotes descartados, então eu mudei meu conjunto de regras iptables da seguinte forma:
iptables -L -n -v
output é [isto está sendo executado no sistema 1]
Chain INPUT (policy ACCEPT 1875K packets, 114M bytes)
pkts bytes target prot opt in out source destination
23 2392 random_drops icmp -- * * 0.0.0.0/0 0.0.0.0/0 statistic mode random probability 0.500000
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2121K packets, 206M bytes)
pkts bytes target prot opt in out source destination
Chain random_drops (1 references)
pkts bytes target prot opt in out source destination
23 2392 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix 'dropped randomly: '
23 2392 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Em seguida, executo um script (esse script está sendo executado no sistema 2 em duas instâncias para criar mais tráfego)
while [ 1 ]; do
rsh a.b.c.d pwd;
done
em dois sistemas. Mas não há log formado.
- A permissão / var / log / messages é -rw ------- root: root.
- / var / log / syslog não está presente.
O que estou perdendo?