Foros del Web » Administración de Sistemas » Unix / Linux »

Script para newbies que quieren compartir internet entre dos computadoras Linux

Estas en el tema de Script para newbies que quieren compartir internet entre dos computadoras Linux en el foro de Unix / Linux en Foros del Web. Quiero compartir este script con ustedes para aquellos que quieren compartir internet entre dos computadoras linux. Para que funcione deben de tener en cuenta lo ...
  #1 (permalink)  
Antiguo 27/06/2003, 17:22
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 21 años, 7 meses
Puntos: 7
Script para newbies que quieren compartir internet entre dos computadoras Linux

Quiero compartir este script con ustedes para aquellos que quieren compartir internet entre dos computadoras linux.

Para que funcione deben de tener en cuenta lo siguiente antes:

Tener instalado iptables en las maquinas.

Haber agregado los ip's en ambas maquinas en el archivo:

/etc/hosts

El cual debe de ser igual en ambas maquinas y contener algo asi:

127.0.0.1 localhost
192.168.0.1 server
192.168.0.2 cliente

*server es el nombre de la maquina que tendra conexion directa a internet
*cliente es el nombre de la maquina que tendra internet por medio de la maquina server

Haber agregado los dns de su proveedor de internet en ambas maquinas en el archivo:

/etc/resolv.conf

Los dns se agregan con las siguientes lineas:

nameserver 123.123.123.123
nameserver 123.123.123.123

*Donde los numeros se sustituyen por los dns de tu proveedor de interntet

Teniendo estos 3 requisitos previos podemos crear los archivos para los scripts.

El script para la maquina server es el siguiente:

#!/bin/bash

# This script will enable internet connection sharing
# for Linux. This is done using iptables and a kernel
# feature that enables us to allow IP forwarding. It
# will not work if you are not already able to access
# the Internet from this machine. If you are unable
# to access the Internet from client machines after
# running this script, you most likely have a DNS
# issue.

if [ "`whoami`" != "root" ] ; then
echo "You must be root to use this script."
exit 1
fi
echo "This script will enable internet connection sharing"
echo "on your Linux machine. Press Enter key to continue."
read foo
gwdev=`route -n | grep ^0.0.0.0 | awk {'print $8'}`
ipt=`which iptables`
function die() {
echo $1
exit 1
}
if [ ! -x $ipt ] ; then
echo "iptables does not exist, is not in your PATH, or is not executable"
exit 1
fi
echo "Enabling IP forwarding..."
test -z `echo "1" > /proc/sys/net/ipv4/ip_forward` || die "IP forwarding failed"
echo "Enabling IP masquerading..."
test -z `iptables -t nat -I POSTROUTING -o $gwdev -j MASQUERADE` || die "Masquerade failed"
echo "Allowing traffic traffic from the local network..."
test -z `iptables -I FORWARD -o $gwdev -j ACCEPT` || die "Allow forwarded traffic failed"
echo "Enabling connection tracking..."
test -z `iptables -I FORWARD -i $gwdev -m state --state ESTABLISHED,RELATED -j ACCEPT` || die "Connection tracking failed"
echo "Internet connection sharing enabled. Enjoy!"


Lo que tienes que hacer es crear un archivo con el nombre que desees (ej. ishare) en el directorio /usr/bin/ y copiar dentro de el exactamente el script de arriba.
Una vez creado el archivo con el script entonces tienes que darle permiso de ejecucion de la siguiente manera desde root:

chmod 755 /usr/bin/archivo

Una vez hecho esto la maquina server ya esta lista, ahora pasamos a crear el archivo para el script de la maquina cliente.

Este script solo consta de tres lineas:

#! /bin/sh
ifconfig eth0 192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0
route add default gw 192.168.0.1


Para este script crea un archivo con el nombre que desees (ej. isharec) en el directorio /usr/bin/ y hay que darle permisos de ejecucion de la misma manera:

chmod 755 /usr/bin/archivo


Ya teniendo todo hecho hasta este paso ya solo es cuestion de ejecutar ambos scripts.

Al tener las dos maquinas encendidas y la maquina server conectada ya a internet entonces en la maquina server ejecuta el archivo del script de esa maquina siendo root desde cualquier directorio (solo es cuestion de escribir el nombre del archivo y presionar enter)

Sigue los breves pasos del script hasta que te diga: "Internet connection sharing enabled. Enjoy!"

Despues ejecuta esto como root:

ifconfig eth0 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0

Ahora en la maquina cliente ejecuta de la misma manera el archivo creado para esta maquina, este no te dara ningun mensaje, y si te da alguno sera de error o de que ya habia sido ejecutado el archivo.

Ahora si con esto ya deberas poder navegar en ambas maquinas.

Cada vez que quieras compartir conexion de hoy en adelante solo tendras que ejecutar los archivos (script) cada vez que inicies sesion, asi como la linea extra de la maquina server (ifconfig.....)

Creo mas explicito no pude ser, jejeje.
Espero que no se les dificulte nada y tomen en cuenta que deben de cumplir con los pasos previos mencionados al principio, si no van a haber fallas.

Las dudas, comentarios, complementos, etc son bienvenidos.
__________________
Our shadow is taller than our soul

Última edición por Raenk; 27/06/2003 a las 23:03
  #2 (permalink)  
Antiguo 28/06/2003, 20:30
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 22 años, 5 meses
Puntos: 0
100% basico felicidades, ya algun admin se encargara de moverlo a guias y manuales.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.