como configurar no Debian iptables no boot [RESOLVIDO]

1. como configurar no Debian iptables no boot [RESOLVIDO]

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 23/05/2016 - 13:49h

Olá povo. Eu sempre recorro ao forum para ajuda, mas esse nao estou achando aqui.
Colocando um servidor para um lab de colegio... montei e esta funcionando so que no iptables tenho que digitar toda hora, e memos com os helps aqui nao consegui colocar no rc.local...
criei um script com os comandos: chamei de "levanta.sh"

##############/etc/init.d/levanta.sh
### BEGIN INIT INFOlevanta.sh
# Provides: levanta.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start levanta.sh at boot time
# Description: Enable service provided by levanta.sh.
### END INIT INFO
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


e tentei colocar uma linha no rc.local, para chamar ao boot. mas nada...
no rc, ja coloquei a linha com start no final. com . no inicio...
Desculpem, ja tinha o servidor no local, mas tive que repor a maquina... morreu. entao agora estou tendo que colocar a mao na massa e aprender...
obrigado pela ajuda!
[]s

"o inicio do rc.local"

##########################
#! /bin/sh
### BEGIN INIT INFO
# Provides: firewall.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start firewall.sh at boot time
# Description: Enable service provided by firewall.sh.
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions
echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/levanta.sh start
exit 0




  


2. Re: como configurar no Debian iptables no boot [RESOLVIDO]

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 23/05/2016 - 14:01h

cara, joga tudo dentro de um arquivo, dê permissão de execução, ai no rc.local, vc descreve caminho e nome do .sh, ele vai executar o script.. facil facil a cada boot.


3. mas fiz isso

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 23/05/2016 - 14:27h

como descrito no topico.
fiz os arquivos, coloquei no rc.local a linha de end para chamar...
mas testo na outra maquina e nao vai
mas se chamar no terminal do servidor . /etc/init.d/levanta.sh
ai consigo navegar na maquina do lab...

sou nub com linux, mas estou procurando ver como fazer, deve ser algo que esta me passando desapercebido...



4. Re: como configurar no Debian iptables no boot

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 23/05/2016 - 15:12h

Dessa forma coloque-o em /etc/init.d/ escolha uma das formas com insserv, update-rc.d ou systemctl para ativá-lo.


systemctl enable seu_serviço
update-rc.d seu_serviço enable
insserv -dv seu_serviço


Com a forma acima utilizada o sistema criará links para os runlevel [1|2|3|4||5|6].



=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================





5. na pratica seria isso?

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 23/05/2016 - 15:21h

[quote]ctw6av escreveu:

Dessa forma coloque-o em /etc/init.d/ escolha uma das formas com insserv, update-rc.d ou systemctl para ativá-lo.


systemctl enable seu_serviço
update-rc.d seu_serviço enable
insserv -dv seu_serviço




No rc.local ?


na pratica como ficaria o comando??


insserv -dv  . /etc/init.d/levanta.sh 


no rc.local?

"Igual a cego em tiroteio... testei varias opoces...


update-rc.d /etc/init.d/levanta.sh enable
update-rc.d ./etc/init.d/levanta.sh enable
insserv -dv . /etc/init.d/levanta.sh



6. Re: como configurar no Debian iptables no boot

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 23/05/2016 - 15:39h

Coloque o seu script em /etc/init.d de um nome sem extensão para ele por exemplo firewall e escolha uma (não todas) das opções que te dei na minha resposta anterior.

Tem também outras opções como o iptables-persistent ele é um plugin para o iptables que salva as regras e ativa elas no boot.

P.S: No GNU/Linux tem mais de um jeito de fazer qualquer coisa.



=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================





7. sim testei uma so opcao por vez...

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 23/05/2016 - 15:55h

até achei que estivesse o arquivo errado
e sim ele esta no /etc/init.d mesma pasta do rc.local
no terminal chamando
. /etc/init.d/levanta 

libera acesso das maquinas... mas manualmente...
no rc.local nao inicia....



#! /bin/sh
### BEGIN INIT INFO
# Provides: firewall.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start firewall.sh at boot time
# Description:NFO Enable service provided by firewall.sh.


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

echo 1 > /proc/sys/net/ipv4/ip_forward
#update-rc.d /etc/init.d/levanta enable
update-rc.d . /etc/init.d/levanta enable
#insserv -dv . /etc/init.d/levanta.sh
#insserv -dv /etc/init.d/levanta.sh
exit 0




8. Re: como configurar no Debian iptables no boot

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 23/05/2016 - 16:10h

Dá uma olhada no meu como ficou e faz no seu http://pastebin.com/AmKxbkSL eu ainda estou corrigindo uns errinhos nele, pois bem oque eu fiz foi colocá-lo em /etc/init.d com o nome firewall e depois digitei no terminal e não dentro do script:

update-rc.d firewall enable 


E para confirmar que está tudo certo:

service firewall status 







=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================





9. Re: como configurar no Debian iptables no boot [RESOLVIDO]

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 24/05/2016 - 08:14h

[quote]ctw6av escreveu:

Dá uma olhada no meu como ficou e faz no seu http://pastebin.com/AmKxbkSL eu ainda estou corrigindo uns errinhos nele, pois bem oque eu fiz foi colocá-lo em /etc/init.d com o nome firewall e depois digitei no terminal e não dentro do script:


rc.local
#! /bin/sh
### BEGIN INIT INFO
# Provides: firewall.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start firewall.sh at boot time
# Description: Enable service provided by firewall.sh.
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

update-rc.d firewall enable


arquivo firewall que esta em /etc/init.d

### BEGIN INIT INFO
# Provides: firewall.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start firewall.sh at boot time
# Description: Enable service provided by firewall.sh.

### END INIT INFO
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

mas nao entra no boot
tenho que digitar . firewall ja estando na pastar /etc/init.d ou dando o caminho com o arquivo...
tenho que instalar algo mais para ele trabalhar no boot sozinho ?



10. Re: como configurar no Debian iptables no boot

Buckminster
Buckminster

(usa Debian)

Enviado em 24/05/2016 - 08:51h

No Debian:

# chmod +x /etc/init.d/levanta.sh <<< dando permissão de execução.

Depois coloque dentro do arquivo /etc/rc.local a seguinte linha depois de exit 0, assim:

...
/etc/init.d/levanta.sh start

exit 0

Salve e saia do arquivo.
Reinicie a máquina.


11. nao chama o arquivo no boot...

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 24/05/2016 - 09:09h

troquei o nome de levanta.sh para firewall (sem extensao) como sugestao anterior.

como usuario root dei permissao para o arquivo como indicado
chmod +x /etc/init.d/firewall

Reiniciei, e depois do boot fiz um teste na maquina que deveria navegar e nada...
coloquei
service firewall status
para ver o estado...

root@debian-lab:~# service firewall status
â firewall.service - LSB: Start firewall.sh at boot time
Loaded: loaded (/etc/init.d/firewall)
Active: failed (Result: exit-code) since Ter 2016-05-24 09:00:47 BRT; 1min 0s ago
Process: 516 ExecStart=/etc/init.d/firewall start (code=exited, status=203/EXE C)

Mai 24 09:00:47 debian-lab systemd[1]: firewall.service: control process ex...03
Mai 24 09:00:47 debian-lab systemd[1]: Failed to start LSB: Start firewall....e.
Mai 24 09:00:47 debian-lab systemd[1]: Unit firewall.service entered failed...e.
Hint: Some lines were ellipsized, use -l to show in full.
root@debian-lab:~#

Mas se chamar o arquivo... /etc/init.d/firewall
a maquina navega...
mas engraçado, o erro agora continua...
root@debian-lab:~# /etc/init.d/firewall
root@debian-lab:~# service firewall status
â firewall.service - LSB: Start firewall.sh at boot time
Loaded: loaded (/etc/init.d/firewall)
Active: failed (Result: exit-code) since Ter 2016-05-24 09:00:47 BRT; 7min ago
Process: 516 ExecStart=/etc/init.d/firewall start (code=exited, status=203/EXEC)

Mai 24 09:00:47 debian-lab systemd[1]: firewall.service: control process exited, code=exited status=203
Mai 24 09:00:47 debian-lab systemd[1]: Failed to start LSB: Start firewall.sh at boot time.
Mai 24 09:00:47 debian-lab systemd[1]: Unit firewall.service entered failed state.




12. Resolvido

Ronei Oliveira
roneitpd

(usa Debian)

Enviado em 25/05/2016 - 12:43h

Obrigado meus caros amigos!
eu estava apontando para /etc/init.d/rc.local e fiz todos os teste que me indicaram e outros de outros sites...
so que, nao sei por que cargas d´agua, o sistema estava apontando para /etc/rc.local.
Ai nao fazia nada... Foi so colocar a linha de carregamento
no arquivo rc.local que estava no etc...
e foi.

Novamente meu muito obrigado pelas respostas e ajuda que me postaram.
abçs



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts