Anterior Siguiente Indice

3. Configuración de IP Masquerade.

Si su red privada contiene información vital, piénselo dos veces antes de usar IP Masquerade. Esto puede ser una PASARELA para que salga a Internet, y viceversa, para que alguien de otra parte del mundo entre en su red.

3.1 Cómo compilar el núcleo para dar soporte IP Masquerade.

Por favor, diríjase a http://ipmasq.home.ml.org/ para información más actualizada, es difícil actualizar este COMO frecuentemente.

Nota:

También puede cargar los módulos manualmente antes de usar ip_masq, pero no use kerneld para esto, NO funcionará.

3.2 Asignación de direcciones IP en la red privada

Como todas las OTRAS máquinas no tienen dirección oficial asignada, debe haber una forma correcta de adjudicar direcciones para esas máquinas.

De la FAQ IP Masquerade:

Hay un RFC (#1597) en el cual están las direcciones IP para ser usadas en una red no conectada a Internet. Hay 3 bloques de números reservados específicamente para este fin. El que yo uso es una subred de clase C 255 desde 192.168.1.n hasta 192.168.255.n .

Del RFC 1597: Sección 3: Espacio para Direcciones Privadas

El Internet Assigned Numbers Authority (IANA) tiene reservado los siguientes 3 bloques de direcciones IP para redes privadas:

              10.0.0.0        -   10.255.255.255
              172.16.0.0      -   172.31.255.255
              192.168.0.0     -   192.168.255.255

Nos referiremos al primer bloque como "bloque de 24-bit", al segundo como "bloque de 20-bit", y al tercero como "bloque de 16-bit". Observe que el primer bloque no es más que un simple número de red de clase A, mientras que el segundo bloque es un conjunto de 16 números de red de clase B contiguos y el tercer bloque un conjunto de 255 números de red de clase C contiguos.

Así, si está usando una red de clase C, debería de nombrar a sus máquinas como 192.168.1.1, 1.92.168.1.2, 1.92.168.1.3, ..., 192.168.1.x

192.168.1.1 es normalmente la máquina pasarela, la cual es su servidor Linux conectado a Internet. Observe que 192.168.1.0 y 192.168.1.255 son las direcciones de RED (Network) y la dirección de EMISIÓN (Broadcast) respectivamente, las cuales están reservadas. Evite usar estas direcciones en sus máquinas.

3.3 Configuración de las OTRAS máquinas.

Además de asignar una dirección IP apropiada a las máquinas, también debería de poner la apropiada de la pasarela (gateway). En general, esto es coser y cantar. Simplemente introduzca la dirección de su servidor Linux (usualmente 192.168.1.1) como la dirección de la máquina pasarela.

Como Servidor de Nombres, puede añadir algún DNS disponible. El más obvio debería ser el que esté usando su máquina Linux. También puede añadir opcionalmente algún sufijo de dominio de búsqueda.

Después de que haya reconfigurado esas direcciones, recuerde reiniciar los servicios apropiados o reiniciar su sistema.

Las siguientes instrucciones de configuración suponen que está usando una red de clase C con 192.168.1.1 como dirección de su servidor Linux. Por favor, tenga en cuenta que 192.168.1.0 y 192.168.1.255 están reservadas.

Configuración de Windows 95.

  1. Si no ha instalado todavía la tarjeta de red y el correspondiente controlador de dispositivo (driver), hágalo ahora.
  2. Vaya a 'Panel de Control'/'Red'.
  3. Añada 'Protocolo'/'Microsoft'/'TCP/IP' si no lo tiene.
  4. En 'Propiedades'/'TCP/IP', vaya a 'Dirección IP' y ponga la dirección IP 192.168.1.x, (1 < x < 255), y como máscara de subred 255.255.255.0.
  5. Añada 192.168.1.1 como su pasarela en 'Puerta de enlace (Gateway)'.
  6. En 'Configuración DNS'/'Orden de búsqueda del servidor DNS' añada el DNS que usa su servidor Linux (usualmente está en /etc/resolv.conf). Opcionalmente, puede añadir el apropiado sufijo de búsqueda de dominio.
  7. Deje las otras opciones como están, salvo que sepa lo que está haciendo.
  8. Pulse 'Aceptar' en todas las cajas de diálogo y reinicialice el sistema.
  9. Haga un Ping a la máquina Linux para comprobar la red: 'Inicio/Ejecutar', teclee : ping 192.168.1.1. (Esto sólo comprueba la conexión local, todavía no puede hacer ping al exterior.)
  10. Opcionalmente puede crear un fichero HOSTS en el directorio de windows así puede usar los nombres de las máquinas de su red local. Hay un ejemplo llamado HOSTS.SAM en el directorio c:\windows.

Configuración de Windows para Trabajo en Grupo (3.11).

  1. Si no ha instalado la tarjeta de red y el controlador, hágalo ahora.
  2. Instale el paquete TCP/IP 32b si todavía no lo tiene.
  3. En 'Principal'/'Configuración de Windows'/'Configuración de la Red', pulse en 'Controladores'.
  4. Marque 'Microsoft TCP/IP-32 3.11b' en la sección 'Controladores de Red', pulse 'Setup'.
  5. Ponga la dirección IP 192.168.1.x (1 < x < 255), y la máscara de subred 255.255.255.0 y como Default Gateway 192.168.1.1
  6. No habilite 'Automatic DHCP Configuration' y no ponga nada en esas áreas de entrada 'WINS Server' a menos que esté bajo un dominio de Windows NT y sepa lo que está haciendo.
  7. Pulse 'DNS', añada la información mencionada en el PASO 6 de la sección win95, luego pulse 'Aceptar' cuando esté listo.
  8. Pulse 'Advanced', active 'Enable DNS for Windows Name Resolution' y 'Enable LMHOSTS lookup' si está usando un fichero de búsqueda de servidores, similar al mencionado en el PASO 10 de la sección win95
  9. Pulse 'OK' en todas las cuadros de diálogo y reinicialice el sistema.
  10. Haga un Ping a la máquina Linux para comprobar la conexión de red: 'Archivo/Ejecutar', ponga: ping 192.168.1.1 (Con esto sólo comprueba la conexión de la red local, todavía no puede hacer un ping al resto del mundo.)

Configuración de Windows NT.

  1. Si no ha instalado su tarjeta de red y el controlador, hágalo ahora.
  2. Vaya a 'Inicio'/'Panel de Control'/'Red'
  3. Añada 'Protocolo TCP/IP y Componentes Relacionados' desde el menú 'Protocolos' mediante el botón 'Agregar' si no tiene todavía el servicio TCP/IP instalado.
  4. En el área bajo 'Protocolos de red', seleccione 'Protocolo TCP/IP'. Pinche en propiedades.
  5. En 'Configuración TCP/IP', seleccione el adaptador de los instalados adecuado, por ejemplo: [1]Novell NE2000 Adapter. Luego ponga la Dirección IP 192.168.1.x (1 < x < 255), como Máscara de Subred 255.255.255.0 y como Pasarela 192.168.1.1.
  6. No use la 'Configuración DHCP Automática' y no ponga nada en 'WINS Server' a menos que esté bajo un domino de Windows NT y sepa lo que está haciendo.
  7. Pinche en 'DNS', y rellene con la información apropiada mencionada en el PASO 6 de la sección win95. Haga click en 'OK' cuando esté listo.
  8. Vaya a la sección 'Dirección WINS', y active las opciones 'Activar DNS para resolución de Windows' y 'Activar la búsqueda de LMHOSTS' si está usando un fichero de búsqueda de servidores, similar al mencionado en el PASO 10 de la sección win95
  9. Pulse 'Aceptar' en todos los cuadros de diálogo y reinicialice el sistema.
  10. Haga un Ping a la máquina Linux para comprobar la conexión de red: ('Inicio/Ejecutar'), ponga: ping 192.168.1.1. (Esto sólo comprueba la conexión de la red local, todavía no puede hacer un ping al mundo exterior.)

Configuración de sistemas basados en UNIX.

  1. Si no ha instalado la tarjeta de red y recompilado su núcleo con el controlador adecuado, hágalo ahora.
  2. Instale la red TCP/IP, así como el paquete de herramientas de red, si no lo ha hecho todavía.
  3. Ponga en la DIRECCIÓN IP(IPADDR) 192.168.1.x (1 < x < 255), y luego ponga 255.255.255.0 en NETMASK, GATEWAY 192.168.1.1, y en BROADCAST 192.168.1.255. Por ejemplo, puede editar el fichero /etc/sysconfig/network-scripts/ifcfg-eth0 en sistemas Red Hat Linux, o simplemente hacerlo mediante el Control Panel. (Es diferente en SunOS, BSDi, Linux Slackware, etc...)
  4. Añada su DNS y búsqueda de sufijo de dominio en /etc/resolv.conf
  5. Puede querer actualizar su fichero /etc/networks dependiendo de sus configuraciones.
  6. Reinicialice los servicios apropiados, o simplemente reinicialice el sistema.
  7. Use un ping (comando: ping 192.168.1.1) para comprobar la conexión con la máquina pasarela. (Esto sólo comprueba la conexión de la red local, todavía no puede hacer un ping al mundo exterior.)

Configuración DOS usando el paquete NCSA Telnet.

  1. Si no ha instalado la tarjeta de red, hágalo ahora.
  2. Cargue el controlador adecuado. Para una tarjeta NE2000 , use nwpd 0x60 10 0x300, con su tarjeta de red en el IRQ 10 y la dirección hardware en 0x300 (Su configuración puede ser distinta).
  3. Cree un nuevo directorio, y desempaquete el NCSA Telnet:
    pkunzip tel2308b.zip
    
  4. Use un editor de texto para abrir el fichero config.tel
  5. Ponga myip=192.168.1.x (1 < x < 255), y netmask=255.255.255.0
  6. En este ejemplo, debería de poner hardware=packet, interrupt=10, ioaddr=60
  7. Debería de tener al menos especificada una máquina individual como pasarela, por ejemplo, el servidor Linux :
    name=default
    host=Nombre_del_servidor_Linux
    hostip=192.168.1.1
    gateway=1
    
  8. Tiene otra especificación para el servicio de nombre de dominio:
    name=dns.dominio.com ; hostip=123.123.123.123; nameserver=1
    
    Nota: sustituya la información sobre el DNS por la que use en su servidor Linux.
  9. Salve su fichero config.tel
  10. Haga un telnet a la máquina Linux para comprobar la conexión de red: telnet 192.168.1.1

Configuración de sistemas basados en MacOS usando MacTCP

  1. Si no ha instalado en controlador de su tarjeta ethernet, ahora podría ser un buen momento para hacerlo.
  2. Abra el MacTCP control panel. Seleccione el controlador de red adecuado (Ethernet, NO EtherTalk) y pulse el botón 'More...'.
  3. Bajo 'Obtain Address:', pulse 'Manually'.
  4. Bajo 'IP Address:', seleccione class C del menú desplegable. Ignore el resto de esta sección de la caja de diálogo.
  5. Rellene con la información adecuada, la 'Domain Name Server Information:'.
  6. Bajo 'Gateway Address:', introduzca 192.168.1.1
  7. Pulse 'OK' y sálvelo. En la ventana principal en MacTCP control panel, introduzca la dirección IP de su Mac (192.168.1.x, 1 < x < 255) en la caja 'IP Address:'.
  8. Cierre el MacTCP control panel. Si aparece un cuadro de diálogo indicando que reinicie el sistema, hágalo.
  9. Puede hacer un ping a la máquina Linux para comprobar la conexión de red. Si tiene el programa freeware MacTCP Watcher, pulse en el botón ' Ping', e introduzca la dirección de su máquina Linux(192.168.1.1) en la caja de diálogo que se despliega. (Esto solamente comprueba la conexión de la red local, y todavía no puede hacer un ping al exterior.)
  10. Opcionalmente puede crear un archivo Hosts en su System Folder de forma que pueda usar los nombres de la máquinas de su red local. Este archivo podría existir ya en su System Folder, y podría contener algunas entradas de ejemplo (comentadas) que puede modificar de acuerdo a sus necesidades.

Configuración de sistemas basados en MacOS usando Open Transport.

  1. Si no ha instalado el controlador adecuado de la tarjeta ethernet, ahora sería un buen momento para hacerlo.
  2. Abra el TCP/IP Control Panel y elija 'User Mode ...' del menú Edit. Asegúrese que el modo de usuario es al menos 'Advanced ' y pulse el botón'OK'.
  3. Elija 'Configurations...' del menú File. Seleccione su configuración 'Default' y pulse el botón 'Duplicate...'. Introduzca 'IP Masq' (o algo para saber que está es una configuración especial) en el diálogo 'Duplicate Configuration', éste probablemente contendrá algo como 'Default copy'. Luego pulse el botón 'OK', y el botón 'Make Active'
  4. Seleccione 'Ethernet' del desplegable 'Connect via:'.
  5. Seleccione el elemento apropiado del desplegable 'Configure:'. Si no sabe que opción elegir, probablemente debería de reselecionar su configuración 'Default' y salir. Yo uso 'Manually'.
  6. Introduzca la dirección IP de su Mac (192.168.1.x, 1 < x < 255) en la caja 'IP Address:'.
  7. Ponga 255.255.255.0 en la caja de 'Subnet mask:' .
  8. Ponga 192.168.1.1 en la caja de 'Router address:'.
  9. Introduzca la dirección IP de su DNS en la caja 'Name server addr.: '.
  10. Introduzca el nombre de su dominio de Internet (por ejemplo: 'microsoft.com') en la caja 'Starting domain name' bajo 'Implicit Search Path:'.
  11. Los siguientes procesos son opcionales. La introducción de valores incorrectos puede dar lugar a comportamientos erróneos. Si no está seguro, lo mejor es que los deje en blanco, sin marcar o sin seleccionar. Borre la información de esos campos, si es necesario. Hasta donde sé, no hay forma de decirle al sistema, a través de los diálogos TCP/IP, que no use un archivo de Hosts alternativo previamente seleccionado. Si Vd sabe cómo, me interesaría. Marque '802.3' si su red requiere tramas del tipo 802.3.
  12. Pulse el botón 'Options...' para estar seguro de que el TCP/IP está activo. Yo uso la opción 'Load only when needed'. Si usa y quita aplicaciones TCP/IP con frecuencia sin reiniciar su máquina, puede que al deshabilitar esta última opción prevenga/reduzca los efectos de la administración de memoria. Con esta opción deshabilitada las pilas del protocolo TCP/IP están siempre cargadas y disponibles para su uso. Si está habilitada, las pilas TCP/IP se cargarán automáticamente cuando se necesiten y se descargarán cuando no. Estos procesos de carga y descarga hacen que la memoria de su máquina se fragmente.
  13. Puede hacer un ping a su servidor Linux para comprobar la conexión de red. Si tiene el programa freeware MacTCP Watcher, pulse el botón 'Ping' , e introduzca la dirección de su servidor Linux (192.168.1.1) en la caja de diálogo que aparece. (Esto sólo comprueba su conexión de la red local, todavía no puede hacer un ping al mundo exterior.)
  14. Puede crear un fichero Hosts en System Folder y así podrá usar los nombres de las máquinas de su red local. Este fichero puede ya existir o no en la System Folder. Si es así, debería de contener alguna entrada (como comentario) de ejemplo, la cual puede modificar dependiendo de sus necesidades. Si no, puede obtener una copia del fichero de un sistema que use MacTCP, o crearlo Vd. mismo (sigue un subconjunto del formato de ficheros de Unix /etc/hosts, descrito en la página 33 de RFC 1035). Una vez haya creado el fichero, abra el TCP/IP control panel, pulse el botón 'Select Hosts File...', y abra el archivo Hosts.
  15. Pulse la caja cerrar o elija 'Close' o 'Quit' del menú File, y luego pulse el botón 'Save' pasa salvar los cambios que ha hecho.
  16. Los cambios tendrán efecto inmediatamente, pero reinicializando el sistema no pierde nada.

Configuración de red Novell usando DNS.

  1. Si no tiene instalado el controlador apropiado de su tarjeta ethernet, ahora sería un buen momento para hacerlo.
  2. Descargue el fichero tcpip16.exe de ftp.novell.com/pub/updates/unixconn/lwp5
  3. edite
    c:\nwclient\startnet.bat
    
    : (aquí tiene una copia del mío)
    SET NWLANGUAGE=ENGLISH
    LH LSL.COM
    LH KTC2000.COM
    LH IPXODI.COM
    LH tcpip
    LH VLM.EXE
    F:
    
  4. edite
    c:\nwclient\net.cfg
    
    : (cambie el enlace del controlador por el suyo; por ejemplo : NE2000)
    Link Driver KTC2000
            Protocol IPX 0 ETHERNET_802.3    
            Frame ETHERNET_802.3     
            Frame Ethernet_II        
            FRAME Ethernet_802.2
    
    NetWare DOS Requester
               FIRST NETWORK DRIVE = F
               USE DEFAULTS = OFF
               VLM = CONN.VLM
               VLM = IPXNCP.VLM
               VLM = TRAN.VLM
               VLM = SECURITY.VLM
               VLM = NDS.VLM
               VLM = BIND.VLM
               VLM = NWP.VLM
               VLM = FIO.VLM
               VLM = GENERAL.VLM
               VLM = REDIR.VLM
               VLM = PRINT.VLM
               VLM = NETX.VLM
    
    Link Support
            Buffers 8 1500
            MemPool 4096
    
    Protocol TCPIP
            PATH SCRIPT     C:\NET\SCRIPT
            PATH PROFILE    C:\NET\PROFILE
            PATH LWP_CFG    C:\NET\HSTACC
            PATH TCP_CFG    C:\NET\TCP
            ip_address      xxx.xxx.xxx.xxx
            ip_router       xxx.xxx.xxx.xxx
    
  5. finalmente, cree el
    c:\bin\resolv.cfg
    
    :
    SEARCH DNS HOSTS SEQUENTIAL
    NAMESERVER 207.103.0.2
    NAMESERVER 207.103.11.9
    
  6. Espero que esto ayude a alguien para conseguir poner su red Novell en línea. Esto se puede hacer usando Netware 3.1x o 4.x

Configuración de OS/2 Warp.

  1. Si no tiene instalado el controlador de su tarjeta Ethernet, ahora sería un buen momento para hacerlo.
  2. Instale el protocolo TCP/IP, si todavía no lo tiene.
  3. Diríjase a Programms/ TCP/IP (LAN) / TCP/IP Settings.
  4. En 'Network' añada su dirección TCP/IP y ponga como máscara de red (Netmask) 255.255.255.0
  5. En 'Routing' presione 'Add'. Ponga el Type en 'default' y teclee la dirección IP de su servidor Linux en el campo 'Router Address'. (192.168.1.1).
  6. Ponga la misma dirección DNS (Servidor de nombres) que usa su servidor Linux en 'Hosts'.
  7. Cierre el panel de control de TCP/IP. Y responda SI a la siguiente(s) pregunta(s).
  8. Reinicialice la máquina.
  9. Debe de hacer un ping al servidor Linux para comprobar la configuración de red. Teclee 'ping 192.168.1.1' en una 'Ventana de comandos de OS/2'. Si los paquetes ping son recibidos es que todo está bien.

Configuración de otros sistemas.

Se deberían de seguir los mismos pasos para otras configuraciones. Lea las secciones anteriores. Si está interesado en escribir sobre alguno de estos sistemas, o algunas variantes de sistemas basados en UNIX, por favor mande las instrucciones detalladas de configuración a ambrose@writeme.com.

3.4 Configuración de la política de IP Forwarding.

Llegados a este punto ya debería de tener instalados el núcleo y demás paquetes requeridos, así como los módulos cargados. También, la dirección IP, la pasarela, y el DNS deberían estar configurados en todas las OTRAS máquinas.

Ahora, la única cosa que queda por hacer es usar ipfwadm para reenviar los paquetes apropiados a la máquina apropiada:

Esto puede ser de realizado de diferentes formas. Las siguientes sugerencias y ejemplos a mí me funcionan, pero usted puede tener diferentes ideas, por favor mire la sección ipfwadm y las páginas man de ipfwadm para más detalles.

ipfwadm -F -p deny 
ipfwadm -F -a m -S yyy.yyy.yyy.yyy/x -D 0.0.0.0/0 

donde x es uno de los siguientes números dependiendo del tipo de su subred, e yyy.yyy.yyy.yyy es su dirección de red.

mascara de red  | x  | Subred
~~~~~~~~~~~~~~~~|~~~~|~~~~~~~~~~~~~~~
255.0.0.0       | 8  | Clase A
255.255.0.0     | 16 | Clase B
255.255.255.0   | 24 | Clase C
255.255.255.255 | 32 | Punto-a-punto

Por ejemplo, si estuviera en una subred de clase C , tendría que haber puesto:

ipfwadm -F -p deny 
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 

Al segundo comando podría añadir bien -V 192.168.1.1 o bien -W eth0 para asegurar que los paquetes enmascarados vienen a través del interfaz del sistema apropiado. Si quiere estar seguro a conciencia (también conocido como paranoia justificable) entonces querrá hacer esto.

Puesto que bootp solicita paquetes que vienen sin una dirección IP válida el cliente no sabe nada sobre ello, para gente con un servidor bootp en la máquina masquerade/cortafuegos es necesario usar lo siguiente antes del comando deny:

ipfwadm -I -a accept -S 0/0 68 -D 0/0 67 -W bootp_clients_net_if_name -P udp

También puede hacerlo máquina por máquina. Por ejemplo, si quiere que la 192.168.1.2 y la 192.168.1.8 tengan acceso a Internet, pero no las otras máquinas, debería de poner:

ipfwadm -F -p deny 
ipfwadm -F -a m -S 192.168.1.2/32 -D 0.0.0.0/0 
ipfwadm -F -a m -S 192.168.1.8/32 -D 0.0.0.0/0 

Alternativamente, puede poner la máscara de red en lugar del valor, por ejemplo: 192.168.1.0/255.255.255.0

Lo que parece ser un ERROR común es poner como primer comando :

ipfwadm -F -p masquerade

NO haga que su política por defecto sea masquerading de esta forma alguien puede manipular su ruta y será capaz de entrar a través su pasarela, ˇˇusándola para enmascarar su identidad!!

De nuevo, puede añadir estas líneas al fichero /etc/rc.local, o al fichero rc que prefiera, o hágalo manualmente cada vez que necesite ip_masq.

Por favor lea la sección ipfwadm para una guía detallada de ipfwadm.

3.5 Comprobación de IP Masquerade.

Después de todo este duro trabajo, es la hora hacer un intento. Asegúrese de que la conexión a Internet del servidor Linux está bien.

Puede intentar navegar por algún sitio web de 'ˇˇˇINTERNET!!!' en sus OTRAS máquinas, y ver si lo consigue. En su primer intento le recomiendo usar una dirección IP en vez de un nombre de máquina, porque la configuración del DNS puede no ser correcta.

Por ejemplo, puede acceder al servidor Linux Documentation Project
http://sunsite.unc.edu/mdw/linux.html con el valor de http://152.2.254.81/mdw/linux.html.

Si ve la página del LDP, ˇfelicidades!, ˇfunciona! Luego puede intentarlo con el nombre del servidor, y luego un telnet, ftp, Real Audio, True Speech, ... o todo aquello soportado por IP Masquerade.....

Hasta ahora no he tenido problemas con las configuraciones anteriores, y están totalmente acreditadas por la gente que invierte su tiempo en hacer que esta maravillosa prestación funcione.


Anterior Siguiente Indice