Назад | Перейти на главную страницу

Rsyslog отказывается войти через OpenVPN

Я пытаюсь перенаправить rsyslog с клиента на сервер через VPN.

У меня он уже работает через интернет-соединение (через eth0 на пограничный маршрутизатор), но хотел бы, чтобы он проходил через туннель OpenVPN, который проходит через ту же ссылку.

Я чередовал эти директивы в /etc/rsyslog.conf файл:

  1. *.* @@50.116.x.x:6514
  2. *.* @@172.31.0.1:6514

Я проверял пакеты с tcpdump port 6514 -nA и для директивы 1 Я вижу, как все пакеты системного журнала выходят и [на сервере] входят. Выполнение команды telnet 50.116.x.x 6514 от клиента подтверждает, что rsyslog слушает.

Однако когда я меняю директиву 1 для директивы 2 Я не вижу ничего распечатанного в tcpdump с обеих сторон. Бег telnet 172.31.0.1 6514 со стороны клиента подтверждает, что rsyslog тоже слушает по этому адресу.

Я побежал rsyslog -f/etc/rsyslog.conf -c3 -d на клиенте и не увидел очевидных проблем:

7144.035145795:b75f5b20: cfline: '*.*                   @@172.31.0.1:6514'
7144.035176137:b75f5b20:  - traditional PRI filter
7144.035191209:b75f5b20: symbolic name: * ==> 255

...snip...

7144.040606069:b75f5b20: rule 0x84deb90: rsyslog rule:
7144.040629321:b75f5b20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
Actions:
7144.040782140:b75f5b20: builtin-fwd: 172.31.0.1
    Instance data: 0x84debe8
7144.040816265:b75f5b20:    RepeatedMsgReduction: 0
7144.040837415:b75f5b20:    Resume Interval: 30
7144.040858498:b75f5b20:    Suspended: 0
7144.040880749:b75f5b20:    Disabled: 0
7144.040904527:b75aab70: testing filter, f_pmask 255
7144.040992291:b75f5b20:    Exec only when previous is suspended: 0

...snip...

7144.107980676:b6da9b70: --------imuxsock calling select, active file descriptors (max 3): 3 
7144.331986934:b75aab70:  172.31.0.1:514/tcp
7144.332023986:b75aab70: TCP sent 87 bytes, requested 87

...snip...

7144.332313940:b75aab70: Called action, logging to builtin-fwd
7144.332321268:b75aab70: extend buf to at least 146, done 256
7144.332325242:b75aab70:  172.31.0.1
7144.332328964:b75aab70:  172.31.0.1:6514/tcp
7144.332336989:b75aab70: TCP sent 146 bytes, requested 146
7144.332341371:b75aab70: testing filter, f_pmask 0
7144.332344785:b75aab70: testing filter, f_pmask 255

Это действительно сбивает с толку ... также я заметил, что после ---imuxsock он не использует порт, указанный в конфиге ... Детали версии:

Клиент:

Сервер:

Спасибо за прочтение.

ОБНОВИТЬ

я наблюдал tcpdump на сервере при подключении с помощью netcat от клиента. При подключении через Интернет с nc 50.116.x.x 6514 Я вижу напечатанные вещи tcpdump. Но через VPN с nc 172.31.0.1 6514 ничего не печатается. Даже не подключаться / отключаться. Но netcat никогда не выдает ошибок.

UDPATE 2

Выход из ip route:

Сервер:

default via 50.116.x.1 dev eth0 
50.116.x.0/24 dev eth0  proto kernel  scope link  src 50.116.x.x 
172.31.0.0/16 via 172.31.0.2 dev tun0 
172.31.0.2 dev tun0  proto kernel  scope link  src 172.31.0.1

Клиент:

default via 10.0.0.1 dev br0 
10.0.0.0/24 dev br0  proto kernel  scope link  src 10.0.0.160 
172.31.0.0 dev tun0  proto kernel  scope link  src 172.31.0.133 
172.31.0.1 via 172.31.0.0 dev tun0 
192.0.2.0/24 dev dummy0  proto kernel  scope link  src 192.0.2.1 

tcpdump (и его замена tshark) по умолчанию используется интерфейс с наименьшим номером. Обычно это eth0. Для захвата трафика на интерфейсе OpenVPN tun0 вам понадобится что-то вроде этого: tcpdump -i tun0 port 6514. (Имя интерфейса любой может использоваться для захвата на всех интерфейсах.) Посмотрите, есть ли там трафик системного журнала.

Еще одна вещь, которую нужно попробовать, - это посмотреть, генерируется ли какой-либо трафик OpenVPN в ответ на пакеты системного журнала, tcpdump port 1194, где 1194 - это мой вариант подключения к OpenVPN.)