PDA

Ver la versión completa : [Ayuda] ¿Como cargar estos comandos al incio en Ubuntu?



geekko
09/02/2009, 12:36
Mi sistema: Ubuntu 8.10
Objetivo: Conectar la xbox a la red mediante conexion compartida

Cada vez que quiero conectar la consola a la red, tengo que escribir estos comandos en el terminal:



sudo -s
echo "1" >/proc/sys/net/ipv4/ip_forward
ifconfig eth1 up
ifconfig eth1 10.0.0.1
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3074 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp -m multiport --dports 88,3074 -j DNAT --to-destination 10.0.0.2
iptables -A FORWARD -i eth0 -d 10.0.0.2 -p tcp --dport 3074 -j ACCEPT
iptables -A FORWARD -i eth0 -d 10.0.0.2 -p udp -m multiport --dports 88,3074 -j ACCEPT

¿Hay alguna manera de que se carguen con el sistema? He probado con un fichero de texto que he nombrado "live.sh" en el que he metido los comandos en cuestion pero no sirve de nada despues de ejecutarlo.

:brindis:

joanmarc
09/02/2009, 12:44
Vete a system --> Preferences --> Sessions y añades los comando seguidos, separados entre si por ";" como si fuera un programa, con "Add", es decir,


sudo -s;echo "1" >/proc/sys/net/ipv4/ip_forward;ifconfig eth1 up;...

Por cierto, un compi me comenta que lo del .sh deveria funcionar, si lo copias tal cual dentro y lo ejecutas (has provado des de un terminal ?)

xzakox
09/02/2009, 12:44
añade al inicio del live.sh:
#!/bin/bash

para que lo ejecute con el interprete bash... luego haz un chmod +x live.sh para que sea ejecutable...
y lo mueves (usando sudo) a /usr/local/bin por ejemplo
Prueba ahora a ejecutar: sudo live.sh

Y me dices si va.
Si va bien, solo tendrias que añadirlo en /etc/rc.local antes de 'exit 0'

JoJo_ReloadeD
09/02/2009, 12:45
sudo su
cd /etc/init.d
vi autoexec

y en autoexec...

#!/bin/bash

echo "1" >/proc/sys/net/ipv4/ip_forward
ifconfig eth1 up
ifconfig eth1 10.0.0.1
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3074 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp -m multiport --dports 88,3074 -j DNAT --to-destination 10.0.0.2
iptables -A FORWARD -i eth0 -d 10.0.0.2 -p tcp --dport 3074 -j ACCEPT
iptables -A FORWARD -i eth0 -d 10.0.0.2 -p udp -m multiport --dports 88,3074 -j ACCEPT

:wq (guarda y cierra archivo)

chmod 755 autoexec
update-rc.d autoexec defaults

xzakox
09/02/2009, 12:48
Como veis, hay mas de una manera y estilo de hacer las cosas xD

geekko
09/02/2009, 12:59
Vete a system --> Preferences --> Sessions y añades los comando seguidos, separados entre si por ";" como si fuera un programa, con "Add", es decir,



Por cierto, un compi me comenta que lo del .sh deveria funcionar, si lo copias tal cual dentro y lo ejecutas (has provado des de un terminal ?)
Sumate un fail

Y si, lo probe tanto ejecutandolo en terminal como con doble click. Fail

añade al inicio del live.sh:
#!/bin/bash

para que lo ejecute con el interprete bash... luego haz un chmod +x live.sh para que sea ejecutable...
y lo mueves (usando sudo) a /usr/local/bin por ejemplo
Prueba ahora a ejecutar: sudo live.sh

Y me dices si va.
Si va bien, solo tendrias que añadirlo en /etc/rc.local antes de 'exit 0'
Apuntate un fail



sudo su
cd /etc/init.d
vi autoexec

y en autoexec...

#!/bin/bash

echo "1" >/proc/sys/net/ipv4/ip_forward
ifconfig eth1 up
ifconfig eth1 10.0.0.1
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3074 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp -m multiport --dports 88,3074 -j DNAT --to-destination 10.0.0.2
iptables -A FORWARD -i eth0 -d 10.0.0.2 -p tcp --dport 3074 -j ACCEPT
iptables -A FORWARD -i eth0 -d 10.0.0.2 -p udp -m multiport --dports 88,3074 -j ACCEPT

:wq (guarda y cierra archivo)

chmod 755 autoexec
update-rc.d autoexec defaults

Punto para Jojo! Estupendo tio, asi me ha funcionado

Como veis, hay mas de una manera y estilo de hacer las cosas xD
Sumate otro fail :quepalmo:

Gracias a todos :brindis:

xzakox
09/02/2009, 13:33
Ehmmm... tengo varias cosas asi, ALGO HARIAS MAL
xDDDD

geekko
09/02/2009, 13:58
Ehmmm... tengo varias cosas asi, ALGO HARIAS MAL
xDDDD

Probablemente :D

joanmarc
09/02/2009, 15:39
xDDDDDDDDDD ****** :quepalmo:

efegea
09/02/2009, 15:42
Pues la forma de jojo es la forma de hacerlo. Pues es la única que le da permisos de ejecución al archivo :D

juanvvc
09/02/2009, 16:21
Pos yo creo que lo mejor es guardar el script en el directorio /etc/network/if-up.d/ con permisos de ejecución para root y a correr :D Si no dejará de funcionar cada vez que encienda/apague la red desde cualquier herramienta gráfica de Ubuntu como network-manager

< - >
Por cierto, no encuentro nada de información sobre el archivo /etc/init.d/autoexec ¿Alguién me puede decir cómo funciona? Es decir... ¿quién lo llama? ¡Acias!

otto_xd
09/02/2009, 16:29
Pos yo creo que lo mejor es guardar el script en el directorio /etc/network/if-up.d/ con permisos de ejecución para root y a correr :D Si no dejará de funcionar cada vez que encienda/apague la red desde cualquier herramienta gráfica de Ubuntu como network-manager

< - >
Por cierto, no encuentro nada de información sobre el archivo /etc/init.d/autoexec ¿Alguién me puede decir cómo funciona? Es decir... ¿quién lo llama? ¡Acias!

autoexec es un nombre, podria llamarse enrique o juan, es decir, es el script que va a ejecutar el demonio init, por eso despues se acualiza el rc.d

Lo que no entiendo es porque no ha funcionado haciendolo de forma manual, asi tenia varias cosas hace tiempo :S

juanvvc
09/02/2009, 16:34
autoexec es un nombre, podria llamarse enrique o juan, es decir, es el script que va a ejecutar el demonio init, por eso despues se acualiza el rc.d


Pues eso pensaba yo, que había que actualizar el rc2.d ó event.d (mejor esto último, por eso de ser coherente con el nuevo sistema de inicio de Ubuntu) El caso es que ni Jojo ni Geekko han dicho nada de eso :)

JoJo_ReloadeD
09/02/2009, 16:57
Pues eso pensaba yo, que había que actualizar el rc2.d ó event.d (mejor esto último, por eso de ser coherente con el nuevo sistema de inicio de Ubuntu) El caso es que ni Jojo ni Geekko han dicho nada de eso :)

update-rc.d crea los enlaces simbolicos de /etc/init.d a /etc/rcX.d, en funcion del runlevel en el que te encuentres. Despues ha reiniciado y listo. Que con un ./autoexec hubiera rulao? Pos claro...

Tambien para dejarlo bonito habria que controlar los parametros start, stop y restart, pero tampoco queria liar mucho el tema.

juanvvc
09/02/2009, 17:04
update-rc.d crea los enlaces simbolicos de /etc/init.d a /etc/rcX.d.

¡Ahora veo ese comando! En Konqueror se me quedaba escondido y no había visto la barra de desplazamiento :D:D ¡Gracias!

otto_xd
12/02/2009, 13:00
update-rc.d crea los enlaces simbolicos de /etc/init.d a /etc/rcX.d, en funcion del runlevel en el que te encuentres. Despues ha reiniciado y listo. Que con un ./autoexec hubiera rulao? Pos claro...

Tambien para dejarlo bonito habria que controlar los parametros start, stop y restart, pero tampoco queria liar mucho el tema.

Start stop y restart tendrian que estar escritos en el script, no?

Es una duda que tengo... en caso de problemas con el script, el sistema intenta de forma automatica hacer un "nombre_script restart" o "nombre_script stop"??

Saludos