Strongswan: Modo de transporte com hosts remotos não específicos

1

Estou usando o strongSwan 5.2.1 no Debian Jessie e estou com problemas para configurá-lo para fazer o que eu quero.

Premissa

Em um ambiente de teste, estou procurando usar o modo de transporte IPsec entre uma máquina virtual Linux e uma máquina virtual Windows configurada como um servidor FTP no modo ativo. O IPsec será aplicado somente ao tráfego FTP; isto é, o tráfego de / para as portas TCP 20 e 21 na VM do Windows. Todo outro tráfego entre os dois hosts (por exemplo, pings) deve ser descriptografado.

No cenário do mundo real para o qual estou fazendo isso, o endereço IP do servidor FTP varia, portanto, gostaria que minha configuração strongSwan não precisasse referenciar um IP remoto específico.

arquivo ipsec.conf no Linux

O conteúdo é o seguinte:

# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
    # strictcrlpolicy=yes
    # uniqueid =  no
# Add connections here.
include /var/lib/strongswan/ipsec.conf.inc
conn main
    type=transport
    left=%any
    right=10.1.1.2
    leftauth=psk
    rightauth=psk
    ike=3des-sha1-modp1024
    esp=3des-sha1
    keyexchange=ikev1

conn data
    also=main
    rightsubnet=%dynamic[6/20]
    auto=route

conn command
    also=main
    rightsubnet=%dynamic[6/21]
    auto=route

O problema

O IPsec.conf acima faz tudo o que eu quero fazer, exceto que o endereço IP do servidor FTP é especificado no arquivo pela linha right=10.1.1.2 .

O parâmetro also=route significa que a troca de chaves só é iniciada quando o tráfego é detectado indo para / de 10.1.1.2 nas portas TCP 20 ou 21. Eu quero uma configuração que inicie troca de chaves para qualquer endereço IP quando é detectado tráfego indo para / daquele endereço 'portas TCP 20 e 21.

Essa configuração é possível em strongSwan, e se não, existe algum outro daemon de codificação para Linux que possa fazer o que eu quero alcançar?

Notas adicionais

  • A configuração de right=%any não alcança o que eu quero. Essa configuração permite que qualquer host remoto inicie uma troca de chaves com o host local; isso não significa que o host local irá iniciar uma troca de chaves com qualquer host remoto.
  • A configuração do IPsec do host do Windows está definida para usar Any IP Address em ambas as extremidades da conexão e se comporta com êxito da maneira que eu quero.
  • O uso de IKEv1 na minha configuração é para compatibilidade legada.

Obrigado.

    
por William Posters 06.09.2016 / 16:17

1 resposta

1

Para usar right=%any com as políticas de interceptação do modo de transporte (ou seja, auto=route ), você precisa de pelo menos strongSwan 5.3.3 . Consulte o cenário ikev2 / trap-any para um exemplo.

    
por 07.09.2016 / 09:24