Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add ipv6 support #151

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Conversation

NoobTW
Copy link
Contributor

@NoobTW NoobTW commented Apr 16, 2023

Pull Request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build-related changes
  • Documentation content changes
  • Other (please describe):

What is the current behavior?

Lack of IPv6 Auto Assignment support.

Issue Number: #6 #89

What is the new behavior?

What's working (These are tested on another ZT client.):

  • Add checkbox to auto-assign ZeroTier RFC4193 IP
  • Add checkbox to auto-assign ZeroTier 6PLANE IP
  • Add hints about what RFC4193/6PLANE IPs would look like (the yellow part is the network addr; the blue part is the client addr.; IPv6 hints ref)
image

What's not working yet:

  • Auto-Assign from a specific Range. Would need to add two more textboxes, and the handleChange might affect IPv4's ipAssignmentPools. Haven't tried it, tho.
  • Hint about what 6PLANE IP would look like. I don't know where's the yellow part of 6PLANE ip.
  • Show assigned IP on the members page. (I haven't find the assigned IP in the config object yet. might need to take a deeper look at zero-ui backend)

image

Does this introduce a breaking change?

  • Yes
  • No

Other information

@NoobTW NoobTW requested a review from dec0dOS as a code owner April 16, 2023 07:08
@dec0dOS
Copy link
Owner

dec0dOS commented Apr 16, 2023

Thanks for your PR, @NoobTW!

Currently, IPv6 in ZeroTier is still a black box for me, so I could not accept the half-baked feature. If you couldn't finish the IPv6 feature by yourself, please don't delete your PR, as your research would be really helpful in the future.

@NoobTW
Copy link
Contributor Author

NoobTW commented Apr 16, 2023

I respect your call, as you're the primary maintainer of this repo.

However, the main function (6PLANE and RFC4193 assignment) is working. The non-working part is just about showing assigned/managed IPs. Personally, I think we can still call it a checkpoint/milestone or something.

But it's not a bad thing to wait and see if the community can help.

Again, it's fine with me if you decide to keep this PR open. (not trying to be rude)

@NoobTW
Copy link
Contributor Author

NoobTW commented Apr 18, 2023

This might be helpful to calculate the twp IP addresses.

https://gist.github.com/laduke/fa1e9a68a79d9038ab117ad0ab69927a

@dec0dOS dec0dOS marked this pull request as draft April 21, 2023 12:43
@mikkelke
Copy link

I really need this to use zero-ui. Can i be any help?

@NoobTW
Copy link
Contributor Author

NoobTW commented Oct 10, 2023

Made a few progress.

What's working now:

  • Auto assign IPv6s (Both RFC4193 and 6PLANE) with hints (see screenshots above).
    • I've double checked the IPs from clients, looks correct now.

What's not working yet:

  • Assign IPv6s from range. (However, as this comment pointed out, I also believe this can be a separate issue.)
  • Display assigned IPv6 addresses at the members area.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants