Estou no processo de instalação do iptables em uma máquina armhf Debian 8.7 incorporada que não tem acesso à Internet. Meu método tem sido encontrar manualmente os arquivos do pacote .deb nos arquivos do Debian e, em seguida, enviá-los por FTP para a máquina Debian 8.7 e executar o dpkg.
Depois de um pouco de dificuldade, aparentemente consegui instalar o pacote iptables .deb e todas as suas dependências. No entanto, quando começo a tentar usar o iptables, recebo o seguinte erro:
modprobe: FATAL: Module ip_tables not found.
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need insmod?)
Ao executar lsmod
posso de fato ver que o módulo ip_tables não está carregado ou mesmo instalado na minha máquina (não consigo encontrar os .ko em nenhum lugar da minha máquina).
Estou curioso - o dpkg do iptables deveria ter instalado os módulos do kernel do iptables? Ou o dpkg lida apenas com a configuração do espaço do usuário? Nota - não acredito que minha versão do kernel já tenha o iptables compilado nela.
dpkg
instala tudo o que é fornecido nos pacotes fornecidos e executa os scripts do mantenedor incluÃdos nos pacotes.Nesse
iptables
caso, oiptables
próprio comando se encarrega de carregar os módulos relevantes do kernel. No entanto, os módulos do kernel precisam estar disponÃveis - isso geralmente é feito pelo pacote do kernel, mas em sistemas embarcados também é bastante comum encontrar kernels personalizados que podem não ter todos os módulos necessários, ou onde os módulos precisam ser instalados em alguns maneira especÃfica da plataforma.Dependendo do seu sistema exato, você poderá instalar o kernel Debian (
linux-image-3.16.0-6-armhf
); se você puder inicializar com isso, ele fornecerá osiptables
módulos.