• Portada
    • Recent
    • Users
    • Register
    • Login

    Ayuda con un script

    Scheduled Pinned Locked Moved Sistemas operativos
    15 Posts 3 Posters 1.0k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • vallekanoV Offline
      vallekano
      last edited by

      Bueno, pues mi problema es que no se hacer un script.

      Para que mi pc-router haga nat tengo que ejecutar unas pocas lineas. Entonces he leido que se metan en un script y se enlace en los directorios /etc/rd5.d/S98nombre_fichero y en el /etc/rc3.d tambien para evitar problemas.

      Pues por lo que he leido sobre script sería crear un archivo de texto plano con el vim por ejemplo en el que he incluido:

      #! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward  cat /proc/sys/net/ipv4/ip_forward  # Limpiaremos las reglas del iptables:  /sbin/iptables --flush /sbin/iptables --table nat --flush # Activaremos el NAT con enmacaramiento en las reglas del iptables:  /sbin/iptables --table nat --append POSTROUTING \           --out-interface eth0 -j MASQUERADE /sbin/iptables --append FORWARD --in-interface eth1 -j  ACCEPT  

      Y esto en teoria se podría ejecutar pero al hacerlo me da errores. Que está mal escrito de ese archivo??

      Esque sino cada vez que arranca el pc tengo que meter todo eso a mano y es un coñazo.

      1 Reply Last reply Reply Quote 0
      • josefuJ Offline
        josefu
        last edited by

        Que errores te da??

        1 Reply Last reply Reply Quote 0
        • vallekanoV Offline
          vallekano
          last edited by

          Bueno, pues aquí está el resultado:

          # ./archivo_proxy : command not found : command not found : No existe el fichero o el directorio : command not found : command not found 'ptables v1.2.6a: Unknown arg `--flush Try `iptables -h' or 'iptables --help' for more information. 'ptables v1.2.6a: Unknown arg `--flush Try `iptables -h' or 'iptables --help' for more information. : command not found 'ad argument ` Try `iptables -h' or 'iptables --help' for more information. ./archivo_proxy: --out-interface:command not found 'ptables v1.2.6a: Invalid target name `ACCEPT Try `iptables -h' or 'iptables --help' for more information. : command not found : command not found  

          Es como si no lo pillase bien porque a veces es como si intentase ejecutar "ptables" en vez de "iptables"

          No se, como si se comiese la primera línea.

          1 Reply Last reply Reply Quote 0
          • OxygeNO Offline
            OxygeN
            last edited by

            yo eske hace mucho k no miro lo de los scripts pero para ejecutar comandos externos se podia usar el comando "exec " mira a ver si encuentras asi algo (man exec)

            Igual no te sirve de nada, no se!

            porcierto, si la aplicacion solo puede ser usada por el root para un user corriente (una aplicacion que ejecuta un comando no es root, no tiene su uid) dicha aplicacion aparece oculta al usuario normal y la muestra como "comando no encontrado"

            no se, mira algo de eso igual el problema del PATH que no esta la aplicacion en el lugar adecudao (aunque veo que pones la ruta)….. en fin yo doi opiniones, igual no te sirven de nada, pero oye pasas un buen rato leyendo jejejeje

            1 Reply Last reply Reply Quote 0
            • vallekanoV Offline
              vallekano
              last edited by

              Bueno, ahora miraré un poco mas a ver si averiguo algo pero joer, ninguno teneis un pc haciendo de router????

              Esque tendreis que haber echo esto no?????

              1 Reply Last reply Reply Quote 0
              • vallekanoV Offline
                vallekano
                last edited by

                Bueno, pues no entiendo nada.

                Resulta que me he creado otro archivo y he puesto nada mas:

                #! /bin/bash
                echo hola

                Y funcionaba.
                Entonces he ido añadiendo lineas y probando y al final he escrito un fichero idéntico al que tenia y funciona.

                He mirado y tenian los mismos permisos de ejecucion/lectura/escritura. Y pertenecian al mismo usuario/grupo asique NPI de que pasaba.

                Ahora solo me falta el tema de los enlaces, que tengoq ue reiniciar para ver si lo he echo bien. Sino ya os daré el coñazo un poco.:D

                1 Reply Last reply Reply Quote 0
                • vallekanoV Offline
                  vallekano
                  last edited by

                  Vale, pues no funciona.

                  Arranco el Pc y no me hace NAT. He ejecutado el script y funcionaba el NAT asique el script está perfecto.

                  Entonces: ¿Como hago para que me lo ejecute al inicio solo?
                  Hize lo siguiente:

                  ln -s arrancar_proxy /etc/rd5.c/S98arrancar_proxy
                  ln -s arrancar_proxy /etc/rd3.c/S99arrancar_proxy

                  Como ví en una web, pero por lo que veo no lo ejecuta al inicio.

                  Help please.

                  1 Reply Last reply Reply Quote 0
                  • josefuJ Offline
                    josefu
                    last edited by

                    En debian:
                    Lo metes todo en un script, colocas el script en /etc/init.d y ejecutas:
                    _update-rc.d _

                    1 Reply Last reply Reply Quote 0
                    • vallekanoV Offline
                      vallekano
                      last edited by

                      Publicado originalmente por josefu
                      En debian:
                      Lo metes todo en un script, colocas el script en /etc/init.d y ejecutas:
                      _update-rc.d _

                      1 Reply Last reply Reply Quote 0
                      • josefuJ Offline
                        josefu
                        last edited by

                        Primero ejecuta esto:
                        update-rc.d -f proxy remove
                        Para quitar los posibles enlaces que hayas puesto en los rcx, si no te funciona, quitalos a mano.

                        Luego ejecuta:

                        /etc/init.d/iptables clear
                        Para limpiar las posibles reglas que existiesen

                        /etc/init.d/iptables save inactive
                        Para guardar una configuración 'virgen' de reglas por si alguna vez quieres que iptables deje de actuar

                        Ejecuta las reglas que necesites en tu caso

                        y finalmente ejecutas:
                        /etc/init.d/iptables save active

                        Lee los comentarios en /etc/default/iptables, dan buena información sobre el funcionamiento de este script

                        Luego, para activar el ipforwarding, en vez de hacer un echo "1" > … (que tb valdría), ves al archivo /etc/network/options y pon el valor ip_forward activado:

                        ip_forward=yes  
                        1 Reply Last reply Reply Quote 0
                        • josefuJ Offline
                          josefu
                          last edited by

                          Se me olvidaba, luego tienes que hacer que el script /etc/init.d/iptables se ejecute siempre al arrancar con:

                          update-rc.d iptables defaults

                          1 Reply Last reply Reply Quote 0
                          • vallekanoV Offline
                            vallekano
                            last edited by

                            Bueno, casi casi está.

                            Funcionar no funciona, pero si tras el reinicio hago:
                            "echo 1 > /proc/sys/net/ipv4/ip_forward" entonces sí.

                            Y tengo puesta la variable "ip_forward" de /etc/network/options a "on".

                            Osea, que las reglas si que las ha pillado ya bien, pero no activa la variable esta bien, por lo que sea.

                            1 Reply Last reply Reply Quote 0
                            • josefuJ Offline
                              josefu
                              last edited by

                              No se si se puede poner 'on' o 'yes' (como te he dicho antes), pero a mi con un 'yes' si que me funciona

                              1 Reply Last reply Reply Quote 0
                              • vallekanoV Offline
                                vallekano
                                last edited by

                                Efectivamente tengo puesto "yes". Lo de "on" me lo he inventado. Pero no va…:llorar: :llorar: :llorar:

                                1 Reply Last reply Reply Quote 0
                                • josefuJ Offline
                                  josefu
                                  last edited by

                                  Es un poco extraño eso, pero como solución provisional, deja el 'echo 1 > …' en un script y haz que se ejecute ese script de la misma manera que has hecho con el anteriormente mencionado 'iptables' (update-rc.d ...)

                                  1 Reply Last reply Reply Quote 0

                                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                  With your input, this post could be even better 💗

                                  Register Login
                                  • 1 / 1
                                  • First post
                                    Last post

                                  Foreros conectados [Conectados hoy]

                                  1 usuarios activos (0 miembros y 1 invitados).
                                  febesin, pAtO, smith, Yorus

                                  Estadísticas de Hardlimit

                                  Los hardlimitianos han creado un total de 543.7k posts en 62.9k hilos.
                                  Somos un total de 35.1k miembros registrados.
                                  maynard3662503 ha sido nuestro último fichaje.
                                  El récord de usuarios en linea fue de 123 y se produjo el Thu Jan 15 2026.