0

My router's uplink is network that uses has a /64 IPv6 space and uses stateless autoconfiguration. I want the same stateless autoconfiguration to be available on the second router's interface.

The router should:

  1. Proxy router advertisings from uplink to downlink network interface;
  2. Add routes to each detected IPv6 address on downlink side;
  3. Reply to neightbour solicitation requests on behalf of downstream nodes;

I've implemented a script to set up such router on Linux (just for one peer): https://gist.github.com/vi/9633572

Questions:

  1. How this scheme is called? A bit like a bridge, but on network layer... Actual bridge cannot be used due to drivers and/or hardware limitation (wireless drivers on Linux);
  2. How to set it up properly? Are there existing solid tools for this?
5
  • 2
    Didn't your ISP give you more than a single /64? Quote them chapter and verse from RFC 6177 and demand a /56 at least. Mar 19, 2014 at 2:10
  • I can increase it to /50 if I want. But for this case I want to extend the connection without changing anything in upstream routers.
    – Vi.
    Mar 19, 2014 at 11:01
  • 1
    In that case, you almost certainly should use your routers as routers and not do what you've proposed at all. Mar 19, 2014 at 14:01
  • If I naively increase mask from /64 to, for example, /60 in router advertisments, stations stop auto-configuring their IPv6 address...
    – Vi.
    Mar 19, 2014 at 14:52
  • 1
    No, I said route, not change the prefix length. Mar 19, 2014 at 15:22

2 Answers 2

0

If you just want to act as a bridge, I don't believe you want to run radvd. Just build a bridge configuration between the two interfaces. I believe your requirements don't fit with bridging. If the bridge is correctly configured, traffic will flow cleanly between the sides. If you want an IP address on the host doing the bridging, it appears that it needs to be configured on the bridge not one of the interfaces.

The providers I have worked, provide one connection on a dedicated /64 network and at least a /64 for the internal network. You may want to clarify what is being provided. If they do provide a an address range for the internal network, pick a /64 and configure radvd on the internal network accordingly. This configuration will not require a bridge.

IPv6 does not provide the protection afforded by private IP addresses ranges and Network Address Translation. Consider your firewall requirements.

EDIT: I broke the bridge on my OpenWRT (Linxu) router deliberately, but by default the LAN and WiFi were bridged. My current configuration has the wireless and LAN bridged, and I run my IPv6 router using a tunnel from a system on the LAN. Wireless clients pick up addresses and route appropriately.

From the comments it appears you have gotten a block of /64 networks for your own use. Configure radvd to announce one on the WiFi network. This is the way IPv6 is indended to be be configured. If you have configured your network to allow IPv6 forwarding, this should work.

I split my network and had different /64 blocks for WiFi and LAN. I documented my experience providing IPv6 DNS resolver data with radvd. There is an example radvd config in my article on implementing IPv6 6to4 on OpenWRT.

1
  • Just build a bridge configuration between the two interfaces -> Can be tricky in case of wireless. They often don't like sending from multiple MAC addresses.
    – Vi.
    Mar 19, 2014 at 10:58
0

Started my own project for this: https://github.com/vi/ipv6proxy - quick bridge-like extension of /64 networks without an actual bridge.

How this scheme is called?

For IPv4 it is called an "ARP proxy router".

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .