Я пытаюсь настроить клиент-сервер rsyslog для прослушивания tcp-сообщений с портом, отличным от 514, однако это не работает. Только при использовании 514 принимает сообщения. Я использую EC2 vms.
input(type="imtcp" port="20514" ruleset="test")
ruleset(name="test") {
action(type="omfile" file="/var/log/test")
}
Я открываю все порты для tcp (используя группу безопасности) и запускаю тесты как с помощью утилиты nc (управление отправкой и получением сообщений tcp), так и gnsutls (gnutls-serv и gnutls-cli, и он успешно завершил рукопожатие).
nc 10.0.0.51 20515 # client
nc -l 20515 # server
sudo gnutls-cli -d 5 10.0.0.51 -p 20514 --x509cafile="/etc/rsyslog.d/ca.pem" --x509keyfile="/etc/rsyslog.d/client-key.pem" --x509certfile="/etc/rsyslog.d/client-cert.pem"
sudo gnutls-serv --priority=NORMAL -p 20514 --x509cafile="/etc/rsyslog.d/ca.pem" --x509keyfile="/etc/rsyslog.d/server-key.pem" --x509certfile="/etc/rsyslog.d/server-cert.pem"
Итак, порты открыты, почему может быть, что rsyslog на EC2 не может прослушивать порт, отличный от 514?
Я провел полный тест AWS (локальные виртуальные машины), и он работает без сбоев.
Мне удается решить вопрос следующим образом:
Проблема возникла из-за SELinux. Должен справиться. например sudo semanage порт -a -t syslogd_port_t -p tcp 20514