Obrigando o cliente ver uma pagina do meu provedor

1. Obrigando o cliente ver uma pagina do meu provedor

Samuel Carlos
skldias

(usa Slackware)

Enviado em 14/08/2012 - 18:33h

Boa noite pessoal tenho um servidor radius que usa o squid em modo transparente gostaria de saber se é possivel obrigrar que a primeira pagina que fosse aberta sempre exiba a pagina do meu provedor, tipo como acontece quando conectamos a um hotspot.


  


2. Re: Obrigando o cliente ver uma pagina do meu provedor

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/08/2012 - 19:38h

Eu faço isso com o coovachilli. Toda vez que o cliente entra na rede e tenta navegar eu direciono para uma tela minha de logon. Enquanto ele não logar, não consegue navegar em outras paginas.


3. Resposta!

Rodrigo Ribeiro da Silva
silva.rodrigo

(usa FreeBSD)

Enviado em 14/08/2012 - 20:17h

Temos um artigo aqui mesmo no VOL:

http://www.vivaolinux.com.br/artigo/Aprenda-a-capturar-a-pagina-inicial-de-seus-usuarios/

Abraços


4. Re: Obrigando o cliente ver uma pagina do meu provedor

Samuel Carlos
skldias

(usa Slackware)

Enviado em 15/08/2012 - 10:01h

amarildosertorio escreveu:

Eu faço isso com o coovachilli. Toda vez que o cliente entra na rede e tenta navegar eu direciono para uma tela minha de logon. Enquanto ele não logar, não consegue navegar em outras paginas.




Amarilidosertorio tem como vc me passar mais infomações sobre o coovachilli vc usa ele com um servidor squid tranparente tambem ? tem como me explicar obrigado!


5. Re: Obrigando o cliente ver uma pagina do meu provedor

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2012 - 11:34h

Eu montei um servidor hotspot com apache, php, mysql, freeradius, coovachilli e squid3 de forma transparente.

Usei esse artigo como base: http://www.vivaolinux.com.br/artigo/Hotspot-rapido-com-Coovachilli/

Não tem como foi implementado o squid ai, mas não tive muitos problemas. Apenas tive que adicionar algumas linhas de configuração nas regras de iptables do coovachilli.

Segue minha modificação:

# vi /etc/chilli/up.sh
#!/bin/sh

##############################--> VARIÁVEIS <--########################################
IPT=`which iptables`

#######################################################################################
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -X -t nat
$IPT -Z
$IPT -Z -t nat

###### INICIO DAS REGRAS DO COOVACHILLI ########
. /etc/chilli/functions

[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
rm -f /var/run/chilli.iptables 2>/dev/null

IF=$(basename $DEV)

ipt() {
opt=$1; shift
echo "iptables -D $*" >> /var/run/chilli.iptables
iptables $opt $*
}

ipt_in() {
ipt -I INPUT -i $IF $*
}

[ -n "$DHCPIF" ] && {

[ -n "$UAMPORT" -a "$UAMPORT" != "0" ] && \
ipt_in -p tcp -m tcp --dport $UAMPORT --dst $ADDR -j ACCEPT

[ -n "$UAMUIPORT" -a "$UAMUIPORT" != "0" ] && \
ipt_in -p tcp -m tcp --dport $UAMUIPORT --dst $ADDR -j ACCEPT

[ -n "HS_TCP_PORTS" ] && {
for port in $HS_TCP_PORTS; do
ipt_in -p tcp -m tcp --dport $port --dst $ADDR -j ACCEPT
done
}

ipt_in -p udp -d 255.255.255.255 --destination-port 67:68 -j ACCEPT
ipt_in -p udp --dst $ADDR --dport 53 -j ACCEPT

ipt -A INPUT -i $IF --dst $ADDR -j DROP
ipt -A INPUT -i $IF -j DROP

ipt -I FORWARD -i $DHCPIF -j DROP
ipt -I FORWARD -o $DHCPIF -j DROP
ipt -I FORWARD -i $IF -j ACCEPT
ipt -I FORWARD -o $IF -j ACCEPT

# Help out conntrack to not get confused
ipt -I PREROUTING -t raw -j NOTRACK -i $DHCPIF
ipt -I OUTPUT -t raw -j NOTRACK -o $DHCPIF

# Help out MTU issues with PPPoE or Mesh
ipt -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ipt -I FORWARD -t mangle -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

[ "$HS_LAN_ACCESS" != "on" -a "$HS_LAN_ACCESS" != "allow" ] && \
ipt -I FORWARD -i $IF -o \! $HS_WANIF -j DROP

[ "$HS_LOCAL_DNS" = "on" ] && \
ipt -I PREROUTING -t nat -i $IF -p udp --dport 53 -j DNAT --to-destination $ADDR
}

# site specific stuff optional
[ -e /etc/chilli/ipup.sh ] && . /etc/chilli/ipup.sh

###### FIM DAS REGRAS DO COOVACHILLI ########

###### REGRAS CRIADAS PELO AMARILDO #########
modprobe ipt_layer7
modprobe iptable_nat
modprobe ip_queue

# Ativa roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

# Permitir que tudo na interface loopback
$IPT -A INPUT -i lo -j ACCEPT

# Aceitar todas as conexões previamente estabelecidas
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Proxy transparente
$IPT -I INPUT 1 -d 192.168.172.1/32 -p tcp -m tcp --dport 3128 -j ACCEPT
$IPT -t nat -A PREROUTING -s 192.168.172.0/24 -d ! 192.168.172.1/32 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
$IPT -t mangle -A PREROUTING -s 192.168.172.0/24 -d ! 192.168.172.1/32 -p tcp -m multiport --dports 80,8080 -j MARK --set-xmark 0x100/0xffffffff
$IPT -t mangle -A INPUT -p tcp -m tcp --dport 3128 -m mark --mark 0x100 -j ACCEPT
$IPT -t mangle -A INPUT -p tcp -m tcp --dport 3128 -j DROP

#Ativar NAT no dispositivo de saída
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# BLOQUEIOS COM LAYER7

$IPT -A FORWARD -m layer7 --l7proto tor -j DROP
$IPT -A FORWARD -m layer7 --l7proto fasttrack -j DROP
$IPT -A FORWARD -m layer7 --l7proto gnutella -j DROP
$IPT -A FORWARD -m layer7 --l7proto bittorrent -j DROP
$IPT -A FORWARD -m layer7 --l7proto ares -j DROP
$IPT -A FORWARD -m layer7 --l7proto soulseek -j DROP
$IPT -A FORWARD -m layer7 --l7proto edonkey -j DROP

$IPT -A INPUT -m layer7 --l7proto tor -j DROP
$IPT -A INPUT -m layer7 --l7proto fasttrack -j DROP
$IPT -A INPUT -m layer7 --l7proto gnutella -j DROP
$IPT -A INPUT -m layer7 --l7proto bittorrent -j DROP
$IPT -A INPUT -m layer7 --l7proto ares -j DROP
$IPT -A INPUT -m layer7 --l7proto soulseek -j DROP
$IPT -A INPUT -m layer7 --l7proto edonkey -j DROP

$IPT -A OUTPUT -m layer7 --l7proto tor -j DROP
$IPT -A OUTPUT -m layer7 --l7proto fasttrack -j DROP
$IPT -A OUTPUT -m layer7 --l7proto gnutella -j DROP
$IPT -A OUTPUT -m layer7 --l7proto bittorrent -j DROP
$IPT -A OUTPUT -m layer7 --l7proto ares -j DROP
$IPT -A OUTPUT -m layer7 --l7proto soulseek -j DROP
$IPT -A OUTPUT -m layer7 --l7proto edonkey -j DROP


OBS: 192.168.172.1 é o ip do server. De preferencia, seu server hotspot deve atuar fora da sua rede, fisicamente ou em uma vlan. O chillicoova tem seu próprio esquema de dhcp e dns, então... muito cuidado para não subir na rede de trabalho, pois seu dhcp pode assumir entrega na sua rede. Em relação ao DNS, eu configurei com os da google.

Bem... é isso! Precisando de algo... estamos ai!
Abraço!





6. Re: Obrigando o cliente ver uma pagina do meu provedor

Samuel Carlos
skldias

(usa Slackware)

Enviado em 16/08/2012 - 00:16h

amarildosertorio escreveu:

Eu montei um servidor hotspot com apache, php, mysql, freeradius, coovachilli e squid3 de forma transparente.

Usei esse artigo como base: http://www.vivaolinux.com.br/artigo/Hotspot-rapido-com-Coovachilli/

Não tem como foi implementado o squid ai, mas não tive muitos problemas. Apenas tive que adicionar algumas linhas de configuração nas regras de iptables do coovachilli.

Segue minha modificação:

# vi /etc/chilli/up.sh
#!/bin/sh

##############################--> VARIÁVEIS <--########################################
IPT=`which iptables`

#######################################################################################
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -X -t nat
$IPT -Z
$IPT -Z -t nat

###### INICIO DAS REGRAS DO COOVACHILLI ########
. /etc/chilli/functions

[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
rm -f /var/run/chilli.iptables 2>/dev/null

IF=$(basename $DEV)

ipt() {
opt=$1; shift
echo "iptables -D $*" >> /var/run/chilli.iptables
iptables $opt $*
}

ipt_in() {
ipt -I INPUT -i $IF $*
}

[ -n "$DHCPIF" ] && {

[ -n "$UAMPORT" -a "$UAMPORT" != "0" ] && \
ipt_in -p tcp -m tcp --dport $UAMPORT --dst $ADDR -j ACCEPT

[ -n "$UAMUIPORT" -a "$UAMUIPORT" != "0" ] && \
ipt_in -p tcp -m tcp --dport $UAMUIPORT --dst $ADDR -j ACCEPT

[ -n "HS_TCP_PORTS" ] && {
for port in $HS_TCP_PORTS; do
ipt_in -p tcp -m tcp --dport $port --dst $ADDR -j ACCEPT
done
}

ipt_in -p udp -d 255.255.255.255 --destination-port 67:68 -j ACCEPT
ipt_in -p udp --dst $ADDR --dport 53 -j ACCEPT

ipt -A INPUT -i $IF --dst $ADDR -j DROP
ipt -A INPUT -i $IF -j DROP

ipt -I FORWARD -i $DHCPIF -j DROP
ipt -I FORWARD -o $DHCPIF -j DROP
ipt -I FORWARD -i $IF -j ACCEPT
ipt -I FORWARD -o $IF -j ACCEPT

# Help out conntrack to not get confused
ipt -I PREROUTING -t raw -j NOTRACK -i $DHCPIF
ipt -I OUTPUT -t raw -j NOTRACK -o $DHCPIF

# Help out MTU issues with PPPoE or Mesh
ipt -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ipt -I FORWARD -t mangle -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

[ "$HS_LAN_ACCESS" != "on" -a "$HS_LAN_ACCESS" != "allow" ] && \
ipt -I FORWARD -i $IF -o \! $HS_WANIF -j DROP

[ "$HS_LOCAL_DNS" = "on" ] && \
ipt -I PREROUTING -t nat -i $IF -p udp --dport 53 -j DNAT --to-destination $ADDR
}

# site specific stuff optional
[ -e /etc/chilli/ipup.sh ] && . /etc/chilli/ipup.sh

###### FIM DAS REGRAS DO COOVACHILLI ########

###### REGRAS CRIADAS PELO AMARILDO #########
modprobe ipt_layer7
modprobe iptable_nat
modprobe ip_queue

# Ativa roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

# Permitir que tudo na interface loopback
$IPT -A INPUT -i lo -j ACCEPT

# Aceitar todas as conexões previamente estabelecidas
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Proxy transparente
$IPT -I INPUT 1 -d 192.168.172.1/32 -p tcp -m tcp --dport 3128 -j ACCEPT
$IPT -t nat -A PREROUTING -s 192.168.172.0/24 -d ! 192.168.172.1/32 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
$IPT -t mangle -A PREROUTING -s 192.168.172.0/24 -d ! 192.168.172.1/32 -p tcp -m multiport --dports 80,8080 -j MARK --set-xmark 0x100/0xffffffff
$IPT -t mangle -A INPUT -p tcp -m tcp --dport 3128 -m mark --mark 0x100 -j ACCEPT
$IPT -t mangle -A INPUT -p tcp -m tcp --dport 3128 -j DROP

#Ativar NAT no dispositivo de saída
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# BLOQUEIOS COM LAYER7

$IPT -A FORWARD -m layer7 --l7proto tor -j DROP
$IPT -A FORWARD -m layer7 --l7proto fasttrack -j DROP
$IPT -A FORWARD -m layer7 --l7proto gnutella -j DROP
$IPT -A FORWARD -m layer7 --l7proto bittorrent -j DROP
$IPT -A FORWARD -m layer7 --l7proto ares -j DROP
$IPT -A FORWARD -m layer7 --l7proto soulseek -j DROP
$IPT -A FORWARD -m layer7 --l7proto edonkey -j DROP

$IPT -A INPUT -m layer7 --l7proto tor -j DROP
$IPT -A INPUT -m layer7 --l7proto fasttrack -j DROP
$IPT -A INPUT -m layer7 --l7proto gnutella -j DROP
$IPT -A INPUT -m layer7 --l7proto bittorrent -j DROP
$IPT -A INPUT -m layer7 --l7proto ares -j DROP
$IPT -A INPUT -m layer7 --l7proto soulseek -j DROP
$IPT -A INPUT -m layer7 --l7proto edonkey -j DROP

$IPT -A OUTPUT -m layer7 --l7proto tor -j DROP
$IPT -A OUTPUT -m layer7 --l7proto fasttrack -j DROP
$IPT -A OUTPUT -m layer7 --l7proto gnutella -j DROP
$IPT -A OUTPUT -m layer7 --l7proto bittorrent -j DROP
$IPT -A OUTPUT -m layer7 --l7proto ares -j DROP
$IPT -A OUTPUT -m layer7 --l7proto soulseek -j DROP
$IPT -A OUTPUT -m layer7 --l7proto edonkey -j DROP


OBS: 192.168.172.1 é o ip do server. De preferencia, seu server hotspot deve atuar fora da sua rede, fisicamente ou em uma vlan. O chillicoova tem seu próprio esquema de dhcp e dns, então... muito cuidado para não subir na rede de trabalho, pois seu dhcp pode assumir entrega na sua rede. Em relação ao DNS, eu configurei com os da google.

Bem... é isso! Precisando de algo... estamos ai!
Abraço!






Muito obrigado mesmo vou tentar fazer hoje ainda! so tenho mais uma duvida como deve ser a configuração do Roteador ? tem alguma coisa de especial? muito obrigado novamente!



7. Re: Obrigando o cliente ver uma pagina do meu provedor

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/08/2012 - 00:23h

No meu caso, configurei da seguinte maneira... A internet chega no hotspot pela minha rede na eth0, na eth1(tun0) trabalha o coovachilli, que vai para um switch isolado, só para os roteadores(são 11 por enquanto). Eles estão configurados em uma faixa diferente do server, em bridge e com dhcp desabilitado. Quem manda é o server!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts