Parece que você quer fazer o encaminhamento de porta.
Aqui está uma boa referência site
Editar
Por que, para tornar minha resposta mais relevante
Esta não é uma solução fácil, mas o mais próximo que você conseguirá é usar o encaminhamento de porta e atribuir portas específicas a pessoas específicas e rotear essas portas para máquinas específicas. Se você quisesse gastar o tempo criando sua própria aplicação, você poderia contornar este problema, mas isso levaria muito tempo.
Então, na sua caixa linux controlando o roteamento, adicione isto ao seu IPTABLES:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 22 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -i eth1 -j ACCEPT
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
Observação: você não precisa identificar o --source 11.22.33.44
, mas é muito melhor se você fizer isso por motivos de segurança. Se as pessoas estão se conectando a partir de um endereço dinâmico, é melhor que você não o faça.
Então, o que o código IPTABLES que mostrei é, ele recebe solicitações de entrada para a porta 22 e as encaminha para 192.168.1.50:22. Então, se eu ssh [email protected]:22
, então eu seria encaminhado de server.com:22
para o servidor interno 192.168.1.50.22
.
Você teria que usar várias entradas para vários servidores. Então, por exemplo, para as portas 22-25:
# Port 22
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 22 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -i eth1 -j ACCEPT
# Port 23
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 23 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 23 -i eth1 -j ACCEPT
# Port 24
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 24 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 24 -i eth1 -j ACCEPT
# Port 25
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 25 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 25 -i eth1 -j ACCEPT
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
Dito isso, eu também esqueci que você provavelmente poderia fazer algo com perfis bash também. O que isso significa é que, se um usuário específico se conectar via SSH, ele será redirecionado pelo perfil, em vez da porta de conexão. Isso eliminaria a necessidade de fazer uma longa lista de regras IPTABLE e encaminhamento de porta.
Para editar o perfil bash de um usuário
vi /home/user/.bash_profile
Adicione esta linha ao final do arquivo
ssh 192.168.1.50
Assim, qualquer porta que você estiver usando para SSH, todos os usuários poderão usar a mesma porta e serão redirecionados automaticamente de server.com
para o servidor interno 192.168.1.50
e não haverá necessidade de configurações IPTABLE ou de novos aplicativos , desde que o usuário exista no servidor de roteamento e no (s) servidor (es) interno (s).
Hmmm ... eu acho que estava enganado. Houve uma resposta fácil. Veio para mim depois de ler a resposta do mindthemonkey.