Esta pergutna é muito importante. Suponhamos que você queira redirecionar o tráfego de envio de e-mails de toda a sua rede para um servidor de preferência, como por exemplo, um servidor interno que você tenha. Assim, ao invés de os usuários da sua rede utilizarem outro servidor SMTP, serão obrigados a sempre usar o servidor SMTP que você escolher. As linhas abaixo são necessárias para fazer essa tarefa. Se o seu servidor SMTP for na própria máquina do filtro IPTables: iptables -t nat -A PREROUTING -p tcp –dport 25 -j REDIRECT –to-port 25 Caso seu servidor SMTP seja o 192.168.0.2, na porta 25: iptables -t nat -A PREROUTING -p tcp –dport 25 -j DNAT –to 192.168.0.2:25 Caso você queira redirecionar para apenas o SMTP do seu provedor, substituindo o 256.103.245.3 pelo IP do servidor SMTP do seu provedor: iptables -t nat -A PREROUTING -p tcp –dport 25 -j DNAT –to 256.103.245.3:25 E por aí vai. Qualquer endereço, seja qualquer for ele, que o destino seja a porta 25, o filtro irá redicionar a conexão para onde quiser. Assim você pode evitar problemas de uma migração por exemplo, ou obrigar os usuários da sua rede ou de seu provedor a usarem […]
Quem usa Linux conhece bem o prompt de comando sh, ou variações como o bash. O que muita gente não sabe é que o sh ou o bash têm uma “poderosa” linguagem de script embutido nelas mesmas. Diversas pessoas utilizam-se desta linguagem para facilitar a realização de inúmeras tarefas administrativas no Linux, ou até mesmo criar seus próprios programinhas. Patrick Volkerding, criador da distribuição Slackware, utiliza esta linguagem para toda a instalação e configuração de sua distribuição. Você poderá criar scripts para automar as tarefas diárias de um servidor, para efetuar backup automático regularmente, procurar textos, criar formatações, e muito mais.
Se você usa o Apache para apenas alguns sites, você nunca passará por este problema. Mas em servidores em que a quantidade de domínios virtuais é muito grande, surge a necessidade de você separar os logs de acesso para cada um dos dominios virtuais, com o fim de fazer a análise destes logs e apresentar estatísticas para os usuários de cada domínio (O Webalizer faz isso). Mas para cada arquivo de log, o Apache abre um processo de escrita, e o sistema tem um certo limite de processos, ou seja, o Apache só poderá abrir alguns poucos processos para escrever nos logs. Para resolver isso, existe um utilitário chamado split-logfile (que vem junto com o Apache) que separa os logs de acordo com o domínio virtual. Para fazer funcionar, primeiro retire todos os logs dos seus domínios virtuais e adicione apenas as seguintes linhas de log na configuração principal do seu servidor (e não do domínio virtual): LogFormat “%v %h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined LogFormat “%v %h %l %u %t \”%r\” %>s %b” common< CustomLog “/var/www/logs/access_log” combined ErrorLog “/var/www/logs/error_log” As primeiras duas linhas vão criar o formato da linha de log que o Apache irá […]
Geralmente quando você tem um site grande, alguns usuários sem ética começam a copiar tudo e deixar links diretos para os seus arquivos em páginas próprias. Para evitar muitos casos disso, pode-se usar o mod_rewrite. É só colocar as seguintes linhas dentro da sua configuração principal ou de um domínio virtual (<VirtualHost>): RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?nomedodominio\.com\.br/.*$ [NC] RewriteRule \.(mid|wav|mp3|zip|avi|rm|ram|swf|mpg|wmv|pdf)$ http://www.nomedodominio.com.br/download_negado.php [NC,R,L] Este exemplo acima fará com que os sites que não estão inclusos no dominio www.nomedodominio.com.br tenham seu acesso negado ao link direto para os arquivos com as extensões: .mid; .wav; .mp3; .zip; .avi; .rm; .ram; .swf; .mpg; .wmv; .pdf. Ou seja, se alguma outra pagina fizer um link direto para um arquivo .mp3 do seu servidor por exemplo, ao invés dele pegar o arquivo .mp3, ele cairá na página http://www.nomedodominio.com.br/download_negado.php, que poderá conter um aviso de que o download direto foi negado.
Às vezes você se depara com uma configuração em que você tem um servidor Apache rodando para a Internet, e outros servidores rodando internamente. Só que como fazer para que os usuários da Internet acessem os vários servidores internos? Uma solução seria configurar o firewall para que redirecione as respectivas conexões para os servidores internos via NAT. Mas o problema disso é que você não consegue redirecionar na mesma porta de acordo com o nome do host, ou seja, não tem a habilidade de fazer uma configuração de Domínio Virtual no firewall. Vamos supor que eu tenha três servidores internos e um externo. Cada um destes servidores internos carrega um site diferente, rodando sob Linux e Apache (SIM!), enquanto que no servidor externo, eu tenho um Apache rodando com alguns sites simples. Como fazer para que este Apache no servidor externo mostre aos usuários da Internet as páginas que estão nos servidores internos? Para solucionar este caso, você pode simplesmente utilizar o poderoso mod_rewrite para pegar todo um endereço da rede Interna e colocar disponível no seu servidor Internet transparentemente para o usuário. No servidor externo, você pode colocar as seguintes linhas na configuração principal ou dentro de um domínio […]