Advertencia justa, no soy experto en netfilter (iptables).
Cualquier distribución respetable del servidor Linux debe tener instalado netfilter y habilitado en su núcleo. Netfilter le permite enrutar, bloquear y manipular paquetes que entran y salen de su sistema. Intente ejecutar esto como root en la máquina del servidor:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 1521
Es posible que deba cambiar eth0 al nombre de dispositivo correcto para el adaptador LAN del servidor. Esto debería ocasionar que Oracle DBMS reciba los paquetes que ingresan en el puerto 80 que escuchan en el puerto 1521.
Seguí y busqué qué hacen estas opciones (porque no estoy muy familiarizado con la administración de netfilter a mano). Leme lo descompone:
-t nat -A PREROUTING
Esto selecciona la tabla NAT y agrega ( -A
) la nueva regla a la cadena PREROUTING de la tabla NAT. En general, cuando redirige de un puerto a otro, eso pertenece a la tabla NAT. La cadena PREROUTING ocurre muy temprano cuando Netfilter procesa los paquetes entrantes. Es la primera cadena de paquetes entrantes, por lo general.
-i eth0 -p tcp -dport 80
Estas son la parte de filtro de la regla. Le estamos diciendo en qué interfaz ( -i
) y protocolo ( -p
) desea que esta regla afecte los paquetes. En este ejemplo, estamos creando una regla para el tráfico tcp en la interfaz eth0
. También le estamos diciendo qué puerto de destino ( -dport
) debe buscar en los paquetes ... en este caso, paquetes con un puerto de destino de 80 (tcp).
Cuando intente conectarse al puerto 80 de TCP en el servidor con el DBMS de Oracle, los paquetes TCP que envía su máquina tendrán un puerto de destino de 80 en sus encabezados.
--j REDIRECT --to-ports 1521
Esta es la carne de la regla. Aquí le está diciendo que los paquetes que coinciden con los filtros anteriores se deben redirigir ( --j REDIRECT
) al puerto 1521 ( --to-ports 1521
). Cuando el filtro de red está en el mismo sistema que la aplicación que desea redirigir el tráfico que utiliza REDIRECT
. Cuando la aplicación está en otro servidor que usaría en su DNAT
lugar (y especifica tanto IP como puerto).
Por favor, avíseme si esto funciona.
Estas configuraciones no son persistentes; para que sean persistentes, te sugiero que consideres la instalación iptables-persistent
. Puede encontrar más información aquí en StackOverflow .