Il 7 febbraio 2017 11:17, Christian Surchi ha scritto: > Il giorno mar, 07/02/2017 alle 08.58 +0100, Leonardo Boselli ha scritto: >> se esiste il parametro -p per collegarsi A una porta sulla macchina >> remota, come è possibile usare ssh in modo da specificare la porta locale >> dalla quale parte la connessione ? > > Non si può. Perché farlo, poi?
Che non si possa fare non è completamente vero. Perché farlo è un'ottima domanda. Spiego meglio: Che io sappia, e come ha evidenziato Christian, il client ssh non permette di scegliere la porta sorgente; è tuttavia possibile fare una regola di masquerading che modifichi la porta sorgente del pacchetto prima che questo esca dall'interfaccia. Parliamo quindi di tabella nat e chain POSTROUTING. Un esempio potrebbe essere questo: ~$ iptables -t nat -A POSTROUTING -p tcp --dport 22 -o eth0 -j MASQUERADE --to-ports 11221 A tutti i pacchetti TCP destinati alla porta 22 (qualunque server di destinazione) e in uscita sull'interfaccia eth0, la porta sorgente viene modificata in 11221 quindi il server al quale ci si connette "vede" la connessione provenire da quella porta. È la prima soluzione che mi viene in mente, ce ne saranno sicuramente altre. Veniamo ora al perché farlo. Il 7 febbraio 2017 11:11, Leonardo Boselli ha scritto: > quello che voglio è di scegliere la porta locale, questo perché il firewall > stateful che mi trovo in mezzo mantiene gli stati per non più di 3 minuti, e > se hai un servizio in cui la risposta potrebbe arrivare anche dopo ore hai > perso la connessione. Potrei aver capito male, ma se ho capito bene, è sufficiente abilitare i keep-alive su ssh in modo da tenere viva la connessione. A questo proposito guarda l'opzione ServerAliveInterval di ssh. Ciao Mattia