Como rotear algum host para outro host com alguma porta no linux?

3

Digamos que eu queira direcionar todas as solicitações para google.com para localhost: 333, como fazer isso?

    
por khelll 09.01.2010 / 18:52

2 respostas

3

Rotas Shorewall. ( FAQ )

Você deseja redirecionar todas as solicitações de conexão locais do google.com para um servidor em execução na sua zona local em 127.0.0.1 e ouvir na porta 333. Sua interface local é eth1.

Isenção de responsabilidade; Eu não fiz exatamente isso com o Shorewall, então modifiquei um exemplo de configuração do servidor Squid:

  1. Adicione esta entrada ao seu arquivo / etc / shorewall / providers.

    #NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS
    foo     1       202     -               eth1            127.0.0.1     loose
    
  2. Em / etc / shorewall / tcrules, adicione:

    #MARK    SOURCE              DEST        PROTO    DEST
    #                                                 PORT(S)
    202:P    net:google.com   0.0.0.0/0   tcp      80
    
  3. Em / etc / shorewall / interfaces:

    #ZONE   INTERFACE    BROADCAST    OPTIONS
    loc     eth1         detect       routeback          
    
  4. No host local, organize o seguinte comando a ser executado após o surgimento da rede

    iptables -t nat -A PREROUTING -i eth0 -d ! 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 333          
    
por 09.01.2010 / 18:59
1

Se você quiser fazer isso em apenas uma máquina, edite:

/etc/hosts 

e adicione

google.com 127.0.0.1

reinicie os serviços de rede

/etc/rc.d/init.d/network restart

Isso redirecionaria o tráfego normal da web para localhost: 80, no entanto.

    
por 09.01.2010 / 19:43