Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

1. Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 13/01/2014 - 15:55h

Boa Tarde Amigos

Preciso bloquear a internet de uma estação e liberar o acesso a rede da mesma.

Via IPTables fiz o seguinte código:


#!/bin/sh -e

echo "# Limpando Regras Anteriores."
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle

echo "# Configuração de Interface."
IP_range=10.0.0.0/8 # Faixa de IP.
WAN_iface=eth0 # Conexao com a Internet.
Lan_iface=eth1 # Conexao com a Rede Interna.

echo "# Regras."
iptables -A FORWARD -i $IP_range -d 10.0.0.100 -j ACCEPT
iptables -A FORWARD -i $WAN_iface -d 10.0.0.100 -j DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

echo "# Mascaramento."
iptables -t nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE


Consegui bloquear o acesso a internet com o segunda linha do Echo Regras.
Só que não consigo acesso as outras estações da rede com Windows 7

Tentei a primeira linha, pensando em liberar todo o acesso que venha da "Rede Interna" mas mesmo assim ainda não consigo acessar outros computadores.

Agradeço pela ajuda antecipada.

Diego Garcia


  


2. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 13/01/2014 - 17:10h

Boa tarde.

Tua regra iptables -A FORWARD -i $IP_range -d 10.0.0.100 -j ACCEPT "está errada" não existe -i $IP_range tendo em vista que "-i vem de in" logo seria tudo que entrar por 10.0.0.0/8 com destino "-d" a 10.0.0.100 ACCEPT isso está errado.

Com relação a regras vc sempre começa das mais específicas para as mais genéricas. Logo uma maneira seria:

iptables -A FORWARD -s 10.0.0.100 -p tcp --dport 80 -d endereço_do_meu_gateway_de_internet -j DROP

* (Levando em conta que a porta default para acesso a internet é está)


Com isso tudo que tiver origem IP 100 com destino IP do teu Gateway de internet será descartado, o restante continua valendo. Digo não é preciso está outra regra q vc criou.

Obs: Não entrei no mérito de como está definida sua POLICE DEFAULT, neste caso adotei a POLICE DEFAULT COMO ACCEPT







3. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 13/01/2014 - 17:31h

souzacarlos escreveu:

Boa tarde.

Tua regra iptables -A FORWARD -i $IP_range -d 10.0.0.100 -j ACCEPT "está errada" não existe -i $IP_range tendo em vista que "-i vem de in" logo seria tudo que entrar por 10.0.0.0/8 com destino "-d" a 10.0.0.100 ACCEPT isso está errado.

Com relação a regras vc sempre começa das mais específicas para as mais genéricas. Logo uma maneira seria:

iptables -A FORWARD -s 10.0.0.100 -p tcp --dport 80 -d endereço_do_meu_gateway_de_internet -j DROP

* (Levando em conta que a porta default para acesso a internet é está)


Com isso tudo que tiver origem IP 100 com destino IP do teu Gateway de internet será descartado, o restante continua valendo. Digo não é preciso está outra regra q vc criou.

Obs: Não entrei no mérito de como está definida sua POLICE DEFAULT, neste caso adotei a POLICE DEFAULT COMO ACCEPT


Boa Tarde Amigo souzacarlos,
Obrigado por responder.

Bem, fiz a alteração que me indicou e não surtiu o efeito que eu desejava.

Segue o código agora:


#!/bin/sh -e

echo "# Limpando Regras Anteriores."
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle

echo "# Configuração de Interface."
IP_range=10.0.0.0/8 # Faixa de IP.
WAN_iface=eth0 # Conexao com a Internet.
Lan_iface=eth1 # Conexao com a Rede Interna.

echo "# Regras."
iptables -A FORWARD -s 10.0.0.100 -p tcp --dport 80 -d 10.0.0.1 -j DROP
#iptables -A FORWARD -i $IP_range -d 10.0.0.100 -j ACCEPT
#iptables -A FORWARD -i $WAN_iface -d 10.0.0.100 -j DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

echo "# Mascaramento."
iptables -t nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE



Pode ser que eu esteja errando em mais algo. Vou apontar o cenário:

Estou rodando o Debian KDE 7.2
Neste Debian, tenho instalado as seguintes VMs:

Ubuntu 10.04 Server (Eth0 NAT DHCP) (Eth1 Rede Interna 10.0.0.1)
Windows 7 Starter (W7A) (Rede Interna 10.0.0.100)
Windows 7 Starter (W7B) (Rede Interna 10.0.0.101)

Na atual situação as estações acessam a internet e eu quero bloquear somente a W7A
Na parte de Rede, a W7A não consegue acessar a W7B mas a W7B consegue acessar os compartilhamentos da W7A

Bom, se tiver mas alguma informação que precisem, estou a disposição.

Imagem de como esta o cenário:

http://imageshack.com/a/img138/4065/tvai.png


4. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 13/01/2014 - 18:31h

Boa noite, diz uma coisa, as estações como estão definidas as placas de rede delas NAT ou Bridge? Elas conseguem pingar uma a outra? Como esta definida tua política padrão do iptables ACCEPT ou DROP?


5. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 14/01/2014 - 08:52h

souzacarlos escreveu:

Boa noite, diz uma coisa, as estações como estão definidas as placas de rede delas NAT ou Bridge? Elas conseguem pingar uma a outra? Como esta definida tua política padrão do iptables ACCEPT ou DROP?


Bom Dia Amigo,

Como eu disse acima, a eth1, e as duas estações estão definidas como "Rede Interna"
A Estação W7A pinga nos ips 10.0.0.1 e 10.0.0.101
A Estação W7B pinga nos ips 10.0.0.1 e 10.0.0.100



6. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 14/01/2014 - 13:28h

Boa tarde, seguinte faz um teste, vc disse que W7A continua acessando a internet mesmo após a inclusão da regra proposta, vc poderia disponibilizar aqui a saída do iptables -L para dar uma olhada.

Diego-Garcia escreveu:

souzacarlos escreveu:

Boa noite, diz uma coisa, as estações como estão definidas as placas de rede delas NAT ou Bridge? Elas conseguem pingar uma a outra? Como esta definida tua política padrão do iptables ACCEPT ou DROP?


Bom Dia Amigo,

Como eu disse acima, a eth1, e as duas estações estão definidas como "Rede Interna"
A Estação W7A pinga nos ips 10.0.0.1 e 10.0.0.101
A Estação W7B pinga nos ips 10.0.0.1 e 10.0.0.100





7. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 14/01/2014 - 13:59h


Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP tcp -- 10.0.0.100 10.0.0.1 tcp dpt:www

Chain OUTPUT (policy ACCEPT)
target prot opt source destination



8. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 14/01/2014 - 14:09h

Mesmo com essa regra ai esta máquina 10.0.0.100 continua acessando a internet?

Tira uma dúvida, essa máquina precisa acessar algum serviço fora da rede local? caso não faz o teste remove esta regra que lhe passei antes e:

iptables -A FORWARD -s 10.0.0.100 -d 10.0.0.1 -j DROP

Com isso nenhum tráfego com origem deste user não vai passar, só pra ver se alguma outra coisa tá influenciando, lembrando que essa regra somente vai agir em tráfego que esteja atravessando o Router.

Diego-Garcia escreveu:


Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP tcp -- 10.0.0.100 10.0.0.1 tcp dpt:www

Chain OUTPUT (policy ACCEPT)
target prot opt source destination





9. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 14/01/2014 - 14:41h

Com o código abaixo;


#!/bin/sh -e

echo "# Limpando Regras Anteriores."
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle

echo "# Configuração de Interface."
IP_range=10.0.0.0/8 # Faixa de IP.
WAN_iface=eth0 # Conexao com a Internet.
Lan_iface=eth1 # Conexao com a Rede Interna.

echo "# Regras."
iptables -A FORWARD -s 10.0.0.100 -d 10.0.0.1 -j DROP
#iptables -A FORWARD -s 10.0.0.100 -p tcp --dport 80 -d 10.0.0.1 -j DROP
#iptables -A FORWARD -i $IP_range -d 10.0.0.100 -j ACCEPT
#iptables -A FORWARD -i $WAN_iface -d 10.0.0.100 -j DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

echo "# Mascaramento."
iptables -t nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE


consegui o seguinte resultado:

W7A (10.0.0.100):

Acesso a Internet. - Sim
Acesso as pastas compartilhadas do W7B. - Não
Ping 10.0.0.1 (Servidor). - Sim
Ping 10.0.0.101 (W7B). - Sim
Ping 192.168.1.109 (Meu computador Debian). - Sim

-----------------

W7B (10.0.0.101):

Acesso a Internet. - Sim
Acesso as pastas compartilhadas do W7A. - Sim
Ping 10.0.0.1 (Servidor). - Sim
Ping 10.0.0.101 (W7B). - Sim
Ping 192.168.1.109 (Meu computador Debian). - Sim



10. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 14/01/2014 - 14:43h

Uma última tentativa, coloca todas as placas como bridge para fazer um teste.
Diego-Garcia escreveu:

Com o código abaixo;


#!/bin/sh -e

echo "# Limpando Regras Anteriores."
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle

echo "# Configuração de Interface."
IP_range=10.0.0.0/8 # Faixa de IP.
WAN_iface=eth0 # Conexao com a Internet.
Lan_iface=eth1 # Conexao com a Rede Interna.

echo "# Regras."
iptables -A FORWARD -s 10.0.0.100 -d 10.0.0.1 -j DROP
#iptables -A FORWARD -s 10.0.0.100 -p tcp --dport 80 -d 10.0.0.1 -j DROP
#iptables -A FORWARD -i $IP_range -d 10.0.0.100 -j ACCEPT
#iptables -A FORWARD -i $WAN_iface -d 10.0.0.100 -j DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

echo "# Mascaramento."
iptables -t nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE


consegui o seguinte resultado:

W7A (10.0.0.100):

Acesso a Internet. - Sim
Acesso as pastas compartilhadas do W7B. - Não
Ping 10.0.0.1 (Servidor). - Sim
Ping 10.0.0.101 (W7B). - Sim
Ping 192.168.1.109 (Meu computador Debian). - Sim

-----------------

W7B (10.0.0.101):

Acesso a Internet. - Sim
Acesso as pastas compartilhadas do W7A. - Sim
Ping 10.0.0.1 (Servidor). - Sim
Ping 10.0.0.101 (W7B). - Sim
Ping 192.168.1.109 (Meu computador Debian). - Sim





11. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 14/01/2014 - 14:58h

Bom, agora o W7A e W7B acessam a internet e acessam os compartilhamentos de rede.

Preciso que o W7B continue do modo que esta e o W7A não acesse a internet, mas acesse os recursos de rede normalmente.


12. Re: Liberação da Rede e Bloqueio da Internet para Determinado IP [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 14/01/2014 - 15:04h

neste momento como está teu script posta ai q vou subir um cenário semelhante aqui


Diego-Garcia escreveu:

Bom, agora o W7A e W7B acessam a internet e acessam os compartilhamentos de rede.

Preciso que o W7B continue do modo que esta e o W7A não acesse a internet, mas acesse os recursos de rede normalmente.






01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts