Como posso encaminhar de uma porta com base no IP de origem?

3

Eu tenho duas fontes de syslog que entram na porta 514 e desejo encaminhá-las para duas portas diferentes com base no IP de origem (para um servidor graylog).

Consigo encaminhar tudo nessa porta para outra porta local.

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p udp --dport 514 -j REDIRECT --to-port 1514
COMMIT

Mas se eu tentar filtrar com base no ip de origem, nada parece acontecer, mas tudo continua indo para a porta 1514.

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p udp -s $some_ip --dport 514 -j REDIRECT --to-port 1513
-A PREROUTING -p udp -s $some_ip --dport 514 -j REDIRECT --to-port 1514
COMMIT

Qualquer ajuda seria apreciada com prazer, pois tenho certeza que devo deixar algo muito óbvio.

    
por Spencer French 01.12.2016 / 13:42

1 resposta

2

Verifique se você está colocando a regra na tabela e na cadeia corretas. Eu estava lutando com esse mesmo cenário ontem com o iptables. Tente fazer uma captura de pacotes para ter certeza de que os pacotes estão chegando, como você acredita que estão com o tcpdump "tcpdump -s0 -w port 514". Você também pode configurar o log de pacotes do iptables para verificar por qual cadeia e porque as coisas estão fluindo. Inspecione as regras atuais e os argumentos da linha de comando do iptables com "iptables -nL" e "iptables -S"

link

    
por Kyle H 01.12.2016 / 15:07