Naturalmente, la roba nella sottorete privata si trova nella sottorete privata perché non dovrebbe essere accessibile da Internet. :)
... Ma sono sicuro che hai ragioni, quindi ecco qui:
In primo luogo, no, non è possibile farlo in un semplice allegare → uso → modo rimuovere, perché ogni sottorete ha esattamente un percorso predefinito e che punta all'oggetto igw
(subnet pubblica) o all'istanza NAT (subnet privata). Se si associa un IP elastico a una macchina nella sottorete privata, il traffico in entrata arriverebbe all'istanza, ma il traffico di risposta in uscita verrà reindirizzato attraverso l'istanza NAT, che potrebbe essere scartata o modificata, poiché non è possibile percorso asimmetricamente attraverso NAT, e questo è quello che succederebbe qui.
Se i servizi sono servizi TCP (HTTP, desktop remoto, bla bla) allora qui è un pezzo di aggiustamenti a breve termine che avrebbe funzionato molto bene ed evitare i fastidi di iptables ed esporre solo il servizio specifico è necessario:
Avvia una nuova istanza micro con ubuntu 12.04 LTS nella sottorete pubblica, con un EIP e un gruppo di sicurezza appropriato per consentire il traffico Internet in entrata alle porte desiderate. Consenti accesso ssh alla nuova istanza. Consentire l'accesso da quella macchina alla macchina interna. Poi:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install redir
Supponendo che si desidera inviare in arrivo il traffico sulla porta 80 alla porta 80 su un'istanza privata:
$ sudo redir --lport=80 --cport=80 --caddr=[private instance ip] --syslog &
Done. Avrai un log di ogni connessione e disconnetterai con numeri di porta e byte trasferiti nei tuoi syslogs.Lo svantaggio è che se il tuo host privato sta guardando l'IP della macchina connessa vedrà sempre l'IP interno dell'istanza della rete privata.
È sufficiente eseguirlo con sudo se si sta vincolando a una porta inferiore a 1024 poiché solo la radice può eseguire il binding ai numeri di porta inferiori. Per fermarlo, trova il pid e uccidilo, oppure sudo killall redir
.
L'utility spettrale redir
fa la sua magia nello spazio utente, rendendola più semplice (imho) di iptables. Imposta una presa di ascolto sulla porta designata --lport
. Per ogni connessione in entrata, si arresta, stabilisce una connessione in uscita a --caddr
su --cport
e lega insieme i due flussi di dati. Non ha consapevolezza di cosa sta succedendo all'interno del flusso, quindi dovrebbe funzionare per qualsiasi cosa TCP. Questo significa anche che dovresti essere in grado di passare un bel po 'di traffico attraverso, nonostante l'uso di un Micro.
Quando hai finito, elimina la microistanza e la rete torna alla normalità.