Iptables não está aplicando regra

Iniciado por groove, 21 de Novembro de 2011, 00:12

tópico anterior - próximo tópico

groove

Bom dia, estou com dificuldades em configurar o iptables aqui pra rejeitar requisições, meu cenário é este:

Máquina firewall:

auto eth0
iface eth0 inet static
    address 10.2.3.10
    netmask 255.255.255.0
    gateway 10.2.3.1

auto eth0:1
iface eth0:1 inet static
    address 10.28.3.10
    netmask 255.255.255.0

Regras:

iptables -A INPUT -j DROP

No firewall possuo duas redes diferentes, onde a rede da interface eth0 se conecta a outra rede(gateway).
Quando de uma outra rede eu pingo o 10.2.3.10 o firewall funciona perfeitamente dropando os pacotes, agora quando pingo 10.28.3.10 o firewall não faz nada, simplesmente deixa tudo passar. O que ocorre?
Ubuntu 18.04

jeflui

Tentou a política padrão como DROP?
iptables -P INPUT DROP

zekkerj

Mostre seu script de firewall.

PS: O iptables não conhece sub-interfaces. Pra ele, só há a interface principal. Se vc estiver tentando filtrar pela interface, não vai funcionar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

groove

Meu script de firewall foi o que eu apresentei, estou tentando bloquear tudo primeiro pra ver funcionar, depois eu vou estudando as regras que necessito.
Citar
PS: O iptables não conhece sub-interfaces. Pra ele, só há a interface principal. Se vc estiver tentando filtrar pela interface, não vai funcionar.
Como eu tenho duas interfaces na máquina firewall(eth0, eth0:1), como faço pra aplicar as regras a interface eth0:1 também?
Tentei criar uma regra filtrando pela interface porém sem sucesso :(
iptables -A INPUT -i eth0:1 -j DROP
Ubuntu 18.04

zekkerj

CitarMeu script de firewall foi o que eu apresentei
Onde? Eu só vi uma regra... isso é seu script?

Citarestou tentando bloquear tudo primeiro pra ver funcionar, depois eu vou estudando as regras que necessito.
Sugestão:

iptables -P INPUT DROP

Isso basta pra bloquear tudo que chegar pra sua máquina. Isso altera a política do iptables, de forma que ele passa a bloquear tudo que chega, a menos que vc libere explicitamente.

CitarComo eu tenho duas interfaces na máquina firewall(eth0, eth0:1), como faço pra aplicar as regras a interface eth0:1 também?
Não faz. O iptables só trabalha com a interface principal (eth0). Note que vc não tem duas interfaces realmente, vc só tem uma (eth0). A outra é um apelido pra mesma interface. A única forma de você trabalhar isso é filtrar pelo endereço de origem dos pacotes:

iptables -A INPUT -i eth0 -s 10.28.3.0/24 -j DROP
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

groove

Citar
CitarMeu script de firewall foi o que eu apresentei
Onde? Eu só vi uma regra... isso é seu script?
Por enquanto só, hehe

Citarestou tentando bloquear tudo primeiro pra ver funcionar, depois eu vou estudando as regras que necessito.
Sugestão:

Citar
iptables -P INPUT DROP
Isso basta pra bloquear tudo que chegar pra sua máquina. Isso altera a política do iptables, de forma que ele passa a bloquear tudo que chega, a menos que vc libere explicitamente.
Vou testar desta forma.

Citar
CitarComo eu tenho duas interfaces na máquina firewall(eth0, eth0:1), como faço pra aplicar as regras a interface eth0:1 também?
Não faz. O iptables só trabalha com a interface principal (eth0). Note que vc não tem duas interfaces realmente, vc só tem uma (eth0). A outra é um apelido pra mesma interface. A única forma de você trabalhar isso é filtrar pelo endereço de origem dos pacotes:

iptables -A INPUT -i eth0 -s 10.28.3.0/24 -j DROP
[/quote]
Entendi, estava errando nesta parte então. Vou tentar identificar a origem dos pacotes.

Mas veja uma definição que encontrei:
CitarFORWARD - consultado para dados que são redirecionados para outra interface de rede ou outra máquina.
Aqui fala-se sobre o redirecionamento entre interfaces, é o mesmo contexto que estamos discutindo?
Ubuntu 18.04

zekkerj

A cadeia FORWARD age quando o pacote está sendo roteado, ou seja, quando ele chega em uma das interfaces da máquina e seu destino não é o endereço da própria máquina.

Note que isso não inclui pacotes originados da própria máquina; estes são tratados na cadeia OUTPUT.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

groove

Não consigo aplicar as regras as redes das interfaces virtuais, só funciona na rede eth0. Não sei mais o que fazer nisso =((
Ubuntu 18.04

zekkerj

Mostra o que está fazendo/já fez/quer fazer.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

groove

Tenho uma máquina firewall, a qual possui duas interfaces de rede:
eth0: 10.2.3.10
eth0:1: 10.12.3.1 (atua como gateway pra maquina banco de dados)
A interface eth0 se conecta a máquina gateway.
A interface eth0:1 se conecta a máquina banco de dados

Estou aplicando as regras do firewall na máquina firewall(duh), porém as regras tem efeito apenas para interface eth0, mas quando os pacotes são enviados para a interface virtual eth0:1 nada acontece.

Tentei fazer como você falou, indicando a rede que desejo criar a regra iptables, mas mesmo assim não funciona.
Ubuntu 18.04

zekkerj

Isso eu já entendi... quero que vc mostre as regras que está tentando usar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D