Tengo una caja OpenVZ con 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]
Instalé openswan y xl2tpd para L2TP VPN. Cuando reinicio 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
Detectó 127.0.0.2
, que creo que es una IP local para servir. Quiero que se publique en mi dirección IP pública. Pero no tengo idea de cómo permitir que ipsec funcione en la IP correcta. Busqué en Google, pero nada parece ser realmente útil.
Aquí está el ifconfig -a
resultado. Reemplacé las IP reales con xxxx, yyyy y 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
Respuesta1
- No lo especificó, pero según su
ifconfig -a
extracto podemos asumir que está ejecutando ipsec dentro de OpenVZ VE, no en el nodo de hardware (HN). Sólo para estar seguro: ¿revisaste el suyo?recomendaciónpara ese tipo de configuración? - Las plantillas de OpenVZ para VE son a veces realmente alucinantes. Les pregunté a los desarrolladores por qué querríamos usar IP de rango 127/8 en interfaces sin loopback, pero su respuesta fue "bueno, no lo sabemos, alguien más lo agregó y ahora es un legado". Absoluta mierda. Puede eliminar de forma segura este "error" 127.0.0.2 de la interfaz en cuestión, no hace nada:
ip ad del 127.0.0.2/32 dev venet0
. Sin embargo, el problema es que en cada reinicio de VE se volvería a agregar esta tontería. Si está controlando el nodo de hardware, puede configurar la plantilla en algo que no active su "torpeza" que contiene la configuración de red. Si no lo estás controlando, bueno, la solución es poner este "ip ad del" en algo como/etc/rc.local
y luego reiniciar ipsec.
Respuesta2
Dehttps://lists.openswan.org/pipermail/users/2010-June/018901.html
Cuando Openswan se inicia, parece que elige la primera dirección IP en la interfaz br0 para anunciar lo que está seleccionando. En caso de que se equivoque uno de estos días, ¿cómo puedo decirle definitivamente qué dirección IP en qué interfaz? ¿O es sólo un anuncio de apertura y no necesito preocuparme por eso?
Se vincula a todas las direcciones que se configuran al inicio. Si se agrega una dirección más adelante, actualmente es necesario decirle a Plutón que vuelva a vincularlas con "ipsec whack --listen".
ipsec_setup: múltiples direcciones IP, usando 10.0.0.10 en br0
El mensaje es un poco confuso. "Utilizará" la dirección IP de la que recibió un paquete al responder, y utilizará la dirección IP "más cercana" al iniciar cuando utilice "%defaultroute". Si utilizará la IP o la IP del nombre de host resuelto si se especifica en la conexión.
Es posible que sus interfaces OpenVZ no se vinculen automáticamente ya que no existen al inicio.
Además, puede forzarlo a escuchar solo en una IP editando su /etc/ipsec.conf
archivo, agregando la especificación correcta XX.XX.XX.XX o la interfaz venet0:X usando las directivas listen=XX.XX.XX.XX
o interface=venet0:X
en la config setup
sección.