On 10/30/2012 06:45 PM, R P Herrold wrote:
I think the rules you want are these (we use the symbolic names for
the packet sub-type as it makes things clearer)
# /etc/sysconfig/ip6tables
# ... -A INPUT -p ipv6-icmp --icmpv6-type router-advertisement
-s $IP6SERVER -j ACCEPT
-A INPUT -p ipv6-icmp --icmpv6-type router-advertisement
-j DROP
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
# ...
I do not know that you need to filter or attempt to direct
'router-solicitation' as your comments mentioned. We have not had a
'real world' need to do so. We run a variation of these rules at pmman
from: man 8 ip6tables
icmp6
This extension can be used if ‘--protocol ipv6-icmp’ or
‘--protocol icmpv6’ is specified. It provides the following
option:
[!] --icmpv6-type type[/code]|typename
This allows specification of the ICMPv6 type, which
can be a numeric ICMPv6 type, type and code, or one
of the ICMPv6 type names shown by the command
ip6tables -p ipv6-icmp -h
It is not icmp6 but dhcpv6 packets.
As I explained earlier in the thread, there is a little 4 packet dance
which implements dhcpv6 addresses. Routing is handled by RA. The
difference is that you much have the AdvManagedFlag on for dhcpv6 and
off otherwise. There does not seem to be a problem with the RA packets
getting through.
But, for dhcpv6, you need port 547 packets (and specifically with a
destination address of ff02::01:2) to get through to the dnsmasq process
running on the virtualization host. To happen, this needs an additional
ip6tables rule. While just specifying "--dport 547" seems to work, the
"correct" appraach should also specify "--destination ff02::1:2" for
"--in-interface <our interface>".
This is what I have currently implemented and it seems to work well.
Gene
Gene