Feature #4159
[PATCH] Security Groups do not support IPv6
Status: | Closed | Start date: | 11/13/2015 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | - | % Done: | 0% | |
Category: | Drivers - Network | |||
Target version: | Release 5.4 | |||
Resolution: | fixed | Pull request: |
Description
Security groups lack IPv6 support. Mostly this is a matter of duplicating the calls "iptables" with "ip6tables" except for the ICMP protocol which does not exist in IPv6 (ICMPv6 is a separate protocol).
Attached is a patch that implements IPv6 support for Security Groups, but does not expose this via Sunstone.
It has undergone basic testing and seems to function with IPv6 addresses -- I have not verified that there were no regressions for IPv4 however (I don't expect there to be) -- I am not sure if OpenNebula has those tests in its regression testing suite.
Associated revisions
F #4159: Make use of IPAddr class for uniform IP Management. Some
formatting. Homogenous intialization of ip-spoofing rules for ipv6 and
ipv4 (use always an ipset)
F #4159: Do not create uneeded ipset's in network sg rules
F #4159 Ported securitygroup6 patch
(cherry picked from commit 43605bedbf55d5c3b121aa3c5ff14b2a5bed49e1)
F #4159: Make use of IPAddr class for uniform IP Management. Some formatting. Homogenous intialization of ip-spoofing rules for ipv6 and ipv4 (use always an ipset)
F #4159: Do not create uneeded ipset's in network sg rules
F #4159: allow ipv6 135, 136 udp ports
Patch by Roy Keene <rkeene@knightpoint.com> from:
History
#1 Updated by Roy Keene over 5 years ago
- File opennebula-4.12.1-securitygroup6.diff added
There was an issue with "FILTER_IP_SPOOFING" and IPv6, updated patch to deal with it
#2 Updated by Roy Keene over 5 years ago
- File opennebula-4.12.1-securitygroup6.diff added
Added support for multiple IPv6 addresses per interface (GLOBAL, ULA, LINK) with anti-spoofing.
#3 Updated by Ruben S. Montero over 5 years ago
- Target version set to Release 5.0
Great Roy THANKS!!!!!! Planing this...
#4 Updated by Roy Keene over 5 years ago
- File opennebula-4.12.1-securitygroup6.diff added
- Enables IPv6 Neighbor Discovery Protocol (ARP equivalent) implicitly on all interfaces (even if they have no IPv6 address)
- Renames protocol in OpenNebula from ICMP6 to ICMPV6 to be more consistent with type (ICMPV6_TYPE) and also call ip6tables with -p icmpv6 intead of -p icmp6 (erroneous)
- Include antispoofing fix from #4257
It has not yet been tested, but these changes are a result of testing the previous patch. I'll make a note of the success after testing, or supply an updated patch.
#5 Updated by Ruben S. Montero over 5 years ago
- Tracker changed from Bug to Feature
#6 Updated by Ruben S. Montero over 5 years ago
- Category changed from Core & System to Drivers - Network
#7 Updated by Jaime Melis about 5 years ago
- Target version changed from Release 5.0 to Release 5.2
Hi... we are sorry, but we haven't been able to include this in 5.0. As we already told you we were very interested in this feature, but we would need to merge this, integrate it with our testing environment and expose these atributes in Sunstone. Give that we are running late on 5.0 we would rather postpone it one release.
Really sorry :(
#8 Updated by Jaime Melis about 5 years ago
- Tracker changed from Feature to Backlog
Hi... we are sorry, but we haven't been able to include this in 5.0. As we already told you we were very interested in this feature, but we would need to merge this, integrate it with our testing environment and expose these atributes in Sunstone. Give that we are running late on 5.0 we would rather postpone it one release.
Really sorry :(
#9 Updated by Ruben S. Montero almost 5 years ago
- Tracker changed from Backlog to Feature
- Priority changed from Normal to High
- Target version changed from Release 5.2 to Release 5.4
#10 Updated by Roy Keene over 4 years ago
Added pull request for this: https://github.com/OpenNebula/one/pull/147
#11 Updated by Ruben S. Montero over 4 years ago
Now merged in master. Needs:
- Documentation
- Update Sunstone with ICMPv6 types
- Integration tests
#12 Updated by Roy Keene over 4 years ago
- File opennebula-5.2.1-securitygroup6.diff added
There was an issue with the default network discovery rules for IPv6, each side needs to be able to send and receive ICMPv6 types 135 and 136 (neighbor solicitation request/reply) for the IPv6 equivalent of ARP (NDP) to work. This requires the following two extra rules from my first patch:
commands.add :ip6tables, "-A #{chain_in} -p icmpv6 --icmpv6-type 136 -j ACCEPT" commands.add :ip6tables, "-A #{chain_out} -p icmpv6 --icmpv6-type 135 -j ACCEPT"
Attached is the updated patch for more context
#13 Updated by Ruben S. Montero about 4 years ago
- Status changed from Pending to Closed
- Resolution set to fixed