![Permitir OpenVPN a través de un puerto específico - CentOS 6.5](https://rvso.com/image/623647/Permitir%20OpenVPN%20a%20trav%C3%A9s%20de%20un%20puerto%20espec%C3%ADfico%20-%20CentOS%206.5.png)
Tengo un VPS (CentOS 6.5). He instalado OpenVPN en este servidor. Todo funciona bien, puedo conectarme y navegar, etc. Digamos que mi IP del servidor es: 1.2.3.4
. Cuando me conecto a mi VPS mi IP es 1.2.3.4
.
También instalé OpenERP (en el mismo VPS) que se ejecuta en el puerto 8069.
Lo que intento lograr es bloquear todo el tráfico en el puerto 8069 excepto el tráfico VPN. Entonces, tengo que conectarme a mi VPS con OpenVPN para acceder http://1.2.3.4:8069
.
Probé varios tutoriales de iptables en la red, pero ninguno funciona.
Por ejemplo:
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 8069 -j ACCEPT
or
iptables -A INPUT -p tcp -s 10.8.0.0/24 --dport 8069 -j ACCEPT
or
iptables -I INPUT \! --src 10.8.0.0/24 -m tcp -p tcp --dport 8069 -j DROP
or
iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 8069 -j DROP
Estos son ejemplos. He probado aún más reglas. Todos los tutoriales que seguí bloquean todo el tráfico en el puerto 8069, incluso si me conecto a mi VPS con OpenVPN no puedo acceder http://1.2.3.4:8069
.
¿Alguien tiene una idea de cómo bloquear todo el tráfico en el puerto 8069 excepto mi conexión VPN? ¿Cómo logro esto?
Mi servidor.conf es:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
user nobody
group nobody
keepalive 5 30
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
verb 5
La configuración de mi cliente es:
dev tun
client
proto udp
remote 1.2.3.4
port 1194
resolv-retry infinite
nobind
redirect-gateway def1
persist-key
persist-tun
ca ca.crt
cert nika-pc.crt
key nika-pc.key
cipher AES-256-CBC
comp-lzo
ns-cert-type server
verb 5
Gracias de antemano.
Editar:
Salida: iptables -L -n -v
Salida: iptables -L -n -v | cabeza
Respuesta1
Dios mío, esa es una configuración de firewall compleja (aunque unahorriblemuchas de las reglas tienen cero recuentos de paquetes, lo que me hace pensar que hay mucha información histórica ahí). En lugar de analizar detenidamente, tratar de determinar qué regla existente detecta este tráfico por error, sugiero que cortemos y simplemente coloquemos las reglas relevantes en la parte superior:
iptables -I INPUT 1 -p tcp -i tun+ --dport 8069 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 8069 -j REJECT
Editar: Realmente te animo a que edites las actualizaciones de tu pregunta, en lugar de dejar una serie interminable de enlaces de Pastebin, que pueden permanecer o no con el tiempo. En cualquier caso, gracias por el nuevo resultado. Como puede ver, los recuentos de paquetes de la primera regla son cero, mientras que los de la segunda regla (rechazo general) definitivamente no lo son. La única conclusión que queda es que estás equivocado acerca de este tráfico utilizando la conexión OpenVPN; Está llegando claramente a través de Internet en texto plano. Si quieres sercompletamenteClaro, agregue una tercera regla entre las dos anteriores, con
iptables -I INPUT 2 -p tcp --dport 8069 -j LOG --log-prefix "CARROT: "
A menos que la palabra CARROT
aparezca con frecuencia en sus archivos de registro, debería ser fácil encontrar el resultado de esas coincidencias en los registros de su sistema ( /var/log/messages
o como syslog
su distribución considere apropiado), y deberían confirmar en qué interfaz provienen los paquetes rechazados. en. No espero que así sea tun0
.
Respuesta2
Agrego una respuesta porque no puedo agregar un comentario. Creo que el protocolo utilizado es udp y no tcp entonces
iptables -I INPUT 1 -p udp -i tun+ --dport 8069 -j ACCEPT
iptables -I INPUT 2 -p udp --dport 8069 -j REJECT