IPV6 Support in VestaCP
I’m finally ready with the IPV6 support, after some long weeks of coding is everything ready. This feature has many impacts on the code, I have to do a lot of tests and I hope that everything works great. But for some bugs I haven’t found a solution. In this post, I have made an overview of what I have done to achieve the IPV6 support in VestaCP.
One of the main things I miss at this moment in vestaCP is ipv6 support. That’s why I started here.
Add IPV6 address
We must first add an IPV6 address in vestaCP. One of the first problems was, how do we detect ipv4 and ipv6. We need to connect both IP’s to one domain. That’s why I added a parameter in the IP config.
New apis:
- v-add-sys-ipv6
- v-change-sys-ipv6-name
- v-change-sys-ipv6-owner
- v-change-sys-ipv6-status
- v-delete-sys-ipv6
Changed apis:
- v-update-sys-ip
- v-delete-sys-ip
- v-list-sys-ip
- v-list-sys-ips
- v-list-user-ips
Problems:
- v-add-sys-ipv6
- IPV6ADDR_SECONDARIES
- mod_extract_forwarded
- mod_rpaf
- v-delete-sys-ipv6
- Delete startup config
- v-delete-sys-ip
- Delete startup config
- Netmask
- ipv4: 255.255.255.255 (ip)
- ipv6: 64 (integer)
UI
Select box added for version.
VestaCP Config IPv4 or IPv6 or both?
VestaCP needs to know which IP versions can be used. (Adding domain …) That’s why I added a parameter in the vesta.conf. These parameters can be changed in the control panel.
Domain
There was already a field for ipv6 ‘IP6’.
Added apis
- v-change-dns-domain-ipv6
- v-change-web-domain-ipv6
changed apis
- v-add-dns-domain
- v-add-dns-on-web-alias
- v-add-domain
- v-add-web-domain
- v-add-web-domain-alias
- v-add-web-domain-proxy
- v-add-web-domain-ssl
- v-add-web-domain-stats
- v-change-dns-domain-tpl
- v-change-domain-owner
- v-change-web-domain-backend-tpl
- v-change-web-domain-proxy-tpl
- v-change-web-domain-stats
- v-change-web-domain-tpl
- v-delete-dns-on-web-alias
- v-delete-web-domain
- v-delete-web-domain-alias
- v-delete-web-domain-proxy
- v-list-dns-domain
- v-list-dns-domains
- v-list-web-domains
- v-rebuild-web-domains
UI
IP address is visible as IPV4 is enabled on server config (vesta.conf)
IPV6 address is visible as IPV6 is enabled on server config (vesta.conf)
Templates
The templates are moved to IP version directories. default is moved to ipv4/default and coppied to ipv4ipv6/default and ipv6/default
Firewall
added APIs
- v-add-firewall-ipv6-rule
- v-change-firewall-ipv6-rule
- v-delete-firewall-ipv6-rule
- v-list-firewall-ipv6
- v-list-firewall-ipv6-rule
- v-suspend-firewall-ipv6-rule
- v-unsuspend-firewall-ipv6-rule
Update from IPV4 to IPV4 and IPV6
- Update server config
- Add IP
- Edit web domain (add IPV6 address)
- Edit template to ipv?/{template}
- Edit DNS domain (add IPV6 address)
- Edit template to ipv?/{template}
So depending on which template using a domain will make the use of IPV4 and/or IPV6.
Update scripts
It’s important that the scripts run in the correct order to prevent errors.
- upd/update_packages.sh
- upd/add_ipv6.sh
-
upd/add_firewall_ipv6.sh
Install Script
In the install script, I have added some additional parameters.
- –ipv4 (-4) : default ‘Yes’
- –ipv6 (-6) : default ‘Yes’
TO DO
Firewall/ Firewall testing- Add/delete IP
- mod_extract_forwarded (IPv6?)
- mod_rpaf (IPv6?)
Debug / TestingInstall scriptLayout positioning of the ipv6 in the templatesTemplatesupgrade scripts
I think the biggest problem now is that you are going to have too many templates. For each template, you will now need 2 or 3.
Default (IPV4 only)IPV6 only (Not necessary?)Both (IPV4 and IPV6)
I create a script to copy/create the IPV6 only and IPV4andIPV6 template.
Nice stuff man thank you very much !!
Is your update will be pushed in official Vesta download ?
If yes what is released version and when ?
Thank you very much and have a great day !!
The pull request is made, and it’s only waiting on the devs to merge it. Normally this will be done in the upcoming release. This can be in the next days, weeks or months. It all depends on how many time they have and need to fix all the bugs and how easy it is to merge all the pull requests. I try to keep my code in sync with the master branch, so they can easily be merged into the official release.
Okay nice thank you very much !
I see your website is very useful to me. We hope that you can keep up the pretty work. Will u please take a look at my blog also?
Hi, thanks! Your websites look great. If you have some problems or you need help somewhere with hosting, designing or something else you can always contact me.
We absolutely love your blog and find the majority of your post’s to be exactly what I’m looking for.
can you offer guest writers to write content to suit your needs?
I wouldn’t mind writing a post or elaborating on many of the subjects you write concerning here.
Again, awesome site!
Hi, thanks! You can always contact mee.
I like the valuable information you provide in your articles.
I will bookmark your blog and check again here frequently.
I’m quite sure I’ll learn many new stuff right here! Best of luck
for the next!
I’m not sure where you’re getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent information I was looking for this information for my mission.
There’s noticeably a bundle to know about this. I assume you made certain good points in features also.
Very clear website , appreciate it for this post.
Thank you for another fantastic article. Where else could anybody get that type of info in such an ideal way of writing? I’ve a presentation next week, and I’m on the look for such information.
Perfect work you have done, this internet site is really cool with excellent info .
Hi
Wonderful article. Do you have any idea that when this update will be rolled out?
I Hope soon. The devs are rewriting the code. But I guess It can take some months.
Great article.
“Thanks a lot for the blog article.Really thank you! Awesome.”
how to add this to my existing install
By the refactoring in the code of vesta CP in the latest release it’s not possible to use this. It’s waiting on the implementation of vestacp.
Great site. Any news when will be implemented if Vestacp? I read implementation manual is not possible with the latest update is this true?
Hi Roger,
A few weeks ago I created a new Pull request on Github to implement the IPV6. So I hope in the next release.
It is possible to do it manually but it isn’t easy.
I already install latest vesta cp. but i can’t find ipv6 on my panel. how to add this to my existing install
IPv6 is currently not supported. I hope in coming release.
wow! Great really need ip6 Supported official Version. please try to realise ASAP, Its very Helpful for us.
Dont be blindsided,
IPv6 on VestaCP in the major branch wont happen soon, maybe at the end of 2020!
Why do you think that? Can you explain your comment a bit more?
because they are focused on other stuff that brings them a lot of money
like those Softaculous Framework and other stuff, IPv6 has been in prospective as a promised
for years now, but it seems that nobody needed it really may they have enought v4 Adressspace left, kinda Sucx!
It’s easy, first comments about ipv6 are from 2013. Now we live in 2017. Add 4 years for them to implement it and it will be 2021.
The code is already there, a few more testing and merging the pull request. So I don’t see why waiting 4 more years. Currently, IPV6 isn’t widely used, it is just a nice to have. https://stats.labs.apnic.net/ipv6/
I think we have a different opinion about this. I don’t think a control panel without IPv6 can be taken seriously. And it is for sure something I would never install.
And 4 years to implement such a basic functionality is really bad… And I say 4 years, it’s still not there so it can take much longer than 4 years.
Of course, you can install whatever control panel you want. But saying that a control panel without ipv6 can’t be taken seriously, goes a bit too far. It is, of course, your opinion, but you can say something like that about each control panel. Ever CP has its own features and is missing something.
Is ipv6 is necessary.
Also thanks for this vestacp ipv6 tutorial
IPv6 is not necessary but it is a nice feature. At some time we need to switch, so why waiting? You are visiting this site over ipv6 😉
Excellent Post, thanks for sharing.I visit this website every day.
Hi ! Trying to configure IPV6 on VESTACP saw your script, I need help. Help to add the IPV6 module in the latest version of VESTACP on DEBIAN 9
I have my own fork of vesta, you can take a look at that. But I do not support debian 9. It can work on debion 9 but it is not tested. https://github.com/madeITBelgium/vesta
Very well written article. It will be helpful to anyone who uses it.
Wow, i found this article while searching for a way to implement ip v6 into vesta. its kind of redicoulous that its still not supported, and nothing is mentioned when it will be released… i might have to switch to plesk or something after all, which is a shame, as i rly like vesta. but it has been to long…
However, thanks for your article and work.
Hi there, I desire to subscribe for this web site to take most recent updates, so
where can i do it please assist.