Iptables NAT Linux x Citrix Metaframe

Publicado por Hugo Alvarez em 08/09/2008

[ Hits: 9.238 ]

 


Iptables NAT Linux x Citrix Metaframe



Esta dica é para quem precisa fazer NAT com o iptables dos pacotes do Citrix Metaframe e para eu mesmo não esquecer, se bem que acho difícil esquecer o que eu realmente chamaria de "o pulo do gato" do Citrix Metaframe após apanhar por uma semana sem uma resposta clara para minha necessidade.

"Herdei" um servidor Citrix Metaframe na empresa onde trabalho que foi instalado em 2002 por uma empresa especializada no assunto, porém esse servidor nos últimos meses já vinha se arrastando e após a migração do ERP da empresa ele parou de vez. Travamentos ocorriam diariamente e foi necessário realizar a substituição do hardware e do sistema operacional, Windows 2000.

Então sobrou para mim a missão, gastar uma grana alta da empresa em horas técnicas de uma empresa que não vou revelar o nome por questões de ética ou economizar essa grana para gastar com outros servidores? Como bom linuxer, escolhi economizar para outros servidores. ;-)

Chega de falação, vamos colocar o servidor pra funcionar através de NAT, com o servidor Citrix Metaframe já instalado e devidamente funcional na LAN, acerte seu firewall:

iptables -A FORWARD -i eth1 -s yyy.yyy.yyy.yyy/32 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -d xxx.xxx.xxx.xxx -p tcp -m multiport --dport 80,1494 -j DNAT --to-destination yyy.yyy.yyy.yyy

Explicação:
  • Linha 1: se sua política de INPUT e FORWARD padrão for DROP ao iniciar seu firewall -- particularmente eu acho o recomendado (iptables -P INPUT DROP ; iptables -P FORWARD DROP), você precisará liberar o FORWARD para seu servidor metaframe, designado pelo endereço local yyy.yyy.yyy.yyy. No exemplo, a eth1 representa a interface local;
  • Linha 2: não é necessário fazer INPUT nas portas 80 e 1494 do firewall, pois ele vai apenas redirecionar as conexões recebidas nessas portas. Então, na linha 2, estou indicando que todos os pacotes que chegarem na interface de internet eth0 com destino ao IP de internet xxx.xxx.xxx.xxx com protocolo TCP nas portas 80 e 1494 devem ser redirecionadas para o IP yyy.yyy.yyy.yyy (IP local) do servidor. O parâmetro "-m multiport" especifica as conexões em mais de uma porta. Em alguns casos é necessário ativá-lo no kernel, o que requer a recompilação do mesmo e isso já é outro assunto. Caso o servidor não aceite a opção "-m multiport" pode-se utilizar "-m tcp" e especificar a segunda porta em outra linha de comando.

Feita a configuração do firewall iptables vamos aos segredos do Citrix:

1. Crie um arquivo de configuração a partir de sua aplicação já publicada e devidamente configurada (não explicarei essa parte pois o escopo da dica é fazer a conexão através de NAT). Com o arquivo .ica devidamente funcional na LAN, adicione a seguinte linha ao arquivo, na seção [WFClient]:

UseAlternateAddress=1

Salve e feche o arquivo.

2. Agora o grande pulo do gato, que me deixou 3 noites sem dormir, no servidor. Abra o prompt de comando e vá até a pasta "C:\Program Files\Citrix\system32". Execute o seguinte comando:

> altaddr /set xxx.xxx.xxx.xxx

Onde xxx.xxx.xxx.xxx é o IP de internet.
Pronto, é só reiniciar o servidor Metaframe e fazer o teste remoto, está configurado o NAT do iptables para o Citrix.

Outras dicas deste autor

Nagios3 - Correção do "wrong -l argument" no check_nt

Tirando o bip do pc speaker ao digitar

Bloqueando qualquer Messenger em 3 linhas de comando

Cadê o apt-setup do Etch? E agora?

Leitura recomendada

Sites de busca de pacotes RPM

Programa para verificação de hashes no Windows

Instalar Conky no Slackware 15

Gerenciando seu cybercafé (parte 2)

Adicionando smileys (emotions) personalizados no aMSN

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts