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 -a
saí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
- Você não especificou, mas pelo seu
ifconfig -a
trecho 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? - 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.local
e 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.conf
arquivo, adicionando a especificação correta XX.XX.XX.XX ou interface venet0:X usando as diretivas listen=XX.XX.XX.XX
ou interface=venet0:X
na config setup
seção.