Pelo que parece, o firewall do seu campus não permite que nenhuma conexão seja iniciada de fora do campus para a sua máquina. Então, para se conectar à sua máquina, você terá que iniciar a conexão por dentro.
Então você terá que estabelecer alguma conexão entre sua máquina de dormitório D e alguma máquina externa E fora do campus. Então, quando você quiser se conectar à sua máquina do dormitório de algum cliente C, conecte-se a E e configure E para que ele retransmita a conexão.
Para a conexão D → E, você pode usar uma VPN. Isso requer acesso em nível de raiz em D e E. Uma VPN fornece conectividade IP entre D e E, portanto, a partir de C, você poderá acessar qualquer serviço de rede em D que E esteja disposto a rotear entre C e D.
Uma solução mais leve é estabelecer uma conexão SSH a partir de D e E, o que requer apenas uma conta shell em ambos os lados (e E deve permitir SSH, é claro). A partir de D, execute
ssh -R 2242:localhost:22 E sleep 999999999
Isso cria um encaminhamento de porta de E para D: qualquer conexão feita com E na porta 2242 é retransmitida para D na porta 22. A porta 22 é a porta ssh, portanto, quando você executa ssh -p 2242 E
, isso conecta você a D onde você pode efetuar login. Para automatizar isso, você pode definir um alias em ~/.ssh/config
como o seguinte (o PuTTY possui configurações semelhantes, consulte o manual):
Host dorm
UserName bob
HostName E
Port 2242
Você pode rotear várias portas dessa maneira. Por exemplo, para também retransmitir a porta 8042 em E para a porta 80 em D:
ssh -R 2242:localhost:22 -R 8042:localhost:80 E sleep 999999999
Você precisará executar novamente esse comando toda vez que sua conexão de rede iniciar em D.