Fórum Ubuntu Linux - PT
Suporte Técnico => Servidores => Tópico iniciado por: jucabrasil em 18 de Julho de 2011, 13:36
-
estou configurando um servidor com duas placas de rede
a primeira eth1 - conectado ao modem.. com ip automatico
a segunda eth2 conectado ao swith .. ip 192.168.1.1
o servidor acessa a internet normalmente..
não configurei mais nada.
Quando configuro as estações de trabalho para usar o ip 192.168.1.10 e gateway 192.168.1.1
a rede acessa porem fico sem internet.
Qual é o problema? Como libero a internet nas estações..?
-
Executa o seguinte (tudo como root):
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to [ip externo]
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
#se quiser incluir log disso no sistema:
iptables -A FORWARD -j LOG
Acho que não falta nada. Tenta rodar esses comandos aí e ver se consegue comunicar.
[]'s
-
#se quiser incluir log disso no sistema:
iptables -A FORWARD -j LOG
A quantidade de log que esse comando vai gerar pode chegar a derrubar teu sistema. Se for pra fazer, tem que fazer assim:
iptables -A FORWARD -m limit --limit 10/s -j LOG
Isso vai limitar a 10 linhas de log por segundo. Você pode mudar o limite pra qualquer valor que ache conveniente em sua máquina, mas tenha sempre o cuidado de não deixar a máquina sobrecarregar.
-
minha regra ta assim.. verifique se esta correta:
agora fica na rede com acesso.. porem somente consigo navegar se no navegador eu usar o proxy..
Tenho squid sera que pode ser ele?
#!/bin/bash
IPT='/sbin/iptables'
NET_IFACE='eth1'
NET_RANGE='10.1.1.0'
LAN_IFACE='eth2'
LAN_RANGE='192.168.2.0/24'
/sbin/modprobe ip_conntrack
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_LOG
/sbin/modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -F
$IPT -t nat -F
$IPT -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
$IPT -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT
$IPT -t nat -A PREROUTING -m iprange --src-range 192.168.2.2-192.168.2.254 -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPT -t nat -A POSTROUTING -s $LAN_RANGE -o $NET_RANGE -j MASQUERADE
-
$IPT -t nat -A POSTROUTING -s $LAN_RANGE -o $NET_RANGE -j MASQUERADE
Esta regra é o problema. Você só está fazendo MASQUERADE quando os pacotes vêm da sua rede local e vão pra um destino específico ($NET_RANGE). Você tem que fazer o MASQUERADE quando os pacotes vêm de sua rede local, mas vão pra um destino geral, que é a Internet. Provavelmente o que você queria fazer era limitar pela interface de saída ($NET_IFACE).
A regra corrigida vai ficar assim:
$IPT -t nat -A POSTROUTING -s $LAN_RANGE -o $NET_IFACE -j MASQUERADE
Se você precisar que um determinado destino não sofra NAT, pode colocar uma regra de exceção antes dessa. Mas só se precisar.
Outra coisa, estava revendo os comandos sugeridos pelo amelotti, e me chamaram a atenção alguns trechos.
Primeiro:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to [ip externo]
Ou você usa MASQUERADING, ou usa SNAT. Os dois ao mesmo tempo, não. SNAT normalmente é usado apenas quando a conexão de saída usa IP fixo. MASQUERADING pode ser usado em qualquer caso.
Segundo:
iptables -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
Antes de recomendar um script citando interfaces eth1, eth2, etc, é preciso saber se o usuário em questão tem essas interfaces.
Além disso, a primeira regra vai funcionar melhor se não especificar interfaces de entrada e/ou saída, assim ela vai funcionar com todas as interfaces. Liberar conexão de retorno é uma prática segura.
A segunda regra, aplicada sem critério, pode escancarar o firewall da pessoa. É preciso confirmar se as interfaces certas estão especificadas, e na direção correta.
-
oi zekkerj
Vou fazer esse teste e te falo se deu certo..
-
continua algo errado
olha so..
se eu acessar as pagina bloqueadas aparece Acesso proibido como quero porem, se eu acessar qualquer pagina que não for liberada aparece erro:
ERROR
The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: http://www.google.com.br/
Incapaz de determinar o endereço IP através do nome do host "www.google.com.br"
O servidor DNS retornou:
Timeout
This means that the cache was not able to resolve the hostname presented in the URL. Check if the address is correct.
Your cache administrator is webmaster.
Generated Tue, 19 Jul 2011 19:32:15 GMT by cicrisa (squid/2.7.STABLE9)
segue meu squid.conf.
####SQUID#####
http_port 3128 transparent
visible_hostname cicrisa
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
cache_effective_group proxy
coredump_dir /var/spool/squid
####LOGs####
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
error_directory /usr/share/squid/errors/Portuguese
####Controle de acesso####
acl rede src 192.168.1.0/255.255.255.0
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 to_localhost dst 127.0.0.0/8
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 CONNECT !SSL_ports
http_access allow localhost
####Declaracao acl####
# cesso_total = IPs que terão acesso total à internet. Não passarão por nenhuma restrição do squid.
# acesso_restrito = IPs que passarão pelo bloqueio dos sites.
# liberados = Lista de sites liberados
acl acesso_total src "/etc/squid/acesso_total"
acl acesso_restrito src "/etc/squid/acesso_restrito"
acl liberados url_regex -i "/etc/squid/liberados"
####Ativar acl####
http_access allow acesso_total
http_access allow liberados
http_access deny acesso_restrito
http_access deny all
-
Qual endereço você está usando como servidor DNS nas estações?
-
isso mesmo o problema era o DNS
esta tudo funcionando agora..
porem sinto que nas estações a internet esta lenta...
alguem sabe porque?
-
Bom dia
estou com o ubuntu instalado onde possuo nele duas placas de rede, uma entra o modem e a outra sai para rede local.
O que esta ocorrendo é uma certa lentidão nas estações de trabalho.
possuo regras iptables e o squid instalado. vou postar aqui as configurações pode ser alguma coisa..
#!/bin/bash
IPT='/sbin/iptables'
NET_IFACE='eth1'
NET_RANGE='10.1.1.0'
LAN_IFACE='eth2'
LAN_RANGE='192.168.0.0/24'
/sbin/modprobe ip_conntrack
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_LOG
/sbin/modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -F
$IPT -t nat -F
$IPT -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
$IPT -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT
$IPT -t nat -A POSTROUTING -s $LAN_RANGE -o $NET_IFACE -j MASQUERADE
$IPT -t nat -A PREROUTING -m iprange --src-range 192.168.0.1-192.168.0.254 -p tcp --dport 80 -j REDIRECT --to-port 3128
Squid:
# Porta:
http_port 3128 transparent
visible_hostname Teste
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
# >> Configuração do cache de páginas e arquivos <<
cache_mem 16 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 16 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
# >> Cache em disco <<
cache_dir ufs /var/spool/squid 512 16 256
# Arquivo onde são guardados os logs de acesso do Squid.
cache_access_log /var/log/squid/access.log
# >> Padrão de atualização do cache <<
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
# >> Controle de acesso <<
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 192.168.1.0/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 CONNECT !SSL_ports
http_access allow localhost
acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
###############Logs do SQUID##################
error_directory /usr/share/squid/errors/Portuguese
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
-
"Sentir" a internet "lenta" nas estações é bastante vago.
Lenta, como? A taxa de download está baixa, ou as páginas demoram a abrir?
-
as paginas demoram pra carregar.
-
Lentidão pra carregar, ou lentidão pra abrir? Pq carregar é o tempo pra página toda carregar, até toda a atividade da página cessar.
Já abrir, é o tempo pra você clicar num link e a página começar a carregar.
Pq a diferença? Pq lentidão pra carregar pode significar dificuldade durante as conexões, que pode estar relacionada com as taxas de download, ou no seu caso, com o funcionamento do proxy.
Já a lentidão pra abrir pode significar problema no servidor DNS escolhido, ele estaria demorando pra responder.
-
mudei de servidor colocando o linux no lugar, o dns continua o mesmo
senti diferença na velocidade que acessa as paginas parecendo estar mais lenta, segra que é algo no squid?
-
Pode ser ou pode não ser. Desative o proxy transparente, veja se há alteração no comportamento.