Coś mi nie idzie z tym szyfrowaniem za bardzo. 
Na debianie zrobiłem wszystko jak trzeba, doinstalowałem pakiet rsyslog-gnutls i dodałem poniższe linijki do tych co były w pliku /etc/rsyslog.conf :
#################
#### MODULES ####
#################
# make gtls driver the default
$DefaultNetstreamDriver gtls
# certificate files
$DefaultNetstreamDriverCAFile /etc/CA/keys/ca.crt
$DefaultNetstreamDriverCertFile /etc/CA/keys/192.168.1.150.crt
$DefaultNetstreamDriverKeyFile /etc/CA/keys/192.168.1.150.key
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerStreamDriverMode 0 # run driver in TLS-only mode
$InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated
$InputTCPServerRun 514 # start up listener at port 514
Na routerze pierw zainstalowałem rsyslog-ng3 i jego konfiguracja w pliku /etc/syslog-ng.conf wygląda jak poniżej:
@version:3.0
options {
chain_hostnames(off);
flush_lines(0);
keep_hostname(yes);
log_fifo_size(256);
log_msg_size(1024);
stats_freq(0);
use_fqdn(no);
time_reopen (300);
long_hostnames(on);
# use_dns (no);
# create_dirs (no);
# perm(0640);
# group("log");
# ts_format(iso); #make ISO-8601 timestamps
};
source s_src {
internal();
unix-stream("/dev/log");
};
source s_localhost {
tcp(ip(127.0.0.1) port(514));
udp(ip(127.0.0.1) port(514));
};
source s_kernel {
file("/proc/kmsg" program_override("kernel"));
};
destination d_messages {
file("/var/log/messages");
};
destination d_network {
# tcp( "192.168.1.150" port(514) );
tcp( "192.168.1.150" port(514)
tls( ca_dir("/etc/syslog-ng.cert")) );
};
log {
source(s_src);
source(s_localhost);
source(s_kernel);
destination(d_messages);
destination(d_network);
};
W sumie nie wszystkie opcje jeszcze obadałem ale jeśli w "destination d_network" zahaszuję te dwie linijki i odhaszuję tę co jest zakomentowana, wtedy przesyłanie logów działa. Natomiast jeśli odpalę sysloga na takich ustawieniach jak powyżej, to co prawda komunikacja działa, logi są przesyłane ale wygląda to tak:
Oct 9 10:03:18 red_viper.mhouse.lh #026#003#001#001!#001#000#001#035#003#003»Ikløe`(õ#004©EMW$§¨013þL#023Ļ#000#000À0À,À(À$À#024À
Oct 9 10:03:18 red_viper.mhouse.lh #000£#000#000k#000j#0009#0008À2À.À*À&À#017À#005#000#000=#0005À/À+À'À#À#023À#011#000¢#000#000g#000@#0003#0002#000#000À1À-À)À%À#016À#004#000#000<#000/#000À#021À#007À#014À#002#000#005#000#004À#022À#010#000#026#000#023À#015À#003
Oct 9 10:03:18 red_viper.mhouse.lh #000#025#000#022#000#011#000#024#000#021#000#010#000#006#000#003#000ÿ#002#001#000#000m#000#013#000#004#003#000#001#002
Oct 9 10:03:18 red_viper.mhouse.lh #0004#0002#000#016#000#015#000#031#000#013#000#014#000#030#000#011
Certyfikaty były generowane przy pomocy easy-rsa na debianie -- wszystkie są bez haseł. Z tego co wyczytałem to jeśli chodzi o konfigurację syslog-ng to trzeba przesłać na klienta (w tym wypadku router) certyfikat CA i podlinkować go do nazwy jego hasha. Tak zrobiłem:
# ls -al /etc/syslog-ng.cert/
drwxr-xr-x 2 root root 4096 Oct 9 03:53 .
drwxr-xr-x 1 root root 4096 Oct 9 03:53 ..
-rw-r--r-- 1 root root 2447 Oct 9 03:52 ca.crt
lrwxrwxrwx 1 root root 8 Oct 9 03:53 ef2fca17.0 -> ./ca.crt
Sam hash został wygenerowany zgodnie z instrukcjami na http://www.balabit.com/sites/default/fi … lient.html
I w sumie nie wiem czy to szyfrowania działa czy nie, czy tylko debianowy rsyslog nie potrafi tego odszyfrować. 
Próbowałem też wywalić syslog-ng3 i zainstalować na jego miejsce syslog-ng ale ten chyba nie obsługuje szyfrowania, bo nie chciał przyjąć w configu wpisu od:
tls( ca_dir("/etc/syslog-ng.cert")) );
Jakiś pomysł?