Configurar Rede Wirelles sem acesso a rede interna

1. Configurar Rede Wirelles sem acesso a rede interna

Edgar Rodrigues
edgarrodriguesde

(usa Suse)

Enviado em 21/03/2014 - 15:30h

Boa tarde pessoal tenho duvidas quanto a implantação de uma rede wirelles,

Tenho o seguinte cenário:

Rede Interna range: 172.16.8.0 mascara 255.255.248.0

Preciso criar uma rede Wirelles totalmente isolada da minha rede interna, como por exemplo 192.168.50.0
para que os dispositivos somente a internet. Trabalho com o Squid na minha rede interna.

Qual a melhor forma de implementar esta solução utilizando iptables e squid?






  


2. Re: Configurar Rede Wirelles sem acesso a rede interna

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 23/03/2014 - 14:59h

Boa tarde,

Colocar outra placa de rede nesse seu servidor seria uma boa opção!!!


3. Re: Configurar Rede Wirelles sem acesso a rede interna

Edgar Rodrigues
edgarrodriguesde

(usa Suse)

Enviado em 24/03/2014 - 09:11h

Bom dia SouzaCarlos, neste caso como faria as configurações de iptables e squid, para criar um nat entre as duas redes 172.16.8 em uma placa no caso a eth0 e a 192.16.8.50 na outra placa eth1?


4. Re: Configurar Rede Wirelles sem acesso a rede interna

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 24/03/2014 - 17:22h

edgarrodriguesde escreveu:

Bom dia SouzaCarlos, neste caso como faria as configurações de iptables e squid, para criar um nat entre as duas redes 172.16.8 em uma placa no caso a eth0 e a 192.16.8.50 na outra placa eth1?


=============================================

Boa tarde.

Preciso entender uma coisa... Essas redes vão ser falar? Ou vc só precisa q o tráfego pela rede 192.168.50.0 sai pra internet?



5. Re: Configurar Rede Wirelles sem acesso a rede interna

Edgar Rodrigues
edgarrodriguesde

(usa Suse)

Enviado em 24/03/2014 - 17:58h

Preciso apenas que a rede 192.168.50 saia para a internet...

Consegui fazer o nat entre as redes via iptables, mas nao consegui fazer o redirecionamento da porta 3128 do squid para a 80. para que o proxy fique transparente.


6. Re: Configurar Rede Wirelles sem acesso a rede interna

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 24/03/2014 - 23:48h

edgarrodriguesde escreveu:

Preciso apenas que a rede 192.168.50 saia para a internet...

Consegui fazer o nat entre as redes via iptables, mas nao consegui fazer o redirecionamento da porta 3128 do squid para a 80. para que o proxy fique transparente.


====================================================

Cara boa noite, seguinte...

Você cada hora acrescenta uma informação, essa rede também vai passar pelo squid? se sim posta ai teu squid.conf e teu arquivo de firewall.



7. Re: Configurar Rede Wirelles sem acesso a rede interna

Edgar Rodrigues
edgarrodriguesde

(usa Suse)

Enviado em 25/03/2014 - 09:22h

Bom dia sousacarlos, me desculpe na falta de informações. Meu cenário é o seguinte

Minha rede interna hoje de range 172.16.8.0/255.255.248.0, possui um firewall e gateway já funcionando.
O gateway é o 172.16.8.1 e nele já roda um squid autenticado.

Preciso criar uma rede para acesso somente a internet Wirelles. Para isso criei um servidor rodando OpenSuse com duas placas de rede: Rede interna na eth0: 172.16.8.82 e Rede externa na eth1: 192.168.50.0/255.255.255.0.

Nesta máquina instalei o squid e adicionei um script de inicialização para o iptables. A entrega de endereços DHCP está sendo gerenciada pelo accesspoint.


Segue Script Firewall:

#!/bin/sh

#Internet
INET_IP="172.16.8.82"
INET_IFACE="eth0"
INET_BROADCAST="172.16.8.255"

# LAN
WL_IP="192.168.50.1"
WL_IP_RANGE="192.168.50.0/24"
WL_IFACE="eth1"

# localhost
LO_IFACE="lo"
LO_IP="127.0.0.1"

# Pacotes TCP - Entrando
TCP_IN="domain,3128"

# Pacotes UDP - Portas RPC
UDP_RPC="135:139"
TCP_RPC="135:139"

# Pacotes UDP - Entrando e Saindo
UDP_INOUT="domain"

#IPT="/usr/sbin/iptables"
IPT="/sbin/iptables"

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc

# Limpeza e Exclusao de regras e chains
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -t filter -F
$IPT -t filter -X

# Ativacao do redirecionamento de pacotes
echo "1" > /proc/sys/net/ipv4/ip_forward

# Protecao contra IP Spoofing
for i in /proc/sys/net/ipv4/conf/*/rp_filter;
do echo 1 >$i
done

# Numero maximo de conexoes simultaneas
echo "512" > /proc/sys/net/ipv4/ip_conntrack_max

$IPT -N LOG_DROP
$IPT -A LOG_DROP -j LOG --log-prefix "Firewall: "
$IPT -A LOG_DROP -j DROP

# Inspecao em pacotes TCP (malformados, mal-intencionados)
$IPT -N pct_tcp_mformados

# Protecao contra IP Spoofing - Sequence Number Prediction
$IPT -A pct_tcp_mformados -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT \
--reject-with tcp-reset

# Tentativa de uma nova conexao numa conexao ja estabelecida
#$IPT -A pct_tcp_mformados -p tcp ! --syn -m state --state NEW -j LOG \
# --log-prefix "Pct Novo - sem SYN "
$IPT -A pct_tcp_mformados -p tcp ! --syn -m state --state NEW -j DROP


# Chain INPUT
$IPT -P INPUT DROP
$IPT -A INPUT -p tcp -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPT -A INPUT -p tcp -i $INET_IFACE -m state --state ! ESTABLISHED,RELATED \
# -j LOG --log-prefix "Tentativa de Invasao"

# Excessos de broadcasts nas portas RPC
$IPT -A INPUT -p tcp --dport $TCP_RPC -j DROP
$IPT -A INPUT -p udp --dport $UDP_RPC -j DROP
$IPT -A INPUT -p tcp -j pct_tcp_mformados

#$IPT -A INPUT -p tcp -i $INET_IFACE --syn -m multiport --dports $TCP_IN -j ACCEPT
#$IPT -A INPUT -p tcp -i $LAN_IFACE --syn -m multiport --dports $TCP_IN -j ACCEPT
$IPT -A INPUT -p tcp -i $INET_IFACE --syn --dport ssh -j ACCEPT
$IPT -A INPUT -p tcp -i $WL_IFACE -s $WL_IP_RANGE -j ACCEPT
$IPT -A INPUT -p all -s $LO_IP -j ACCEPT

# Bloquear Ataques DoS na chain INPUT
$IPT -A INPUT -p icmp -i $INET_IFACE -m limit --limit 1/s -j ACCEPT

$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT
$IPT -A INPUT -p tcp -d 0/0 -s 0/0 --dport 5666 -j ACCEPT # Porta NRPE - Nagios

# Criar LOG e DROPar tudo que nao foi estabelecido
#$IPT -A INPUT -j LOG_DROP

# Chain FORWARD
$IPT -P FORWARD DROP
$IPT -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p tcp -j pct_tcp_mformados
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.1 -j ACCEPT
$IPT -A FORWARD -p udp -s $WL_IP_RANGE -d 172.16.8.1 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.47 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.47 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.43 --dport 8082 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d webmail.uniaoatacado.com.br --dport 8080 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.0/21 -j ACCEPT #DROP
$IPT -A FORWARD -p udp -s $WL_IP_RANGE -d 172.16.8.0/21 -j ACCEPT #DROP
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 0/0 -j ACCEPT
$IPT -A FORWARD -p udp -s $WL_IP_RANGE -d 0/0 -j ACCEPT

# Libera acesso VPN
$IPT -A INPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A OUTPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A FORWARD -p TCP -m multiport --dport 1723,1701 -j ACCEPT
$IPT -A FORWARD -p UDP -m multiport --dport 1723,1701 -j ACCEPT

$IPT -A INPUT -p 47 -j ACCEPT
$IPT -A OUTPUT -p 47 -j ACCEPT
$IPT -A FORWARD -p 47 -j ACCEPT

# Enxergar a rede 172.16.<F3>
$IPT -A FORWARD -i eth1 -s 192.168.50.0/24 -d 172.16.8.0/21 -j ACCEPT
$IPT -A INPUT -p tcp --dport 2084 -j ACCEPT

# Bloquear Ataques DoS na chain FORWARD
$IPT -A FORWARD -p icmp -i $INET_IFACE -m limit --limit 1/s -j ACCEPT
$IPT -A FORWARD -p icmp -i $WL_IFACE -m limit --limit 1/s -j ACCEPT

$IPT -P OUTPUT ACCEPT

# Criar LOG e DROPar tudo que nao foi estabelecido
#$IPT -A FORWARD -j LOG_DROP

# Nat Table
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -A PREROUTING -i $WL_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3128

$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

# Mangle Table
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT



Seque Squid.conf :

http_port 3128 transparent
visible_hostname WORK
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl safe_ports port 21 22 23 80 443 563 210 280 480 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl redelocal src 192.168.50.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all


Com estas configurações não esta redirecionando a porta 80 para a 3128. Quando coloco manualmente o proxy no navegador funciona. O que pode ser?





8. Re: Configurar Rede Wirelles sem acesso a rede interna

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 25/03/2014 - 12:58h

Bom dia.


afinando o cenário. VC hoje possui um servidor que roda com as seguintes configs

eth0 = 172.16.8.0/255.255.248.0 (rede Interna) GW 172.16.8.1

e tudo funciona perfeitamente certo.

Obs: Suas configurações de broadcast estão erradas.



Palavras suas (Preciso criar uma rede para acesso somente a internet Wirelles. Para isso criei um servidor rodando OpenSuse com duas placas de rede: Rede interna na eth0: 172.16.8.82 e Rede externa na eth1: 192.168.50.0/255.255.255.0.)

Isso quer dizer oq que vc criou um outro servidor totalmente independente do que vc já possui em operação e funcional?

Caso sendo um segundo servidor onde eth0 é 172.16.8.82 esse não deveria ser o IP da interface externa uma vez que é ela que vai falar com a rede por onde tem q sair pra internet?


========================

edgarrodriguesde escreveu:

Bom dia sousacarlos, me desculpe na falta de informações. Meu cenário é o seguinte

Minha rede interna hoje de range 172.16.8.0/255.255.248.0, possui um firewall e gateway já funcionando.
O gateway é o 172.16.8.1 e nele já roda um squid autenticado.

Preciso criar uma rede para acesso somente a internet Wirelles. Para isso criei um servidor rodando OpenSuse com duas placas de rede: Rede interna na eth0: 172.16.8.82 e Rede externa na eth1: 192.168.50.0/255.255.255.0.

Nesta máquina instalei o squid e adicionei um script de inicialização para o iptables. A entrega de endereços DHCP está sendo gerenciada pelo accesspoint.


Segue Script Firewall:

#!/bin/sh

#Internet
INET_IP="172.16.8.82"
INET_IFACE="eth0"
INET_BROADCAST="172.16.8.255"

# LAN
WL_IP="192.168.50.1"
WL_IP_RANGE="192.168.50.0/24"
WL_IFACE="eth1"

# localhost
LO_IFACE="lo"
LO_IP="127.0.0.1"

# Pacotes TCP - Entrando
TCP_IN="domain,3128"

# Pacotes UDP - Portas RPC
UDP_RPC="135:139"
TCP_RPC="135:139"

# Pacotes UDP - Entrando e Saindo
UDP_INOUT="domain"

#IPT="/usr/sbin/iptables"
IPT="/sbin/iptables"

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc

# Limpeza e Exclusao de regras e chains
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -t filter -F
$IPT -t filter -X

# Ativacao do redirecionamento de pacotes
echo "1" > /proc/sys/net/ipv4/ip_forward

# Protecao contra IP Spoofing
for i in /proc/sys/net/ipv4/conf/*/rp_filter;
do echo 1 >$i
done

# Numero maximo de conexoes simultaneas
echo "512" > /proc/sys/net/ipv4/ip_conntrack_max

$IPT -N LOG_DROP
$IPT -A LOG_DROP -j LOG --log-prefix "Firewall: "
$IPT -A LOG_DROP -j DROP

# Inspecao em pacotes TCP (malformados, mal-intencionados)
$IPT -N pct_tcp_mformados

# Protecao contra IP Spoofing - Sequence Number Prediction
$IPT -A pct_tcp_mformados -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT \
--reject-with tcp-reset

# Tentativa de uma nova conexao numa conexao ja estabelecida
#$IPT -A pct_tcp_mformados -p tcp ! --syn -m state --state NEW -j LOG \
# --log-prefix "Pct Novo - sem SYN "
$IPT -A pct_tcp_mformados -p tcp ! --syn -m state --state NEW -j DROP


# Chain INPUT
$IPT -P INPUT DROP
$IPT -A INPUT -p tcp -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPT -A INPUT -p tcp -i $INET_IFACE -m state --state ! ESTABLISHED,RELATED \
# -j LOG --log-prefix "Tentativa de Invasao"

# Excessos de broadcasts nas portas RPC
$IPT -A INPUT -p tcp --dport $TCP_RPC -j DROP
$IPT -A INPUT -p udp --dport $UDP_RPC -j DROP
$IPT -A INPUT -p tcp -j pct_tcp_mformados

#$IPT -A INPUT -p tcp -i $INET_IFACE --syn -m multiport --dports $TCP_IN -j ACCEPT
#$IPT -A INPUT -p tcp -i $LAN_IFACE --syn -m multiport --dports $TCP_IN -j ACCEPT
$IPT -A INPUT -p tcp -i $INET_IFACE --syn --dport ssh -j ACCEPT
$IPT -A INPUT -p tcp -i $WL_IFACE -s $WL_IP_RANGE -j ACCEPT
$IPT -A INPUT -p all -s $LO_IP -j ACCEPT

# Bloquear Ataques DoS na chain INPUT
$IPT -A INPUT -p icmp -i $INET_IFACE -m limit --limit 1/s -j ACCEPT

$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT
$IPT -A INPUT -p tcp -d 0/0 -s 0/0 --dport 5666 -j ACCEPT # Porta NRPE - Nagios

# Criar LOG e DROPar tudo que nao foi estabelecido
#$IPT -A INPUT -j LOG_DROP

# Chain FORWARD
$IPT -P FORWARD DROP
$IPT -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p tcp -j pct_tcp_mformados
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.1 -j ACCEPT
$IPT -A FORWARD -p udp -s $WL_IP_RANGE -d 172.16.8.1 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.47 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.47 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.43 --dport 8082 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d webmail.uniaoatacado.com.br --dport 8080 -j ACCEPT
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 172.16.8.0/21 -j ACCEPT #DROP
$IPT -A FORWARD -p udp -s $WL_IP_RANGE -d 172.16.8.0/21 -j ACCEPT #DROP
$IPT -A FORWARD -p tcp -s $WL_IP_RANGE -d 0/0 -j ACCEPT
$IPT -A FORWARD -p udp -s $WL_IP_RANGE -d 0/0 -j ACCEPT

# Libera acesso VPN
$IPT -A INPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A OUTPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A FORWARD -p TCP -m multiport --dport 1723,1701 -j ACCEPT
$IPT -A FORWARD -p UDP -m multiport --dport 1723,1701 -j ACCEPT

$IPT -A INPUT -p 47 -j ACCEPT
$IPT -A OUTPUT -p 47 -j ACCEPT
$IPT -A FORWARD -p 47 -j ACCEPT

# Enxergar a rede 172.16.<F3>
$IPT -A FORWARD -i eth1 -s 192.168.50.0/24 -d 172.16.8.0/21 -j ACCEPT
$IPT -A INPUT -p tcp --dport 2084 -j ACCEPT

# Bloquear Ataques DoS na chain FORWARD
$IPT -A FORWARD -p icmp -i $INET_IFACE -m limit --limit 1/s -j ACCEPT
$IPT -A FORWARD -p icmp -i $WL_IFACE -m limit --limit 1/s -j ACCEPT

$IPT -P OUTPUT ACCEPT

# Criar LOG e DROPar tudo que nao foi estabelecido
#$IPT -A FORWARD -j LOG_DROP

# Nat Table
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -A PREROUTING -i $WL_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3128

$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

# Mangle Table
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT



Seque Squid.conf :

http_port 3128 transparent
visible_hostname WORK
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl safe_ports port 21 22 23 80 443 563 210 280 480 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl redelocal src 192.168.50.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all


Com estas configurações não esta redirecionando a porta 80 para a 3128. Quando coloco manualmente o proxy no navegador funciona. O que pode ser?







9. Re: Configurar Rede Wirelles sem acesso a rede interna

Edgar Rodrigues
edgarrodriguesde

(usa Suse)

Enviado em 25/03/2014 - 13:17h

Sim é um servidor separado, no qual meu intuito é controlar o trafego e o acesso a internet pelo squid (Somente).

A primeira interface 172.16.8.82, comunica com a minha rede interna, possuindo acesso a internet.

A segunda interface 192.168.50.1/24, seria por onde chega todo o trafego dos dispositivos que conectem na Wirelles. O accespoint entrega o IP, MASCARA e GW para o dispositivo. Meu celular por exemplo pegou 192.168.50.98/255.255.255.0 e o GW 192.168.50.1.

Ai é que esta o meu problema, pois via iptables tentei redirecionar todo o trafego da eth1 da porta 80 para a porta 3128, a qual o squid esta configurado. A rede Wirelles esta funcionando, mais nao consigo colocar o proxy como transparente. Tenho que colocar o proxy e porta no navegador dos dispositivos para eles se comunicarem. O que ocorre é que parece que as regras do iptables não estao sendo aplicadas.






10. Re: Configurar Rede Wirelles sem acesso a rede interna

Felipe
felipeassuncaoj

(usa Debian)

Enviado em 25/03/2014 - 16:43h

pq nao fazer tudo em um so servidor? menos gasto...

levanta uma interface virtual e configura ela no ip da nova rede.

aqui eu tenho 2 interfaces virtual rodando perfeitamente...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts