IPSec em vários endereços IP OpenVZ, usando 127.0.0.2 em venet0

IPSec em vários endereços IP OpenVZ, usando 127.0.0.2 em venet0

Eu tenho uma caixa OpenVZ com IPSec habilitado.

root@wa000:~# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.38/K2.6.32-042stab094.7 (netkey)
Checking for IPsec support in kernel                            [OK]
 SAref kernel support                                           [N/A]
 NETKEY:  Testing XFRM related proc values                      [OK]
    [OK]
    [OK]
Checking that pluto is running                                  [OK]
 Pluto listening for IKE on udp 500                             [OK]
 Pluto listening for NAT-T on udp 4500                          [OK]
Two or more interfaces found, checking IP forwarding            [FAILED]
Checking NAT and MASQUERADEing                                  [OK]
Checking for 'ip' command                                       [OK]
Checking /bin/sh is not /bin/dash                               [WARNING]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]

Instalei o openswan e o xl2tpd para VPN L2TP. Quando eu reinicio o ipsec:

# service ipsec restart
ipsec_setup: Stopping Openswan IPsec...
ipsec_setup: Starting Openswan IPsec U2.6.38/K2.6.32-042stab094.7...
ipsec_setup: multiple ip addresses, using  127.0.0.2 on venet0

Detectou 127.0.0.2, que acredito ser um ip local para servir. Quero que ele seja veiculado no meu endereço IP público. Mas não tenho ideia de como deixar o ipsec servir no ip certo. Pesquisei no Google, mas nada parece ser realmente útil.

Aqui está a ifconfig -asaída. Substituí os IPs reais por xxxx, yyyy e zzzz

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:18:51:69:44:e6  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

gre0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:1476  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

gretap0   Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          BROADCAST MULTICAST  MTU:1476  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:118 errors:0 dropped:0 overruns:0 frame:0
          TX packets:118 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:18229 (18.2 KB)  TX bytes:18229 (18.2 KB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:126133 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102937 errors:0 dropped:724 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11322355 (11.3 MB)  TX bytes:40737353 (40.7 MB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:x.x.x.x  P-t-P:x.x.x.x  Bcast:x.x.x.x  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:y.y.y.y  P-t-P:y.y.y.y  Bcast:y.y.y.y  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:2  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:z.z.z.z  P-t-P:z.z.z.z  Bcast:z.z.z.z  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Responder1

  1. Você não especificou, mas pelo seu ifconfig -atrecho podemos assumir que você está executando o ipsec dentro do OpenVZ VE, não no nó de hardware (HN). Só para ter certeza - você deu uma olhada no delesrecomendaçãopara esse tipo de configuração?
  2. Os modelos do OpenVZ para VEs às vezes são realmente alucinantes. Perguntei aos desenvolvedores por que alguém iria querer usar IPs de intervalo 127/8 em interfaces sem loopback, mas a resposta deles foi "bem, não sabemos, alguém adicionou e é legado agora". Merda absoluta. Você pode remover com segurança esse "kludge" 127.0.0.2 da interface em questão, ele não faz nada: ip ad del 127.0.0.2/32 dev venet0. O problema é que, a cada reinicialização do VE, essa porcaria boba seria adicionada novamente. Se você estiver controlando o nó de hardware, poderá definir o modelo para algo que não acione o "kludge" contendo a configuração de rede. Se você não o estiver controlando, a solução alternativa é colocar esse "ip ad del" em algo como /etc/rc.locale reiniciar o ipsec.

Responder2

Dehttps://lists.openswan.org/pipermail/users/2010-June/018901.html

Quando o Openswan é iniciado, parece que ele escolhe o primeiro endereço IP na interface br0 para anunciar o que está escolhendo. Caso escolha errado um dia desses, como posso dizer definitivamente qual endereço IP em qual interface? Ou este é apenas um anúncio de abertura e não preciso me preocupar com isso?

Ele se liga a todos os endereços configurados na inicialização. Se um endereço for adicionado posteriormente, atualmente, Plutão precisa ser informado para revinculá-lo com "ipsec whack --listen"

ipsec_setup: vários endereços IP, usando 10.0.0.10 em br0

A mensagem é um pouco confusa. Ele "usará" o endereço IP do qual recebeu um pacote ao responder e usará o endereço IP "mais próximo" ao iniciar ao usar "%defaultroute". Se usará o ip ou o nome do host resolvido ip se especificado no conn.

É possível que suas interfaces OpenVZ não estejam sendo vinculadas automaticamente porque não existem na inicialização.

Além disso, você pode forçá-lo a escutar apenas um IP editando seu /etc/ipsec.confarquivo, adicionando a especificação correta XX.XX.XX.XX ou interface venet0:X usando as diretivas listen=XX.XX.XX.XXou interface=venet0:Xna config setupseção.

http://linux.die.net/man/5/ipsec.conf

informação relacionada