correspondência de cadeia iptables funciona no host da VM, mas não é convidado

2

Foram testadas algumas regras de correspondência de strings iptables em máquinas virtuais Linux KVM com uma interface em ponte (Fedora 12 & 13 de 64 bits), por exemplo, uma regra na cadeia INPUT antes de outras regras da porta 80

-m string --algo bm --icase --string "phpMyAdmin" -j LOG --log-prefix "teste phpmyadmin"

No entanto, nenhum tráfego é registrado, apesar do fato de que vários comandos GET para "phpMyAdmin" estão atingindo os logs do servidor.

Por outro lado, se eu colocar a mesma regra na cadeia FORWARD no host KVM antes da regra -m physdev --physdev-is-bridged -j ACCEPT , essas solicitações GET serão logado com sucesso.

Alguém sabe por que isso pode ser, ou pode ser um bug no driver virtio LAN para as máquinas convidadas? Eu entendo que existe uma possibilidade de que a requisição GET possa ter mais de um pacote, no entanto eu verifiquei com tcpdump capturas que este não é o problema.

[edit] E também para mencionar que outras regras na cadeia INPUT de convidados estão funcionando como esperado. Tiveram problemas apenas com as regras de correspondência de string que não funcionam.

    
por David Cartwright 15.08.2010 / 04:57

1 resposta

-1

Eu tive um problema semelhante com o VirtualBox, a correspondência de seqüência de caracteres não estava acontecendo na entrada. Mais tarde, descobri que a string correspondente tem que ser codificada em HTML; então, se você tem um espaço, você precisa colocar o HTML codificado para o espaço, o mesmo vale para as barras também.

Sugiro usar o tcpdump; isso me ajudou a depurar esse problema.

    
por 06.12.2010 / 14:57