Squid + Net Virtua Empresas + Modem Motorola

1. Squid + Net Virtua Empresas + Modem Motorola

Anderson Luiz
Bande

(usa Fedora)

Enviado em 12/09/2017 - 20:53h


Boa noite Senhores (as).

Trabalho em uma escola, temos em torno de 250 computadores + equipamentos particulares, tem muito tempo fazemos uso do Linux para o compartilhamento e controle do acesso a internet nesses ambientes. Devido a mudanças de planos de internet e para um melhor custo / benefício ( uma vez que somos uma instituição pública ) estudamos mudar nosso link para um de maior capacidade e também sair do plano doméstico ( que é o que estamos usando ainda hoje ) para um empresarial.

Nosso plano atual é um link da antiga GVT ( saudades ) atualmente VIVO de 35 MB. Contratamos um segundo Link da empresa NET ( Virtua Empresarial ) de 120 MB com a intenção de cancelar o plano antigo e basear nesse novo link, aqui começa meu desgosto.

Meu Squid funciona muito bem nesse link da VIVO que mencionei, vocês vão ver pelo script abaixo que não tem nada de mais, esta online nesse link a pelo menos 8 anos, o modem já foi trocado varias vezes assim como a distribuição usada e sempre foi tranquilo, reboot no Linux, recebe o endereço novo na placa de rede externa e bola pra frente.

No entanto nesse equipamento da NET não rola assim, quando conecto a maquina com o squid numa das saídas de rede do modem/roteador ( um Motorola ), reinicio a maquina, ela recebe o endereço novo, o resolv.conf é atualizado com o dns da NET, inicialmente tudo beleza. Navega até o momento em que os laboratórios entram na rede. A velocidade na resolução de nomes vai caindo, até o momento em que o próprio modem congela, mesmo um PC ligado diretamente nele não consegue acessar mais nada.

O próprio acesso SSH ao squid também não é mais possível, demora horrores para responder ( quando responde ), tudo isso se resolve no instante em que tiro o cabo de rede da placa externa do squid do modem, ou no intervalo de tempo em que a maquina esta reiniciando, tudo volta ao normal com o modem.

È gritante que tem algum tipo de gargalo em algum lugar, já vieram 3 técnicos diferentes aqui, todos me disseram que é o meu servidor, obvio que vão defender o deles assim como defendo o meu, mas nenhum me explica porque no link da VIVO ( modem doméstico ) funciona normalmente e no deles não.

O ultimo ensaio uma explicação de que a rede da VIVO e da NET são diferentes e tal, mas diferentes no que não soube explicar. O link não tem ip fixo nem nada, fora o fato de ser um plano empresarial e o aparelho ser, teoricamente, mais robusto não vejo diferença no funcionamento.

Já tentei deixar o modem em modo Bridge, funciona um pouco melhor,demora mais para travar, mas também trava depois de um tempo, e enquanto esta funcionando perde pacotes demais, inclusive até cheguei a travar o resolv.conf com um DNS alternativo alem do DNS da NET.

Encontrei em alguns grupos de discussão posts de pessoas com exatamente o mesmo problema que eu, alguns em ST Catarina, outros no Rio Grande do Sul, até o link onde o squid funcionava de boa era da GVT também, posts antigos de 2013 , 2014, mas nenhum com alguma resolução definitiva.

Duvida:

Sabem de algo com a Infra da NET que impeça o funcionamento de um proxy linux ? Tem algo que eu tenha de fazer a mais no meu servidor para que funcione na estrutura da NET? ou preciso mudar alguma coisa?

Esta claro para mim que isso foge do alcance de ação dos técnicos convencionais que vem fazer o atendimento, o ultimo me disse que passaria o caso para o DATACENTER, mas na boa, estamos pagando pelo link e não estamos usando.

Os meus scripts estão abaixo.

Estrutura
Modem/Roteador NetVirtua Empresas 120Mb ( Motorola ) -> enp5s0 ( Fedora 21 – Proxy( Squid 3.5) / Firewall ) -> eno1 - > LAN

DHCP/DNS -> WindowsServer 2008 R2

Scripts

#Firewall
#!/bin/bash

NET_IFACE='enp5s0'
LAN_IFACE='eno1'
LAN_RANGE='172.16.0.0/255.255.0.0'

echo "Iniciando pacotes..."
/sbin/modprobe ip_conntrack
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_LOG
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_REDIRECT

#habilita o modulo de filtragem de string
modprobe ipt_string

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

iptables -F
iptables -Z
iptables -t nat -F
iptables -t filter -F
iptables -t filter -Z
iptables -t mangle -F
iptables -t mangle -Z
iptables -t nat -Z
iptables -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -P OUTPUT ACCEPT

echo "Carregando regras..."

# Port Scanners Ocultos
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j DROP

#Bloqueio trafego XMPP na saída
iptables -A FORWARD -p tcp --dport xmpp-client -j DROP
iptables -A INPUT -p tcp --dport 5223 -j DROP
iptables -A OUTPUT -p tcp --dport 5223 -j DROP

# Redirecionamento pacotes http para o squid

iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/16 --dport 80 -j REDIRECT --to-port 3129

###Faixa de liberados
range=172.16.0.
for ((i=1;i<=254;i++));
do
iptables -t nat -I PREROUTING -s $range$i -p tcp -i $LAN_IFACE --dport 80 -j ACCEPT
done
###Fim da faixa de liberados

#------------------------------------

#Laboratorios
rang=172.16.1
for ((k=0;k<=159;k++));
do
iptables -t nat -A PREROUTING -i eno1 -s $rang$k -p tcp --dport 3129 -j ACCEPT
done

#-------------------------------------

#bloqueio HTTP do resto que nao esta na lista acima
iptables -t nat -A PREROUTING -s 0/0 -i $LAN_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3129

#Acesso ao DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

#Nao apagar!
iptables -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Compartilha a internet
iptables -t nat -A POSTROUTING -o $NET_IFACE -j MASQUERADE

#Nao apagar nada abaixo!
iptables -t filter -A INPUT -i $LAN_IFACE -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Controla o foward da enp1s0 para eno1
iptables -t filter -A FORWARD -d 0/0 -s $LAN_RANGE -o $NET_IFACE -j ACCEPT
iptables -t filter -A FORWARD -d $LAN_RANGE -s 0/0 -i $NET_IFACE -j ACCEPT
iptables -t filter -A INPUT -s $LAN_RANGE -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -s $LAN_RANGE -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -s $LAN_RANGE -d 0/0 -j ACCEPT


echo "Firewall iniciado!"

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

Squid.Conf

http_port 3128 intercept
http_port 3129 intercept

#Nome do Squid, que aparece: generated by ....
visible_hostname HAMMERFALL_PROXY_SERVER

acl no_cache_domain dstdomain "/etc/squid/regras/no_cache_domain"
no_cache deny no_cache_domain

cache_mem 1640 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 300 MB
minimum_object_size 100 KB

refresh_pattern \^ftp: 1440 20% 10080
refresh_pattern \^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

cache_swap_high 75
cache_swap_low 60

access_log /var/log/squid/access.log squid
cache_dir ufs /var/cache/squid 10000 32 512

acl CONNECT method CONNECT

#acl manager proto cache_object#
acl localhost src
acl to_localhost dst
acl localnet src 172.16.0.0/16

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl sitesssl url_regex -i "/etc/squid/regras/sitesssl"

acl all src
always_direct allow all

#--------------------------------------------------#
# BANIMENTO DE MACADDRESS #
#--------------------------------------------------#
# ACRESCENTE NA LISTA #
#--------------------------------------------------#

acl HW_BANIDO arp "/etc/squid/listas/hw_banido"
http_access deny hw_banido

#--------------------------------------------------#
# FIM DO BANIMENTO #
#--------------------------------------------------#


#--------------------------------------------------#
# FAIXA DE IPs DE USO #
# DOS LABORATÓRIOS #
# #
#--------------------------------------------------#

acl IP_LAB src 172.16.1.0-172.16.1.159

#--------------------------------------------------#
# BLOQUEIO DE FAIXAS NAO UTILIZADAS #
#--------------------------------------------------#
#
#--------------------------------------------------#
# APARA REBARBAS DAS FAIXAS DE LABORATORIO
#--------------------------------------------------#

acl IP_REBARBA1 src 172.16.1.160-172.16.1.255
acl IP_REBARBA2 src 172.16.2.0-172.16.255.254
http_access deny IP_REBARBA1 IP_REBARBA2

#--------------------------------------------------#
# FIM DO BLOQUEIO O FAIXAS NAO UTILIZADAS
#--------------------------------------------------#

#-----------------------REGRAS---------------------#

#BLOQUEANDO URLs#
acl proibir_sites url_regex -i "/etc/squid/regras/bad_sites"
http_access deny proibir_sites

#BLOQUEANDO PALAVRAS#
acl proibir_palavras dstdom_regex "/etc/squid/regras/bad_palavras"
http_access deny proibir_palavras

#BLOQUEANDO EXTENCOES#
acl bad_ext urlpath_regex -i "/etc/squid/regras/bad_ext"
http_access deny bad_ext

#Email @ETEC e MSDN
acl libdominio dstdomain "/etc/squid/regras/liberainst"

#--Liberacao de lista de dominios institucionais---#
http_access allow libdominio
always_direct allow libdominio

#---Lista de Sites Liberados para acesso nos Labs--#
http_access allow sitesssl

#BLOQUEIOS EXISTENTES##
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge

http_access allow localnet
http_access allow localhost

http_access deny all


Log do Squid – Conectado no Link da VIVO ( Funciona )

017/09/12 17:00:10 kid1| Current Directory is /
2017/09/12 17:00:10 kid1| Starting Squid Cache version 3.4.12 for x86_64-unknown-linux-gnu...
2017/09/12 17:00:10 kid1| Process ID 3330
2017/09/12 17:00:10 kid1| Process Roles: worker
2017/09/12 17:00:10 kid1| With 16384 file descriptors available
2017/09/12 17:00:10 kid1| Initializing IP Cache...
2017/09/12 17:00:10 kid1| DNS Socket created at [::], FD 7
2017/09/12 17:00:10 kid1| DNS Socket created at 0.0.0.0, FD 8
2017/09/12 17:00:10 kid1| Adding domain home from /etc/resolv.conf
2017/09/12 17:00:10 kid1| Adding nameserver 192.168.25.1 from /etc/resolv.conf
2017/09/12 17:00:10 kid1| Logfile: opening log /var/log/squid/access.log
2017/09/12 17:00:10 kid1| WARNING: log name now starts with a module name. Use 'stdio:/var/log/squid/access.log'
2017/09/12 17:00:10 kid1| Unlinkd pipe opened on FD 13
2017/09/12 17:00:10 kid1| Store logging disabled
2017/09/12 17:00:10 kid1| Swap maxSize 10240000 + 1679360 KB, estimated 916873 objects
2017/09/12 17:00:10 kid1| Target number of buckets: 45843
2017/09/12 17:00:10 kid1| Using 65536 Store buckets
2017/09/12 17:00:10 kid1| Max Mem size: 1679360 KB
2017/09/12 17:00:10 kid1| Max Swap size: 10240000 KB
2017/09/12 17:00:10 kid1| Rebuilding storage in /var/cache/squid (dirty log)
2017/09/12 17:00:10 kid1| Using Least Load store dir selection
2017/09/12 17:00:10 kid1| Current Directory is /
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| Finished loading MIME types and icons.
2017/09/12 17:00:10 kid1| HTCP Disabled.
2017/09/12 17:00:10 kid1| commBind: Cannot bind socket FD 18 to [::1]: (99) Cannot assign requested address
2017/09/12 17:00:10 kid1| commBind: Cannot bind socket FD 19 to [::1]: (99) Cannot assign requested address
2017/09/12 17:00:10 kid1| ERROR: Failed to create helper child read FD: UDP[::1]
2017/09/12 17:00:10 kid1| Squid plugin modules loaded: 0
2017/09/12 17:00:10 kid1| Adaptation support is off.
2017/09/12 17:00:10 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=41
2017/09/12 17:00:10 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3129 remote=[::] FD 17 flags=41
2017/09/12 17:00:10 kid1| Store rebuilding is 22.22% complete
2017/09/12 17:00:10 kid1| Done reading /var/cache/squid swaplog (18004 entries)
2017/09/12 17:00:10 kid1| Finished rebuilding storage from disk.
2017/09/12 17:00:10 kid1| 15073 Entries scanned
2017/09/12 17:00:10 kid1| 2 Invalid entries.
2017/09/12 17:00:10 kid1| 0 With invalid flags.
2017/09/12 17:00:10 kid1| 12156 Objects loaded.
2017/09/12 17:00:10 kid1| 0 Objects expired.
2017/09/12 17:00:10 kid1| 2917 Objects cancelled.
2017/09/12 17:00:10 kid1| 0 Duplicate URLs purged.
2017/09/12 17:00:10 kid1| 0 Swapfile clashes avoided.
2017/09/12 17:00:10 kid1| Took 0.09 seconds (142107.29 objects/sec).
2017/09/12 17:00:10 kid1| Beginning Validation Procedure
2017/09/12 17:00:10 kid1| Completed Validation Procedure
2017/09/12 17:00:10 kid1| Validated 12156 Entries
2017/09/12 17:00:10 kid1| store_swap_size = 6142228.00 KB
2017/09/12 17:00:11 kid1| storeLateRelease: released 0 objects


Log do Squid – Conectado no Link da NET( Não Funciona )

017/09/11 14:56:27 kid1| Current Directory is /
2017/09/11 14:56:27 kid1| Starting Squid Cache version 3.4.12 for x86_64-unknown-linux-gnu...
2017/09/11 14:56:27 kid1| Process ID 1822
2017/09/11 14:56:27 kid1| Process Roles: worker
2017/09/11 14:56:27 kid1| With 16384 file descriptors available
2017/09/11 14:56:27 kid1| Initializing IP Cache...
2017/09/11 14:56:27 kid1| DNS Socket created at [::], FD 7
2017/09/11 14:56:27 kid1| DNS Socket created at 0.0.0.0, FD 8
2017/09/11 14:56:27 kid1| Adding nameserver 189.5.0.64 from /etc/resolv.conf
2017/09/11 14:56:27 kid1| Adding nameserver 189.5.0.53 from /etc/resolv.conf
2017/09/11 14:56:27 kid1| Logfile: opening log /var/log/squid/access.log
2017/09/11 14:56:27 kid1| WARNING: log name now starts with a module name. Use 'stdio:/var/log/squid/access.log'
2017/09/11 14:56:27 kid1| Unlinkd pipe opened on FD 13
2017/09/11 14:56:27 kid1| Store logging disabled
2017/09/11 14:56:27 kid1| Swap maxSize 10240000 + 1679360 KB, estimated 916873 objects
2017/09/11 14:56:27 kid1| Target number of buckets: 45843
2017/09/11 14:56:27 kid1| Using 65536 Store buckets
2017/09/11 14:56:27 kid1| Max Mem size: 1679360 KB
2017/09/11 14:56:27 kid1| Max Swap size: 10240000 KB
2017/09/11 14:56:27 kid1| Rebuilding storage in /var/cache/squid (dirty log)
2017/09/11 14:56:27 kid1| Using Least Load store dir selection
2017/09/11 14:56:27 kid1| Current Directory is /
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| Finished loading MIME types and icons.
2017/09/11 14:56:27 kid1| HTCP Disabled.
2017/09/11 14:56:27 kid1| commBind: Cannot bind socket FD 18 to [::1]: (99) Cannot assign requested address
2017/09/11 14:56:27 kid1| commBind: Cannot bind socket FD 19 to [::1]: (99) Cannot assign requested address
2017/09/11 14:56:27 kid1| ERROR: Failed to create helper child read FD: UDP[::1]
2017/09/11 14:56:27 kid1| Squid plugin modules loaded: 0
2017/09/11 14:56:27 kid1| Adaptation support is off.
2017/09/11 14:56:27 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=41
2017/09/11 14:56:27 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3129 remote=[::] FD 17 flags=41
2017/09/11 14:56:27 kid1| Store rebuilding is 30.57% complete
2017/09/11 14:56:27 kid1| Done reading /var/cache/squid swaplog (13084 entries)
2017/09/11 14:56:27 kid1| Finished rebuilding storage from disk.
2017/09/11 14:56:27 kid1| 12252 Entries scanned
2017/09/11 14:56:27 kid1| 0 Invalid entries.
2017/09/11 14:56:27 kid1| 0 With invalid flags.
2017/09/11 14:56:27 kid1| 11420 Objects loaded.
2017/09/11 14:56:27 kid1| 0 Objects expired.
2017/09/11 14:56:27 kid1| 832 Objects cancelled.
2017/09/11 14:56:27 kid1| 0 Duplicate URLs purged.
2017/09/11 14:56:27 kid1| 0 Swapfile clashes avoided.
2017/09/11 14:56:27 kid1| Took 0.07 seconds (162172.14 objects/sec).
2017/09/11 14:56:27 kid1| Beginning Validation Procedure
2017/09/11 14:56:28 kid1| Completed Validation Procedure
2017/09/11 14:56:28 kid1| Validated 11420 Entries
2017/09/11 14:56:28 kid1| store_swap_size = 6143544.00 KB
2017/09/11 14:56:28 kid1| storeLateRelease: released 0 objects




  


2. Re: Squid + Net Virtua Empresas + Modem Motorola

Mayco Souza Berghetti
berghetti

(usa Ubuntu)

Enviado em 12/09/2017 - 21:20h

Boa noite,
Se for possível, experimente deixar apenas alguns usuários saindo pelo link da NET para ver como vai se comportar.

Pode ser que seja bloqueio de muitas conexões simultâneas por parte da NET.


3. Re: Squid + Net Virtua Empresas + Modem Motorola

Anderson Luiz
Bande

(usa Fedora)

Enviado em 12/09/2017 - 21:35h

berghetti escreveu:

Boa noite,
Se for possível, experimente deixar apenas alguns usuários saindo pelo link da NET para ver como vai se comportar.

Pode ser que seja bloqueio de muitas conexões simultâneas por parte da NET.


Boa noite berghetti

então, eu já fiz isso sim, coloquei o admnistrativo ( cerca de 15 maquinas ) para sair por esse link por huns dias, funcionou que é uma beleza ( o administrativo não tem proxy passava direto pelo modem ). Mas não parou em nenhum momento nem nada, o que só me deixou mais confuso ainda.
Estivemos suspeitando de algo desse tipo por parte da NET realmente, mas não tenho como comprovar isso, ou tenho?


4. Re: Squid + Net Virtua Empresas + Modem Motorola

Mayco Souza Berghetti
berghetti

(usa Ubuntu)

Enviado em 12/09/2017 - 21:53h

Eles fazem isso para evitar o uso desse
se tipo de link em provedores de acesso.

Comprovar vai ser difícil, só fazendo esses teste mesmo de dividir a rede, para diminuir a carga no link.

E ser for isso mesmo, a NET não vai mudar, a não ser que tenha outro plano, como link dedicado ou algo assim. Afinal 250 hosts, já não é rede doméstica.


5. Re: Squid + Net Virtua Empresas + Modem Motorola

Anderson Luiz
Bande

(usa Fedora)

Enviado em 13/09/2017 - 00:40h

berghetti escreveu:

Eles fazem isso para evitar o uso desse
se tipo de link em provedores de acesso.

Comprovar vai ser difícil, só fazendo esses teste mesmo de dividir a rede, para diminuir a carga no link.

E ser for isso mesmo, a NET não vai mudar, a não ser que tenha outro plano, como link dedicado ou algo assim. Afinal 250 hosts, já não é rede doméstica.


Sim, exatamente por isso contratamos um plano " empresarial ", mas pelo jeito é só no nome mesmo, tristeza


6. Re: Squid + Net Virtua Empresas + Modem Motorola

Leandro Silva
LSSilva

(usa Outra)

Enviado em 13/09/2017 - 20:35h

Bande escreveu:

Estrutura
Modem/Roteador NetVirtua Empresas 120Mb ( Motorola ) -> enp5s0 ( Fedora 21 – Proxy( Squid 3.5) / Firewall ) -> eno1 - > LAN

DHCP/DNS -> WindowsServer 2008 R2

Scripts

#Firewall
#!/bin/bash

NET_IFACE='enp5s0'
LAN_IFACE='eno1'
LAN_RANGE='172.16.0.0/255.255.0.0'

echo "Iniciando pacotes..."
/sbin/modprobe ip_conntrack
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_LOG
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_REDIRECT

#habilita o modulo de filtragem de string
modprobe ipt_string

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

iptables -F
iptables -Z
iptables -t nat -F
iptables -t filter -F
iptables -t filter -Z
iptables -t mangle -F
iptables -t mangle -Z
iptables -t nat -Z
iptables -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -P OUTPUT ACCEPT

echo "Carregando regras..."

# Port Scanners Ocultos
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j DROP

#Bloqueio trafego XMPP na saída
iptables -A FORWARD -p tcp --dport xmpp-client -j DROP
iptables -A INPUT -p tcp --dport 5223 -j DROP
iptables -A OUTPUT -p tcp --dport 5223 -j DROP

# Redirecionamento pacotes http para o squid

iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/16 --dport 80 -j REDIRECT --to-port 3129

###Faixa de liberados
range=172.16.0.
for ((i=1;i<=254;i++));
do
iptables -t nat -I PREROUTING -s $range$i -p tcp -i $LAN_IFACE --dport 80 -j ACCEPT
done
###Fim da faixa de liberados

#------------------------------------

#Laboratorios
rang=172.16.1
for ((k=0;k<=159;k++));
do
iptables -t nat -A PREROUTING -i eno1 -s $rang$k -p tcp --dport 3129 -j ACCEPT
done

#-------------------------------------

#bloqueio HTTP do resto que nao esta na lista acima
iptables -t nat -A PREROUTING -s 0/0 -i $LAN_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3129

#Acesso ao DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

#Nao apagar!
iptables -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Compartilha a internet
iptables -t nat -A POSTROUTING -o $NET_IFACE -j MASQUERADE

#Nao apagar nada abaixo!
iptables -t filter -A INPUT -i $LAN_IFACE -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Controla o foward da enp1s0 para eno1
iptables -t filter -A FORWARD -d 0/0 -s $LAN_RANGE -o $NET_IFACE -j ACCEPT
iptables -t filter -A FORWARD -d $LAN_RANGE -s 0/0 -i $NET_IFACE -j ACCEPT
iptables -t filter -A INPUT -s $LAN_RANGE -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -s $LAN_RANGE -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -s $LAN_RANGE -d 0/0 -j ACCEPT


echo "Firewall iniciado!"

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


Eu bloquearia pacotes inválidos na rede para cada chain (pode te ajudar):
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP

Ativaria no sysctl.conf:
rp_filter
tcp_syncookies
only_secure_source_icmp_redirects
log_martians


Squid.Conf

http_port 3128 intercept
http_port 3129 intercept

#Nome do Squid, que aparece: generated by ....
visible_hostname HAMMERFALL_PROXY_SERVER

acl no_cache_domain dstdomain "/etc/squid/regras/no_cache_domain"
no_cache deny no_cache_domain

cache_mem 1640 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 300 MB
minimum_object_size 100 KB

refresh_pattern \^ftp: 1440 20% 10080
refresh_pattern \^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

cache_swap_high 75
cache_swap_low 60

access_log /var/log/squid/access.log squid
cache_dir ufs /var/cache/squid 10000 32 512

acl CONNECT method CONNECT

#acl manager proto cache_object#
acl localhost src
acl to_localhost dst
acl localnet src 172.16.0.0/16

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl sitesssl url_regex -i "/etc/squid/regras/sitesssl"

acl all src
always_direct allow all

#--------------------------------------------------#
# BANIMENTO DE MACADDRESS #
#--------------------------------------------------#
# ACRESCENTE NA LISTA #
#--------------------------------------------------#

acl HW_BANIDO arp "/etc/squid/listas/hw_banido"
http_access deny hw_banido

#--------------------------------------------------#
# FIM DO BANIMENTO #
#--------------------------------------------------#


#--------------------------------------------------#
# FAIXA DE IPs DE USO #
# DOS LABORATÓRIOS #
# #
#--------------------------------------------------#

acl IP_LAB src 172.16.1.0-172.16.1.159

#--------------------------------------------------#
# BLOQUEIO DE FAIXAS NAO UTILIZADAS #
#--------------------------------------------------#
#
#--------------------------------------------------#
# APARA REBARBAS DAS FAIXAS DE LABORATORIO
#--------------------------------------------------#

acl IP_REBARBA1 src 172.16.1.160-172.16.1.255
acl IP_REBARBA2 src 172.16.2.0-172.16.255.254
http_access deny IP_REBARBA1 IP_REBARBA2

#--------------------------------------------------#
# FIM DO BLOQUEIO O FAIXAS NAO UTILIZADAS
#--------------------------------------------------#

#-----------------------REGRAS---------------------#

#BLOQUEANDO URLs#
acl proibir_sites url_regex -i "/etc/squid/regras/bad_sites"
http_access deny proibir_sites

#BLOQUEANDO PALAVRAS#
acl proibir_palavras dstdom_regex "/etc/squid/regras/bad_palavras"
http_access deny proibir_palavras

#BLOQUEANDO EXTENCOES#
acl bad_ext urlpath_regex -i "/etc/squid/regras/bad_ext"
http_access deny bad_ext

#Email @ETEC e MSDN
acl libdominio dstdomain "/etc/squid/regras/liberainst"

#--Liberacao de lista de dominios institucionais---#
http_access allow libdominio
always_direct allow libdominio

#---Lista de Sites Liberados para acesso nos Labs--#
http_access allow sitesssl

#BLOQUEIOS EXISTENTES##
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge

http_access allow localnet
http_access allow localhost

http_access deny all


Log do Squid – Conectado no Link da VIVO ( Funciona )

017/09/12 17:00:10 kid1| Current Directory is /
2017/09/12 17:00:10 kid1| Starting Squid Cache version 3.4.12 for x86_64-unknown-linux-gnu...
2017/09/12 17:00:10 kid1| Process ID 3330
2017/09/12 17:00:10 kid1| Process Roles: worker
2017/09/12 17:00:10 kid1| With 16384 file descriptors available
2017/09/12 17:00:10 kid1| Initializing IP Cache...
2017/09/12 17:00:10 kid1| DNS Socket created at [::], FD 7
2017/09/12 17:00:10 kid1| DNS Socket created at 0.0.0.0, FD 8
2017/09/12 17:00:10 kid1| Adding domain home from /etc/resolv.conf
2017/09/12 17:00:10 kid1| Adding nameserver 192.168.25.1 from /etc/resolv.conf
2017/09/12 17:00:10 kid1| Logfile: opening log /var/log/squid/access.log
2017/09/12 17:00:10 kid1| WARNING: log name now starts with a module name. Use 'stdio:/var/log/squid/access.log'
2017/09/12 17:00:10 kid1| Unlinkd pipe opened on FD 13
2017/09/12 17:00:10 kid1| Store logging disabled
2017/09/12 17:00:10 kid1| Swap maxSize 10240000 + 1679360 KB, estimated 916873 objects
2017/09/12 17:00:10 kid1| Target number of buckets: 45843
2017/09/12 17:00:10 kid1| Using 65536 Store buckets
2017/09/12 17:00:10 kid1| Max Mem size: 1679360 KB
2017/09/12 17:00:10 kid1| Max Swap size: 10240000 KB
2017/09/12 17:00:10 kid1| Rebuilding storage in /var/cache/squid (dirty log)
2017/09/12 17:00:10 kid1| Using Least Load store dir selection
2017/09/12 17:00:10 kid1| Current Directory is /
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| ERROR: No forward-proxy ports configured.
2017/09/12 17:00:10 kid1| Finished loading MIME types and icons.
2017/09/12 17:00:10 kid1| HTCP Disabled.
2017/09/12 17:00:10 kid1| commBind: Cannot bind socket FD 18 to [::1]: (99) Cannot assign requested address
2017/09/12 17:00:10 kid1| commBind: Cannot bind socket FD 19 to [::1]: (99) Cannot assign requested address
2017/09/12 17:00:10 kid1| ERROR: Failed to create helper child read FD: UDP[::1]
2017/09/12 17:00:10 kid1| Squid plugin modules loaded: 0
2017/09/12 17:00:10 kid1| Adaptation support is off.
2017/09/12 17:00:10 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=41
2017/09/12 17:00:10 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3129 remote=[::] FD 17 flags=41
2017/09/12 17:00:10 kid1| Store rebuilding is 22.22% complete
2017/09/12 17:00:10 kid1| Done reading /var/cache/squid swaplog (18004 entries)
2017/09/12 17:00:10 kid1| Finished rebuilding storage from disk.
2017/09/12 17:00:10 kid1| 15073 Entries scanned
2017/09/12 17:00:10 kid1| 2 Invalid entries.
2017/09/12 17:00:10 kid1| 0 With invalid flags.
2017/09/12 17:00:10 kid1| 12156 Objects loaded.
2017/09/12 17:00:10 kid1| 0 Objects expired.
2017/09/12 17:00:10 kid1| 2917 Objects cancelled.
2017/09/12 17:00:10 kid1| 0 Duplicate URLs purged.
2017/09/12 17:00:10 kid1| 0 Swapfile clashes avoided.
2017/09/12 17:00:10 kid1| Took 0.09 seconds (142107.29 objects/sec).
2017/09/12 17:00:10 kid1| Beginning Validation Procedure
2017/09/12 17:00:10 kid1| Completed Validation Procedure
2017/09/12 17:00:10 kid1| Validated 12156 Entries
2017/09/12 17:00:10 kid1| store_swap_size = 6142228.00 KB
2017/09/12 17:00:11 kid1| storeLateRelease: released 0 objects


Log do Squid – Conectado no Link da NET( Não Funciona )

017/09/11 14:56:27 kid1| Current Directory is /
2017/09/11 14:56:27 kid1| Starting Squid Cache version 3.4.12 for x86_64-unknown-linux-gnu...
2017/09/11 14:56:27 kid1| Process ID 1822
2017/09/11 14:56:27 kid1| Process Roles: worker
2017/09/11 14:56:27 kid1| With 16384 file descriptors available
2017/09/11 14:56:27 kid1| Initializing IP Cache...
2017/09/11 14:56:27 kid1| DNS Socket created at [::], FD 7
2017/09/11 14:56:27 kid1| DNS Socket created at 0.0.0.0, FD 8
2017/09/11 14:56:27 kid1| Adding nameserver 189.5.0.64 from /etc/resolv.conf
2017/09/11 14:56:27 kid1| Adding nameserver 189.5.0.53 from /etc/resolv.conf
2017/09/11 14:56:27 kid1| Logfile: opening log /var/log/squid/access.log
2017/09/11 14:56:27 kid1| WARNING: log name now starts with a module name. Use 'stdio:/var/log/squid/access.log'
2017/09/11 14:56:27 kid1| Unlinkd pipe opened on FD 13
2017/09/11 14:56:27 kid1| Store logging disabled
2017/09/11 14:56:27 kid1| Swap maxSize 10240000 + 1679360 KB, estimated 916873 objects
2017/09/11 14:56:27 kid1| Target number of buckets: 45843
2017/09/11 14:56:27 kid1| Using 65536 Store buckets
2017/09/11 14:56:27 kid1| Max Mem size: 1679360 KB
2017/09/11 14:56:27 kid1| Max Swap size: 10240000 KB
2017/09/11 14:56:27 kid1| Rebuilding storage in /var/cache/squid (dirty log)
2017/09/11 14:56:27 kid1| Using Least Load store dir selection
2017/09/11 14:56:27 kid1| Current Directory is /
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| ERROR: No forward-proxy ports configured.
2017/09/11 14:56:27 kid1| Finished loading MIME types and icons.
2017/09/11 14:56:27 kid1| HTCP Disabled.
2017/09/11 14:56:27 kid1| commBind: Cannot bind socket FD 18 to [::1]: (99) Cannot assign requested address
2017/09/11 14:56:27 kid1| commBind: Cannot bind socket FD 19 to [::1]: (99) Cannot assign requested address
2017/09/11 14:56:27 kid1| ERROR: Failed to create helper child read FD: UDP[::1]
2017/09/11 14:56:27 kid1| Squid plugin modules loaded: 0
2017/09/11 14:56:27 kid1| Adaptation support is off.
2017/09/11 14:56:27 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=41
2017/09/11 14:56:27 kid1| Accepting NAT intercepted HTTP Socket connections at local=[::]:3129 remote=[::] FD 17 flags=41
2017/09/11 14:56:27 kid1| Store rebuilding is 30.57% complete
2017/09/11 14:56:27 kid1| Done reading /var/cache/squid swaplog (13084 entries)
2017/09/11 14:56:27 kid1| Finished rebuilding storage from disk.
2017/09/11 14:56:27 kid1| 12252 Entries scanned
2017/09/11 14:56:27 kid1| 0 Invalid entries.
2017/09/11 14:56:27 kid1| 0 With invalid flags.
2017/09/11 14:56:27 kid1| 11420 Objects loaded.
2017/09/11 14:56:27 kid1| 0 Objects expired.
2017/09/11 14:56:27 kid1| 832 Objects cancelled.
2017/09/11 14:56:27 kid1| 0 Duplicate URLs purged.
2017/09/11 14:56:27 kid1| 0 Swapfile clashes avoided.
2017/09/11 14:56:27 kid1| Took 0.07 seconds (162172.14 objects/sec).
2017/09/11 14:56:27 kid1| Beginning Validation Procedure
2017/09/11 14:56:28 kid1| Completed Validation Procedure
2017/09/11 14:56:28 kid1| Validated 11420 Entries
2017/09/11 14:56:28 kid1| store_swap_size = 6143544.00 KB
2017/09/11 14:56:28 kid1| storeLateRelease: released 0 objects



Inicialmente definiria apenas uma porta para o proxy transparente.

(Posso estar errado, porém considero válido de teste).






Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts