J'ai deux sources Syslog qui arrivent sur le port 514 et je veux les transférer vers deux ports différents en fonction de l'IP source (pour un serveur Graylog).
Je suis en mesure de tout transférer sur ce port vers un autre port local.
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p udp --dport 514 -j REDIRECT --to-port 1514
COMMIT
Mais si j'essaie de filtrer en fonction de la source IP, rien ne semble se produire, tout continue à aller sur le port 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
Toute aide serait heureusement appréciée, car je suis sûr que je dois rater quelque chose de très évident.
Assurez-vous de mettre la règle dans le bon tableau et la bonne chaîne. Je me battais avec ce même scénario hier avec iptables. Essayez de faire une capture de paquet pour vous assurer que les paquets entrent comme vous le croyez avec tcpdump "tcpdump -s0 -w port 514". Vous pouvez également configurer la journalisation des paquets par iptables pour vérifier la chaîne utilisée par AMD. Inspectez les règles en cours et les arguments iptables en ligne de commande avec "iptables -nL" et "iptables -S"
https://commons.m.wikimedia.org/wiki/File:Netfilter-packet-flow.svg