Comunicação entre Redes [RESOLVIDO]

1. Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 14/08/2013 - 10:57h

Pessoal, bom dia!
Me deparei com um problema que não consigo resolver,
vamos lá:
Hoje possuo 2 sub-redes

Rede 192.168.1.0
Mask 255.255.255.128
Gw 192.168.1.1
DHCP 192.168.1.100 - 192.168.1.124
que iremos conhecer como Rede1

Rede 192.168.2.0
Mask 255.255.254.0
Gw 192.168.2.1
DHCP 192.168.2.100 - 192.168.3.253
que iremos conhecer como Rede2

Tenho em meu dhcp, algumas máquinas tanto na minha rede1 quanto na minha rede2 que seus ips estão amarrados aos macs de suas respectivas placas de rede.

Minha rede1 é minha rede interna, onde possuo um servidor rodando como SO o Server2003(192.168.1.2), nele tenho alguns sistemas, arquivos e impressoras instaladas que compartilho na minha rede1.

Minha rede2 é minha rede wi-fi, ela te regras de acesso diferente da rede1 e possue uma simples senha para acesa-la.

Estava tudo funcionando normalmente enquanto eu tinha somente máquinas cabeadas utilizando a rede1, aconteceu que agora temos alguns notebooks utilizando a rede2 que precisa obrigatoriamente ter acesso a esse Server2003(192.168.1.2) e esse acesso precisa ser obrigatoriamente feito pelo hostname da maquina (que é servidor).

Pois bem, preciso saber se é possivel liberar o acesso somente a determinadas maquinas conectadas na wi-fi e esse acesso precisa ser feito obrigatoriamente por nomes, oque eu preciso pra fazer, e se minhas faixas de IPS estão configuradas corretamente.

Adianto que consigo (AS VEZES), acessar máquinas na rede1 utilizando a rede2, porém somente por IP.. nunca por nomes, e esse acesso é intermitente, as vezes funciona as vezes não.
Tenho dúvidas se minha rede está dividida corretamente ou se falhei no calculo das mascaras e tudo mais.





  


2. Re: Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 15/08/2013 - 22:14h

Nenhuma sugestão, dica, critica, xingamento? :\


3. Re: Comunicação entre Redes [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 16/08/2013 - 01:04h

Boa noite, quero acreditar que vc realmente tem necessidade de usar um /23, nao entrarei no mérito, seguinte tua rede 1 tá dividida erradamente, nunca deu problema sabe-se lá lq, vc com a rede 2 criou outro dominio de broadcasting, que ta tratando isso? Quem é o responsável por atender requisições de uma rede pra outra?

Aguardo,


4. Re: Comunicação entre Redes [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 16/08/2013 - 01:07h

Retificação: as sub-redes estão divididas perfeitamente

Desculpas...

souzacarlos escreveu:

Boa noite, quero acreditar que vc realmente tem necessidade de usar um /23, nao entrarei no mérito, seguinte tua rede 1 tá dividida erradamente, nunca deu problema sabe-se lá lq, vc com a rede 2 criou outro dominio de broadcasting, que ta tratando isso? Quem é o responsável por atender requisições de uma rede pra outra?

Aguardo,





5. Re: Comunicação entre Redes [RESOLVIDO]

Pedro
px

(usa Debian)

Enviado em 16/08/2013 - 02:56h

Legal, ops! quer dizer boa pergunta! bom primeiramente para se ver algum erro na rede é necessário olhar o script do iptables ou squid ou seja lá oq for...

Tente adicionar estas regras no seu script de firewall:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT


elas permitem que hosts já habilitados anteriormente mantenham conexão com o servidor...

Caso queira receber conexões de somente determinados hosts seria interessante a criação de uma CHAIN com os macs dos ips permitidos, ou caso prefira poderia ser feito o uso do squid ou outro programa proxy para este controle, temos como recurso o uso do uuid guid (n° de id. usuário ou n° de id. do grupo de usuários) mas como é uma rede wifi fica meio fraco/inseguro usar somente este recurso isoladamente, bom aguardo mais detalhes da infra-estrutura para opinar, tal como o script iptables e o resultado do teste sugerido acima, até.




---
Atenciosamente, Pedro.

Já leu meu último artigo?
LINK:
http://www.vivaolinux.com.br/artigos/userview.php?login=px

Dúvidas?! pergunte pra caixinha... ali em cima ---------------------------------------------------------------------------------------------------------------------------------------^

E seja feliz!


6. Re: Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 17/08/2013 - 08:12h

Pessoal muito obrigado pelo retorno, realmente falhei em não colocar minhas cfgs de dhcp e firewall, na sequencia segue as mesmas..


dhcpd.conf

#Configuracoes do servidor dhcp

#configura quais interfaces servirão de servidores dhcp"

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

include "/etc/dhcp/intranet";
include "/etc/dhcp/intranet2";



intranet
#!/bin/bash
#
#subnet interface eth1 ($REDE1)
subnet 192.168.1.0 netmask 255.255.255.128 {
range 192.168.1.100 192.168.1.124;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1,8.8.8.8;
option domain-name "intranet";
option broadcast-address 192.168.1.127;
}

#SERVIDOR
#Servidor Windows Server 2003
host servidor {
hardware ethernet 00:26:18:da:f4:d1;
fixed-address 192.168.1.2;
}




intranet2

#!/bin/bash
#
#subnet interface eth2 ($REDE2)
subnet 192.168.2.0 netmask 255.255.254.0 {
range 192.168.2.100 192.168.3.253;
option routers 192.168.2.1;
option domain-name-servers 192.168.2.1,8.8.8.8;
option domain-name "intranet2";
option broadcast-address 192.168.3.255;
}

#ACCESS POINT
#AP-01
host AP-01 {
hardware ethernet 64:70:02:64:f8:f6;
fixed-address 192.168.2.2;
}







7. Re: Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 17/08/2013 - 08:13h


firewall

#!/bin/bash
# Variaveis
PATH=/sbin:/bin:/usr/sbin:/usr/bin
IPTABLES="/sbin/iptables"
LOG_FLOOD="1/s"
#
# Arquivos com as portas a liberar e a bloquear
#PORTSLIB="/etc/firewall/PORTSLIB"
PBLOQ="/etc/firewall/PORTSBLOQ"
PINPUT="/etc/firewall/PORTSINPUT"
POUTPUT="/etc/firewall/PORTSOUTPUT"
PFORWARD="/etc/firewall/PORTSFORWARD"
#
# Redirecionamento de Pacotes
REDILIST="/etc/firewall/REDILIST"
#
#IPS com acesso irrestrito
IPSLIBERADOS="/etc/firewall/IPSLIBERADOS"
#
#MACS LIBERADOS
MACSLIBERADOS="/etc/firewall/MACSLIBERADOS"
#
# Script Firewall
PROGRAMA="/etc/firewall/firewall"
#
# Interfaces de Rede
WAN=eth0
IFACE1=eth1
IFACE2=eth2
#
REDE1="192.168.1.0/25"
REDE2="192.168.2.0/23"
#
# Carregando Modulos
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK
#
case "$1" in
start)
echo "CARREGANDO FIREWALL..." ; sleep 1 ;
#Zerando Regras
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X
#
#Compartilhar a conexao
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
#
#Politicas Padrao
INPUT=DROP
OUTPUT=ACCEPT
FORWARD=DROP
$IPTABLES -P INPUT $INPUT
$IPTABLES -P OUTPUT $OUTPUT
$IPTABLES -P FORWARD $FORWARD
echo "APLICANDO POLITICAS PADRAO..." ; sleep 1 ;
echo "[OK] INPUT: "$INPUT ;
echo "[OK] OUTPUT: "$OUTPUT ;
echo "[OK] FORWARD: "$FORWARD ;
#
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
$IPTABLES -A INPUT -i $IFACE1 -j ACCEPT #Habilito o acesso ao servidor de internet para a Rede Interna ($REDE1)
$IPTABLES -A INPUT -i $IFACE2 -j ACCEPT #Habilito o acesso ao servidor de internet para a Rede Wireless ($REDE2)
#
echo "BLOQUEANDO PORTAS DE COMUNICACAO..." ;
CONTPORTA=0;
for i in `cat $PBLOQ`; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A INPUT -p tcp --dport $PORTA -j DROP
$IPTABLES -A INPUT -p udp --dport $PORTA -j DROP
$IPTABLES -A OUTPUT -p tcp --dport $PORTA -j DROP
$IPTABLES -A OUTPUT -p udp --dport $PORTA -j DROP
$IPTABLES -A OUTPUT -p tcp --sport $PORTA -j DROP
$IPTABLES -A OUTPUT -p udp --sport $PORTA -j DROP
$IPTABLES -A FORWARD -p tcp --dport $PORTA -j DROP
$IPTABLES -A FORWARD -p udp --dport $PORTA -j DROP
let CONTPORTA++ ;
done
sleep 1 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS BLOQUEADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA A BLOQUEAR!"
#
echo "LIBERANDO PORTAS DE COMUNICACAO..." ;
CONTPORTA=0;
for i in `cat $PINPUT`; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A INPUT -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A INPUT -p udp --dport $PORTA -j ACCEPT
let CONTPORTA++ ;
done
sleep 1 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS INPUT LIBERADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA INPUT A LIBERAR!"
#
CONTPORTA=0;
for i in `cat $POUTPUT`; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A OUTPUT -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p udp --dport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p udp --sport $PORTA -j ACCEPT
let CONTPORTA++ ;
done
sleep 1 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS OUTPUT LIBERADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA OUTPUT A LIBERAR!"
#
CONTPORTA=0;
for i in `cat $PFORWARD` ; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A FORWARD -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport $PORTA -j ACCEPT
let CONTPORTA++ ;
done
sleep 1 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS FORWARD LIBERADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA FORWARD A LIBERAR!"
#
echo "REDIRECIONANDO PORTAS (NAT)..." ;
CONTREDIRECT=0;
for i in `cat $REDILIST`; do
IP=`echo $i | cut -d '#' -f 1`
PPRIVADA=`echo $i | cut -d '#' -f 2`
PPUBLICA=`echo $i | cut -d '#' -f 3`
$IPTABLES -t nat -I PREROUTING -i $WAN -p tcp --dport $PPUBLICA -j DNAT --to-destination $IP:$PPRIVADA
let CONTREDIRECT++ ;
done
sleep 1 ;
[ $CONTREDIRECT -ne 0 ] && echo "[OK] $CONTREDIRECT PORTAS REDIRECIONADAS!"
[ $CONTREDIRECT -eq 0 ] && echo "[OK] NENHUMA PORTA A REDIRECIONAR!" ;
#



8. Re: Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 17/08/2013 - 08:15h

[code]
echo "LIBERANDO IPS SEM INTERMEDIO DO PROXY..." ;
CONTIP=0;
for i in `cat $IPSLIBERADOS`; do
IPLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -A FORWARD -s $IPLIBERADO -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s $IPLIBERADO -j RETURN
let CONTIP++ ;
done
sleep 1 ;
[ $CONTIP -ne 0 ] && echo "[OK] $CONTIP IPS LIBERADOS!"
[ $CONTIP -eq 0 ] && echo "[OK] NENHUM IP A LIBERAR!"
#
echo "LIBERANDO MAC SEM INTERMEDIO DO PROXY..." ;
CONTMAC=0;
for i in `cat $MACSLIBERADOS `; do
MACLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -t filter -A FORWARD -d 0/0 -m mac --mac-source $MACLIBERADO -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -m mac --mac-source $MACLIBERADO -j RETURN
let CONTMAC++ ;
done
sleep 1 ;
[ $CONTMAC -ne 0 ] && echo "[OK] $CONTMAC MACS LIBERADOS!"
[ $CONTMAC -eq 0 ] && echo "[OK] NENHUM MAC A LIBERAR!"
#
#Proxy Transparente
$IPTABLES -t nat -A PREROUTING -s $REDE1 -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $REDE2 -p tcp --dport 80 -j REDIRECT --to-port 3128
#
#


9. Re: Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 17/08/2013 - 08:18h

Pessoal, desculpe os vários posts.. não consegui encontrar uma forma de agrupar o código para não ficar tao extenso!
Mas estas são minhas configs, vou tentar realizar os testes que o amigo sugeriu e dou um retorno.

Muito obrigado mais uma vez!!


10. Re: Comunicação entre Redes [RESOLVIDO]

Pedro
px

(usa Debian)

Enviado em 17/08/2013 - 16:22h

Só uma pergunta para se ter um ponto de partida, as redes já se enxergam? e qual a porta que a rede2 (wifi) precisa se conectar ao servidor (192.168.1.2) ?

Ahh seu script está bem organizado, é raro de se ver isso por aqui parabéns!






---
Atenciosamente, Pedro.

Já leu meu último artigo?
LINK:
http://www.vivaolinux.com.br/artigos/userview.php?login=px

Dúvidas?! pergunte pra caixinha... ali em cima ---------------------------------------------------------------------------------------------------------------------------------------^

E seja feliz!


11. Re: Comunicação entre Redes [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 19/08/2013 - 08:26h

px escreveu:

Só uma pergunta para se ter um ponto de partida, as redes já se enxergam? e qual a porta que a rede2 (wifi) precisa se conectar ao servidor (192.168.1.2) ?

Ahh seu script está bem organizado, é raro de se ver isso por aqui parabéns!






---
Atenciosamente, Pedro.

Já leu meu último artigo?
LINK:
http://www.vivaolinux.com.br/artigos/userview.php?login=px

Dúvidas?! pergunte pra caixinha... ali em cima ---------------------------------------------------------------------------------------------------------------------------------------^

E seja feliz!


px as vezes consigo pingar algum ip da rede1 p/ rede2 e vice-versa, já desativei firewall de todas as maquinas pra evitar do mesmo bloquear os acessos, quanto a qual porta a rede2 usa p/ se conectar ao servidor imagino que sejam várias, a unica que tenho certeza é a 5434 do postgre, mas tambem preciso ter acesso as impressoras compartilhadas e as pastas. essa eu não sei exatamente quais portas utilizam.

Muito obrigado pelo elogio, a alguns meses atrás recebi uma critica quanto a organização do script.. hj finalmente consegui reverter essa situação e é mais uma conquista, um elogio a organização do script kk, é sinal que evolui e aprendi com meus erros!!!

Muito obrigado pela atenção p/ resolver meu problema jovem!!



12. Re: Comunicação entre Redes [RESOLVIDO]

Pedro
px

(usa Debian)

Enviado em 20/08/2013 - 19:39h

Bom me parece que o que falta e autorizar o FORWARD entre as redes 1 e 2, como em:

echo "LIBERANDO IPS SEM INTERMEDIO DO PROXY..." ;
CONTIP=0;
for i in `cat $IPSLIBERADOS`; do
IPLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -A FORWARD -s $IPLIBERADO -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s $IPLIBERADO -j RETURN
let CONTIP++ ;
done
sleep 1 ;
[ $CONTIP -ne 0 ] && echo "[OK] $CONTIP IPS LIBERADOS!"
[ $CONTIP -eq 0 ] && echo "[OK] NENHUM IP A LIBERAR!"
#
echo "LIBERANDO MAC SEM INTERMEDIO DO PROXY..." ;
CONTMAC=0;
for i in `cat $MACSLIBERADOS `; do
MACLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -t filter -A FORWARD -d 0/0 -m mac --mac-source $MACLIBERADO -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -m mac --mac-source $MACLIBERADO -j RETURN
let CONTMAC++ ;
done


Você já possui estas listas que permitem a troca de pacotes, se cumpridas determinadas regras, como "liberando mac" e "liberando ips", de inicio você poderia implementar algo como:

iptables -A FORWARD -s $REDE2 -d $REDE1 -m mac --mac-source $MACLIBERADO -j ACCEPT
iptables -A FORWARD -s $REDE1 -d $REDE2 -m mac --mac-source $MACLIBERADO -j ACCEPT

quanto aos nomes não uso muito isso, mas acho que tem como colocar algo, era uma função de hostname="" algo assim, não me lembro muito bem, mas isso se arruma mais fácil depois, tente ver se consegue acesso com as regras que lhe passei acima, altere-as caso precises acrescentar/tirar algo também, como placa de rede de entrada e placa de rede de saida:

# Interfaces de Rede
WAN=eth0
IFACE1=eth1
IFACE2=eth2

Aproveite para fazer uso destas variáveis já que estão setadas no script mesmo, utilize se possível o nmap ou algum comando para ver quais maquinas podem acessar os endereços nos host, algo como um ping scan deve bastar





---
Atenciosamente, Pedro.

Já leu meu último artigo?
LINK:
http://www.vivaolinux.com.br/artigos/userview.php?login=px

Dúvidas?! pergunte pra caixinha... ali em cima ---------------------------------------------------------------------------------------------------------------------------------------^

E seja feliz!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts