[{"data":1,"prerenderedAt":70},["ShallowReactive",2],{"blog-post-five-ips-one-vm-a-lot-of-room-to-move":3},{"id":4,"meta":5,"title":21,"author":22,"body":26,"introduction":64,"date":65,"tags":66,"category":68,"blog_image":69,"intro":64,"featured":10},1340,{"type":6,"detail_url":7,"html_url":8,"slug":9,"show_in_menus":10,"seo_title":11,"search_description":11,"first_published_at":12,"alias_of":13,"parent":14},"blog.BlogPage","https:\u002F\u002Fwww.staging.doprax.rocks\u002Fd\u002Fapi\u002Fv2\u002Fpages\u002F1340\u002F","https:\u002F\u002Fwww.staging.doprax.rocks\u002Fd\u002Fdoprax-blogs\u002Ffive-ips-one-vm-a-lot-of-room-to-move\u002F","five-ips-one-vm-a-lot-of-room-to-move",false,"","2026-09-17T11:55:13.292120Z",null,{"id":15,"meta":16,"title":20},109,{"type":17,"detail_url":18,"html_url":19},"blog.BlogIndexPage","https:\u002F\u002Fwww.staging.doprax.rocks\u002Fd\u002Fapi\u002Fv2\u002Fpages\u002F109\u002F","https:\u002F\u002Fwww.staging.doprax.rocks\u002Fd\u002Fdoprax-blogs\u002F","Doprax Blogs","Five IPs, One VM, A Lot of Room to Move",{"id":23,"username":24,"full_name":25},5,"Swetlana","Swetlana A",[27,34,40,46,52,58],{"type":28,"value":29,"id":33},"section",{"title":30,"content":31,"subsections":32},"Run separate services on the same box","\u003Cp data-block-key=\"x9civ\">Every public-facing service wants its own address. A web app on one IP, a mail relay on another, a staging copy on a third. On a single-IP machine you're stacking everything behind one address and juggling ports, reverse proxies, and hostname routing to keep them apart. Give each service its own IP and the routing gets simpler, because the address does the separating for you.\u003C\u002Fp>\u003Cp data-block-key=\"bpl90\">\u003C\u002Fp>\u003Cimg alt=\"Doprax add IP addresses\" class=\"richtext-image full-width\" height=\"279\" src=\"\u002Fd\u002Fmedia\u002Fimages\u002FDoprax_add_IP_addresses.width-800.png\" width=\"800\">\u003Cp data-block-key=\"afqd9\">\u003C\u002Fp>\u003Cp data-block-key=\"r999\">This matters most when two services both want port 443. You can't bind two things to the same port on the same IP without a proxy in front. Two IPs, two clean bindings, no proxy layer to maintain.\u003C\u002Fp>",[],"4ec4031e-56fc-41d8-b701-d740ff27a953",{"type":28,"value":35,"id":39},{"title":36,"content":37,"subsections":38},"Give each client a clean address","\u003Cp data-block-key=\"mh5vf\">If you host things for other people, shared IPs get awkward fast. One client's traffic spike, one client's reputation problem, and everyone on that address feels it. Separate IPs mean separate reputations. A client's mail deliverability, TLS certs, and rate limits stay theirs.\u003C\u002Fp>\u003Cp data-block-key=\"92f9m\">It also makes billing and access clean. You can point a client's DNS at their address and never touch the others.\u003C\u002Fp>",[],"910ca239-bee0-40c7-bb06-2b27b979bede",{"type":28,"value":41,"id":45},{"title":42,"content":43,"subsections":44},"Isolate reputation for outbound work","\u003Cp data-block-key=\"mh5vf\">IP reputation is sticky. Once an address gets flagged, cleaning it up is slow. Running your outbound-sensitive work (API calls to strict providers, webhooks, scrapers that respect rate limits) on a dedicated address keeps your main service address clean if something goes wrong. One bad afternoon on IP four doesn't touch IP one.\u003C\u002Fp>",[],"8ee2deee-baee-4e32-9cd3-83d005e3ac64",{"type":28,"value":47,"id":51},{"title":48,"content":49,"subsections":50},"Blue-green on a single VM","\u003Cp data-block-key=\"mh5vf\">You don't need two machines to run two versions of something. Deploy the new version, bind it to a second IP, point a fraction of your DNS or a health check at it, and watch. If it holds, flip the rest over. If it doesn't, the old version never moved. This is the cheap way to test a release against real traffic without provisioning a whole parallel environment.\u003C\u002Fp>",[],"1528e59b-d5cb-40b7-abbc-2f8dc4522fd4",{"type":28,"value":53,"id":57},{"title":54,"content":55,"subsections":56},"The one thing to check first","\u003Cp data-block-key=\"mh5vf\">Which ports are reachable depends on where your VM lives. On some regions every inbound port is open. On others, only a specific range reaches the network edge, so an extra IP doesn't help a service listening on a port that traffic can't get to. Before you assign an address to a new service, confirm the port that service needs is actually reachable in your region. It's a two-minute check that saves an hour of \"why won't this connect.\"\u003C\u002Fp>\u003Cp data-block-key=\"486ce\">Outbound port 25 stays blocked by default across the board to keep spam off the network. If you're running legitimate mail, there's a request process to open it.\u003C\u002Fp>",[],"bc8e37d8-a5c8-4e63-9fe6-0ab8f6dad6e3",{"type":28,"value":59,"id":63},{"title":60,"content":61,"subsections":62},"What this actually buys you","\u003Cp data-block-key=\"mh5vf\">More IPs on one VM means you consolidate instead of multiply. Work that used to justify a second machine (a staging environment, an isolated client, a clean outbound address) now fits on the machine you already run. Fewer VMs to patch, fewer bills to reconcile, same separation where separation matters.\u003C\u002Fp>\u003Cp data-block-key=\"9ihq9\">Add IPs to a VM from your dashboard: \u003Ca href=\"https:\u002F\u002Fwww.doprax.com\u002Fv\u002Fme\u002F\">https:\u002F\u002Fwww.doprax.com\u002Fv\u002Fme\u002F\u003C\u002Fa>\u003C\u002Fp>",[],"8bf3201a-2fc1-42f8-a49e-959f423f8b18","\u003Cp data-block-key=\"i40mm\">One IP address is a bottleneck you stop noticing until it stops you. You want to run a second service, isolate a client, or test a change against production traffic, and suddenly one address is doing the work of five. So now it can be five. ProVM supports up to five additional IPs per VM, and that changes what a single machine can hold.\u003C\u002Fp>\u003Cp data-block-key=\"2cf3s\">Here's what you can actually do with them.\u003C\u002Fp>","2026-09-17",[67],"IP","new features","\u002Fd\u002Fmedia\u002Foriginal_images\u002F5_IPs_1_VM_doprax.png",1792480236939]