Rota o tráfego ssh baseado no hostname usando FreeBSD / pf?

1

Eu tenho uma máquina proxy / firewall executando o FreeBSD 9, usando o PF para rotear e filtrar o tráfego conforme necessário.

Agora estou configurando um servidor git, que roda sobre o ssh, mas já estou usando a porta 22 para o ssh. Eu gostaria de rotear o tráfego de qualquer IP para a porta 22 para outra máquina, se o nome do host que eles usaram para acessar o servidor fosse um subdomínio (git.mydomain.com). Tipo de host virtual, mas para ssh ...

Isso é possível com pf? Alguma sugestão?

    
por kbanman 27.07.2012 / 05:18

2 respostas

5

Desculpe, o que você está pedindo é impossível - o tráfego IP (e um firewall IP) só conhece endereços IP - ele não sabe nada sobre nomes de host.

Você só pode ter um processo ouvindo uma porta específica em um endereço IP específico. Os hosts virtuais para sites funcionam porque o servidor da Web recebe o nome do host em um cabeçalho HTTP (consulte link ), e não há nenhum similar mecanismo em SSH.

Suas opções são bastante limitadas:

  1. Configure seu servidor SSH regular para lidar com o tráfego do git (provavelmente a melhor opção).
  2. Adquira outro endereço IP.
  3. Execute o servidor SSH para git em uma porta alternativa.

Depois de ter o servidor SSH para git em uma porta alternativa, você pode usá-lo automaticamente adicionando o seguinte ao seu ~/.ssh/config :

Host git.mydomain.com
    HostName router.mydomain.com
    Port 2222
    
por 27.07.2012 / 05:44
0

Se é para ser a mesma máquina, apenas aponte git.example.com para ela e pronto.

    
por 27.07.2012 / 06:00