Direcionar portas para outro Computador

1. Direcionar portas para outro Computador

Pedro Henrique Pereira
PedroSP

(usa Conectiva)

Enviado em 25/07/2007 - 18:08h

Olá pessoal. Essa é meu primeiro contato com a comunidade.
Tenho conhecimento básico dos básicos sobre o linux, e me deparo com o seguinte problema.
Tenho 2 computadores:
=> O primeiro tem o coyote instalado e distribui a internet para os computadores da empresa.
=> O segundo é um computador normal com o Conectiva 8 instalado e rodando o Squid ( IP 192.171.1.103 )

O squid está funcionando perfeitamente nessa maquina, com a regras e tudo mais, tanto, que se no Internet Explorer eu configurar esse IP como Servidor Proxy, ele faz tudo perfeitamente.

O que eu gostaria é de não precisar configurar manualmente cada máquina com esse proxy.

Creio q deve ter uma maneira de direcionar as entradas da internet do servidor com o Coyote intalado para o Servidor Proxy com o Cocectiva.

Os dados são.

PC01 - Coyote - IP 192.171.1.200
PC02 - Conectiva - IP 192.171.1.103 com Squid configurado para http_port 3128

Se fico no aguardo de algum socorro.

Desde já antecipo meus agradecimentos.

Valeu gente, espero crescer com vc´s aqui na comunidade.

PedroSP



  


2. iptables

Keylly Eyglys
eyglys

(usa Ubuntu)

Enviado em 25/07/2007 - 22:22h

Imagino que o seu servidor coyote seja o gateway das máquinas, caso isso seja verdade, você pode redirecionar o tráfego da porta 80 (web) para o seu servidor conectiva (onde o squid está instalado):

iptables -t nat -A PREROUTING -i INTERFACE_REDE_LOCAL -p tcp --dport 80 -j DNAT --to IP_SERVIDOR_PROXY:3128

Troque o INTERFACE_REDE_LOCAL pela interface da sua rede local (eth0/eth1)
Troque IP_SERVIDOR_PROXY pelo ip do seu servidor conectiva (onde o squid está instalado)
Troque a porta 3128 pela porta que você utilizou no squid (3128 é a porta padrão)

Essa regra de firewall deve ser rodada no seu servidor coyote (aconselho a coloca-la em um script a ser rodado junto com o rc.local na inicialização do sistema).

Att.
Keylly Eyglys


3. Coyote

Pedro Henrique Pereira
PedroSP

(usa Conectiva)

Enviado em 26/07/2007 - 13:42h

Caro amigo, pelo visto deve estar correto, mas a minha falta de experiência é q talvez esteja atrapalhando.
Qdo eu coloco esses dados no script de inicialização do Coyote, não tenho acesso a página alguma, mas o serviço de e-mail e msn ainda funcionam... Sem problema... Até ai tdo bem..
mas pelo visto fico só sem internet, sem acesso as páginas.
As máquinas da empresa estão configuradas assim:

=> IP da Máquina: 192.171.X.X
=> Mascara de sub_rede: . 255.255.255.0
=> Gateway padrão: 192.171.X.X ( IP do Coyote )

sem a regra que me passou funciona normal, é só colocar a regra do iptables q fico sem web....

Estou colocando a informação que me passou só na tela de script de inicialização do Coyote.

Agradeço se pudesse me orientar..

Até mais.


4. Proxy Tranparente

Anderson dos Santos Donda
DondaJr

(usa Debian)

Enviado em 26/07/2007 - 13:59h

Acho que não tah funcionando pq as regras acima (do iptables) são para proxy transparente..

e pelo visto seu squid não ta proxy tranparente ou está?


5. Habilitar o proxy transparente

Juno Kim
juno

(usa Linux Mint)

Enviado em 26/07/2007 - 14:10h

Cara você precisa habilitar o proxy transparente, faça da seguinte forma na máquina que está rodando o coyote:

iptables -t nat -A POSTROUTING -p tcp --dport 80 -j DNAT --to-destination 192.171.1.103:3128

PC01 - Coyote - IP 192.171.1.200
PC02 - Conectiva - IP 192.171.1.103 com Squid configurado para http_port 3128

Falou!


6. Proxy Tranparente

Pedro Henrique Pereira
PedroSP

(usa Conectiva)

Enviado em 26/07/2007 - 14:32h

As últimas linhas do squid.conf estão assim.

httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_uses_host_header on
httpd_accel_with_proxy on

Seria isso que vc se refere?

Desde já agradeço.



7. Autenticacao

Anderson dos Santos Donda
DondaJr

(usa Debian)

Enviado em 26/07/2007 - 14:57h

Vc naum usa autenticacao nesse squid usa? pq proxy tranparente naum funciona com autenticacao

coloca suas regras iptables e squid aqui pra gente ver


8. Regras Squid IpTables

Pedro Henrique Pereira
PedroSP

(usa Conectiva)

Enviado em 26/07/2007 - 15:14h

Aqui vai a regra q tem no Squid.conf do Conectiva e no Iptables do Coyote.

################# COMEÇO SQUID.CONF ##########
http_port 3128
visible_hostname 192.171.1.103
error_directory /etc/squid/errors

###CONFIGURACAO DO CACHE
cache_mem 15 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 512 KB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/cache/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 20% 2280
refresh_pattern . 15 20% 22820

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 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 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 Connet !SSL_ports



# AUTENTICAÇÃO DE USUÁRIOS
#auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_password
#acl autenticados proxy_auth REQUIRED
#http_access allow autenticados



acl acesso_liberado src "/etc/squid/acesso_liberado.txt"
acl acesso_geral src "/etc/squid/acesso_geral.txt"
acl acesso_restrito src "/etc/squid/acesso_restrito.txt"
acl acesso_negado src "/etc/squid/acesso_negado.txt"

acl sites_liberados url_regex -i "/etc/squid/sites_liberados.txt"
acl download_negado urlpath_regex -i "/etc/squid/download_negado.txt"
acl sites_negado url_regex -i "/etc/squid/sites_negado.txt"


http_access allow acesso_liberado
http_access allow acesso_geral !sites_negado !download_negado
http_access deny acesso_restrito !sites_liberados
http_access deny acesso_negado
#http_access deny all



###### LIBERA DA REDE LOCAL
acl redelocal src 192.171.1.0/24
http_access allow localhost
http_access allow redelocal


###### PROXY TRANSPARENTE
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_uses_host_header on
httpd_accel_with_proxy on

####### FIM SQUID.CONF #######




Regras do IP Tables
Obs. Não sei se é ai que pega essas regras, mas entrei no coyote pelo webAdmin na opção Configuração Avançada do Firewall e fui na ultima opção " Editar Regras Personalizadas "

#!/bin/sh
#
# Local Custom Firewall rules


# Level 7 Filtering example rules:
# Block Kazaa, Morpheus, iMesh, Grokster, eDonkey, eMule, DC++, etc:
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto fasttrack -j DROP
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto edonkey -j DROP
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto directconnect -j DROP

# Other Examples:
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto ftp -j LOG
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto pop3 -j MARK --set-mark 1
#
# To see a list of all available protocols use this command:
# ls /etc/l7-protocols


# Attention: To enable the commands below can cause some side effects
# Syn-flood and DOS protection
#iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Port Scanners protection
#iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#iptables -A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j DROP
# Ping-of-dead protection
#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# IP Spoofing protection
#iptables -A INPUT -s 10.0.0.0/8 -i $IF_INET -j DROP
#iptables -A INPUT -s 172.16.0.0/16 -i $IF_INET -j DROP
#iptables -A INPUT -s 192.171/24 -i $IF_INET -j DROP



Fico no aguardo......

Por enquanto fico grato pela ajuda de todos....





9. Tah faltanndo!

Anderson dos Santos Donda
DondaJr

(usa Debian)

Enviado em 26/07/2007 - 15:32h

Bom amigo.. nas regras do squid pelo jeito tah tudo certo.. é pra funcionar.. mas essas suas regras de iptables no coyote tah estranho..

Cade a regra de redirecionamento de porta..

Cade a regra de SNAT ou MASQUERADE da rede..


vai ai minhas regras pra vc ver o q pode usar


#Ativa a mascara para a rede
##<begin>
#Computadores Administrativos
iptables -A POSTROUTING -t nat -s 10.0.0.248/32 -o eth1 -j SNAT --to $IPSERVER #Suporte
iptables -A POSTROUTING -t nat -s 10.0.0.13/32 -o eth1 -j SNAT --to $IPSERVER #Suporte2
iptables -A POSTROUTING -t nat -s 10.0.0.55/32 -o eth1 -j SNAT --to $IPSERVEER #Diretoria
iptables -A POSTROUTING -t nat -s 10.0.0.56/32 -o eth1 -j SNAT --to $IPSERVER #Secretaria
iptables -A POSTROUTING -t nat -s 10.0.0.57/32 -o eth1 -j SNAT --to $IPSERVER #Financeiro
#Computadores de aula
iptables -A POSTROUTING -t nat -s 10.0.1.0/24 -o eth1 -j SNAT --to $IPSERVER #Vip1
iptables -A POSTROUTING -t nat -s 10.0.2.0/24 -o eth1 -j SNAT --to $IPSERVER #Vip2
iptables -A POSTROUTING -t nat -s 10.0.3.0/24 -o eth1 -j SNAT --to $IPSERVER #Vip3
iptables -A POSTROUTING -t nat -s 10.0.4.0/24 -o eth1 -j SNAT --to $IPSERVER #Vip4
##<end>


#Redirecionamento Squid
##<begin>
iptables -t nat -N SquidControl
iptables -t nat -A SquidControl -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128
##<end>


#Squid Users
##<begin>
iptables -t nat -N SquidClass
#Computadores Administrativos
iptables -t nat -A SquidClass -s 10.0.0.55/32 -j SquidControl #Diretoria
iptables -t nat -A SquidClass -s 10.0.0.13/32 -j SquidControl #Suporte2
iptables -t nat -A SquidClass -s 10.0.0.56/32 -j SquidControl #Secretaria
iptables -t nat -A SquidClass -s 10.0.0.57/32 -j SquidControl #Financeiro
#Computadores de aula
iptables -t nat -A SquidClass -s 10.0.1.0/24 -j SquidControl #Vip1
iptables -t nat -A SquidClass -s 10.0.2.0/24 -j SquidControl #Vip2
iptables -t nat -A SquidClass -s 10.0.3.0/24 -j SquidControl #Vip3
iptables -t nat -A SquidClass -s 10.0.4.0/24 -j SquidControl #Vip4
##<end>

#Redireciona rede para Squid
iptables -t nat -A PREROUTING -j SquidClass


#Habilita o compartilhamento da rede
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT



aHHH.. naum esquece de colocar na parte de redirecionar porta a regra q o eyglys colocou la encima


10. Regras e Regras

Pedro Henrique Pereira
PedroSP

(usa Conectiva)

Enviado em 26/07/2007 - 19:59h

É pessoal, fiquei até mais tarde aqui na empresa tentando fazer o Coyote (192.171.1.200) jogar o tráfego da Internet para o Squid do Conectiva (192.171.1.103:3128)....mas até agora não rodou...
Fiz vários teste, mas todos acabavam bloqueando o acesso a internet, mas o MSN por exemplo continuava.....

A última regra do IPTables que colocaquei foi essa aqui.

####
iptables -A POSTROUTING -t nat -s 192.171.1.0/24 -o eth1 -j SNAT --to 192.71.1.200
####
iptables -t nat -N SquidControl
iptables -t nat -A SquidControl PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 192.171.1.103:3128
###
###
iptables -t nat -N SquidClass
iptables -t nat -A SquidClass -s 192.171.1.0/24 -j SquidControl
###
iptables -t nat -A PREROUTING -j SquidClass
###
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT

Foi uma mistura da última dica com as demais q testei....
Com essa a internet funciona normalmente, só que não bloqueia nada....
Bom..estarei aqui tentando....
Se alguém tiver uma dica me ajudem.

Até mais pessoal...


11. Vamo lá

Anderson dos Santos Donda
DondaJr

(usa Debian)

Enviado em 26/07/2007 - 21:50h

Viu.. ta envertido as coisa nas suas regras

vamo lá

Suas informacoes:

PC01 - Coyote - IP 192.171.1.200
PC02 - Conectiva - IP 192.171.1.103 com Squid configurado para http_port 3128


##Joga tudo q chegar no coyote para Conectiva
iptables -A PREROUTING -t nat -p tcp -d 192.171.1200 -j DNAT --to 192.171.1.103:3128

##Faz o masquerade de sua conexao
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE

bom o resto das regras do iptables para o squid tem q ser no conectiva e não no coyote

####
iptables -t nat -N SquidControl
iptables -t nat -A SquidControl PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
###
###
iptables -t nat -N SquidClass
iptables -t nat -A SquidClass -s 192.171.1.0/24 -j SquidControl
###
iptables -t nat -A PREROUTING -j SquidClass
###
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT


Lembrando q coloquei eth0 aqui para ficar facil a leitura, troque pelo alias de sua placa...

Outra coisa.. a suas máquinas terao q estar dentro do host 192.171.1.* , pois é neste host q vc faz o roteamento..

caso naum funcione.. ta faltando esta regra na maquina do squid

iptables -A POSTROUTING -t nat -s 192.171.10/24 -o eth1 -j SNAT --to $IPSERVER

onde $IPSERVER é o ip q sua maquina tem na internet!!!

espero ajudar!!

qualqueer coisa .. posta ai


12. Re: Direcionar portas para outro Computador

Ricardo Lino Olonca
ricardoolonca

(usa Debian)

Enviado em 26/07/2007 - 22:16h

Tá faltando a regra pro Squid sair. Coloque uma regra habilitando a máquina Squid a sair direto, antes da regra de mascaramento.

iptables -A FORWARD -s <ip_do_squid> -j ACCEPT
iptables -t nat -A PREROUTING -s <ip_da_rede> -p tcp --dport 80 -j DNAT --to <ip_do_squid>:3128





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts