Rsyslog pour diriger les messages du journal vers l’hôte syslog local sur le port 5000 à l’aide de TCP

J’ai configuré le filtre ci-dessous pour rsyslog afin de diriger quelques messages SSH vers un port TCP 5000 spécifique sur le système local, de sorte que le service exécuté sur le 5000 traitera davantage les messages SSH.

if $fromhost-ip == '127.0.0.1' and ( ($msg contains 'SSH') and ($msg contains 'Test') ) then @@127.0.0.1:5000 

Tout semble aller bien, mais les messages ne sont pas redirigés vers le port 5000 et si nous dirigeons les messages vers le port UDP, cela fonctionne correctement.

Vous trouverez ci-dessous le filtre des messages dirigés vers le port UDP.

 if $fromhost-ip == '127.0.0.1' and ( ($msg contains 'SSH') and ($msg contains 'Test') ) then @127.0.0.1:5000 

Pourriez-vous s’il vous plaît faites le moi savoir, pourquoi le port TCP ne fonctionne pas et le port UDP fonctionne.

Je pense que vous pouvez utiliser le tunneling pour cela. Par exemple

 ssh username@serverAddress -L 5000:11.22.33.44:80 # username - username on server # serverAddress - server address # 8080: - port on the local machine that will be opened on loopback interface (127.0.0.1) # 11.22.33.44 - IP address of the server that we'll create a tunnel to using SSH 

Regardez ici pour plus d’informations: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-tunneling-on-a-vps

J’espère que ça aide!

Peut-être vous décidez d’utiliser RELP? ( https://en.wikipedia.org/wiki/Reliable_Event_Logging_Protocol )

Comme décrit à https://linux.die.net/man/5/rsyslog.conf

vous devez remplacer votre “then @ 127.0.0.1: 5000” par “alors: omrelp: 127.0.0.1: 5000”