Execução de comandos iptables na inicialização (no bloqueio, dispositivo IoT)

1

Estou usando um modem / roteador de celular que está executando uma distribuição personalizada de fornecedor do kernel Linux 3.12.70.

Gostaria de adicionar regras personalizadas de iptables , mas elas continuam sendo excluídas na reinicialização.

Eu tentei a solução link 2, mas isso não funciona.

Como observação, quando eu executo cat no iptables-restore e ipstables-save eu fico com rabiscos, então talvez eles sejam binários ou protegidos por criptografia.

No entanto, se eu executar comandos iptables individuais via SSH, eles permanecerão e funcionarão até a reinicialização.

Estou tentando descobrir uma maneira de automatizar a execução de regras iptables individuais por meio da CLI na reinicialização.

Eu adicionei um #!/bin/sh -e com as linhas que eu quero adicionar, coloquei no diretório init.d , tornei-o executável, executei update-rc.d e copiei para o diretório rc5.d via ln -s .

    
por solarsensei 23.03.2018 / 22:27

1 resposta

0
  1. sudo -s (é para fazer login como root)
  2. mount -o remount, rw / (Isso montará o sistema de arquivos inteiro no modo de leitura / gravação)
  3. crie um script em /etc/init.d/ (no meu caso eu criei o script install_firewall.sh)
  4. "update-rc.d inicie 99 5". (use o comando update-rc.d para adicionar o script ao seu nível de execução desejado. No meu caso, o comando "update-rc.d install_firewall.sh start 99 5." coloca install_firewall.sh para executar o nível 5 com uma prioridade de 99 significa que será o último script a ser executado após a reinicialização.)
  5. Em meu script, acrescentei um atraso de 35s para garantir que todas as regras de firewall do código fossem aplicadas e, em seguida, começamos a manipulá-las por meio do script.

'#! / bin / bash'

sleep 35
iptables [...]//Add custom iptables rules here
exit 0
    
por 05.04.2018 / 20:45