Single Public IP to Multiple Private IP

Discussion in 'Server Operation' started by dodimar, Mar 10, 2010.

  1. dodimar

    dodimar New Member

    Hi, not sure if this was already asked or solved.. tried searching but can't find an answer.

    This is for educational purpose and probably will be used in real world later this year.

    I only have a single public IP. I will be creating a server with multiple vms (virtual machines). However, I need those vms to have all ports open, all at the same time.

    I now that simple port forwarding won't work here. But I am wondering if there will be other ways to resolve this.

    I am thinking about reverser proxy but can't find any instructions/tutorials on how to deal with the above situation.

    Thanks in advance.
     
  2. id10t

    id10t Member

    The Apache webserver can work as a reverse proxy for you...
     
  3. falko

    falko Super Moderator Howtoforge Staff

  4. dodimar

    dodimar New Member

    Thanks guys.. will be checking on that..
     
  5. dodimar

    dodimar New Member

    Don't know if I'm just too noob for this or what :D...

    I am trying to read falko's link,,, but I can't figure out how do I do this..

    server1.myserver.tld has a vms at 192.168.1.100
    server2.myserver.tld has a vms at 192.168.1.101
    server3.myserver.tld has a vms at 192.168.1.102

    eache server is owned by different person...

    server1.myserver.tld logged in to his shell via ssh (port 22) : he will be redirected to his vms at 192.168.1.100:22

    at the same time server2.myserver.tld logged into his shell via ssh (port 22) : he will be redirected to his vms at 192.168.1.101:22

    same with server3.myserver.tld

    how do I do that with the reverse proxy?

    Thanks..

    edit:

    btw, port 22 isn't the only port they will access, might need to forward all ports...
     
    Last edited: Mar 13, 2010
  6. falko

    falko Super Moderator Howtoforge Staff

    Oh, I was thinking you'd need this for port 80 only. I'm not sure if this can be achieved for all ports...
     
  7. dodimar

    dodimar New Member

    Any suggestions if there is another setup that could to what I need?
     
  8. tristanlee85

    tristanlee85 New Member

    Hmm. This is almost exactly like the scenario I am in. Unfortunately, Road Runner doesn't allow multiple IPs (unless I upgrade). This was never an issue in the past as I always ran everything from 1 server. Now, I am wanting to have a Windows and Linux server.

    How I am picturing it is like this:

    Linux (192.168.1.150)
    • runs ISPConfig 3
    • Apache server
    • MySQL server
    • FTP server
    • DNS server

    Windows (192.168.1.151)
    • Apache server
    • MSSQL server

    Assuming I run my own DNS (not sure how else this would be possible without it), all of my hostnames will have an A record pointing to my public IP. Through the router configuration, my DMZ host would be the Linux (.150) server. This is where I am stuck. I know in ISPConfig 2, I have a drop-down of local IPs to choose from. .150 is the only one in the list when editing a site in the ISP Manager. If I add 192.168.1.151 to the IP list under Management > Server > Settings and then select that as my hostname's IP address, then when trying to pull up the site I get the "shared IP" page.

    Using mod_proxy wouldn't be a solution (at least I don't think) because in the end, all Windows server requests would be handled through the proxy of the Linux Apache. And like mentioned above, I don't just want port 80 going there too. This sort of defeats the purpose of having "www.cfcoding.com" go to .150, but "blog.cfcoding.com" go to .151.

    Is something like this feasible? If not, other than 2 or more public IPs, would there be a hardware solution I could purchase to do this?
     
  9. tristanlee85

    tristanlee85 New Member

    Ok, better solution. Call up your ISP and see if they can offer you multiple IPs. Apparently what you read on the Internet isn't always true... Road Runner did offer me 2 more IPs for $5.99/mo. Now I have 3. I'd say that's a pretty good deal.
     
  10. dodimar

    dodimar New Member

    Seems like there are no solution (as far as I researched).

    tristanlee85, yup, maybe it's time to subscribe to more IPs. But for the meantime, I'll just used port ranges for each vm since we are still on "test mode".

    Thanks guys..
     
  11. ipv6user

    ipv6user New Member

    This is a problem with ipv4 addressing, it doesn't have enough address for all internet connected PC. You can use the microsoft teredo techonology, which assigns a unique ipv6 address to all internet connected PC. With this, each system will get a ipv6 address with which u can access the PC anywhere without the need for port forwarding. type ipconfig , you will see a ipv6 address starting with 2001:... this is your unique ipv6 address. You can also check out LANoi pro software which is built over this technology. Also you can use that for accessing the individual PC over the internet.
     
  12. BorderAmigos

    BorderAmigos New Member

    For SSH there is at least a workaround. You can have each server use a different port. So 22 is forwarded to ...100, 10022 to ...101, 11022 to ...102, etc.
     
  13. dodimar

    dodimar New Member

    Yup, that's the best solution I am looking at.

    ipv6user, re IPv6, I really don't have an idea how to implement that and wouldn't that pose any problem if the virtual machine users don't have IPv6?
     
  14. ipv6user

    ipv6user New Member

    You can either install mireado client or freenet 6 client( also gives free static ipv6 address).
    http://gogonet.gogo6.com/page/download-1
    After that each system can be accessed with this ipv6 address.
     
  15. ipv6user

    ipv6user New Member

    You can use miredo client or gogo6 client to get a ipv6 address. Gogo6 also gives static ipv6 address for free.
     

Share This Page