O Rsyslog se recusa a efetuar logon no OpenVPN

1

Estou tentando encaminhar o rsyslog de um cliente para um servidor por meio de uma VPN.

Já estou trabalhando em um link de internet (através de eth0 para um roteador de borda), mas gostaria que ele passasse pelo túnel OpenVPN que passa pelo mesmo link.

Eu tenho alternado entre essas diretivas no arquivo /etc/rsyslog.conf :

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

Eu tenho inspecionado os pacotes com tcpdump port 6514 -nA e para a diretiva 1 eu posso ver todo o pacote syslog saindo, e [no servidor] entrando. Fazendo o comando telnet 50.116.x.x 6514 from o cliente confirma que rsyslog está escutando.

No entanto, quando eu permito a diretiva 1 para a diretiva 2 não vejo nada impresso em tcpdump em nenhum dos lados. A execução de telnet 172.31.0.1 6514 do lado do cliente confirma que o rsyslog também está escutando neste endereço.

Eu corri rsyslog -f/etc/rsyslog.conf -c3 -d no cliente e não pude ver nenhum problema óbvio:

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

Isso é realmente confuso ... também notei que após o ---imuxsock ele não usa a porta que eu especifiquei na configuração ... Detalhes da versão:

Cliente:

  • Debian 6
  • OpenVPN 2.1.3 i486-pc-linux-gnu
  • rsyslog 4.6.4-2

Servidor:

  • Debian 7.8
  • OpenVPN 2.2.1 x86_64-linux-gnu
  • rsyslog 5.8.11-3 + deb7u2

Obrigado pela leitura.

UPDATE

Eu assisti tcpdump no servidor ao entrar com o netcat do cliente. Ao conectar-se pela internet com nc 50.116.x.x 6514 , posso ver o material impresso em tcpdump . Mas sobre a VPN com nc 172.31.0.1 6514 nada é impresso. Nem mesmo conectar / desconectar. Mas o netcat nunca dá um erro.

UDPATE 2

Saída de ip route :

Servidor:

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

Cliente:

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 
    
por hamstar 11.02.2015 / 00:09

1 resposta

1

tcpdump (e sua substituição tshark ) é padronizado para a interface "menor numeração". Normalmente, isso é eth0. Para capturar o tráfego na interface do OpenVPN, você precisa de algo como isto, tcpdump -i tun0 port 6514 . (O nome da interface any pode ser usado para capturar em todas as interfaces.) Veja se você consegue algum tráfego syslog lá.

Outra coisa a tentar é ver se algum tráfego está sendo gerado pelo OpenVPN em resposta aos pacotes syslog, tcpdump port 1194 , onde 1194 é meu asusmption para sua conexão OpenVPN.

    
por 11.02.2015 / 01:52