How to configure OpenWRT to route IPv6 traffics?

4

I recently bought a router and flashed OpenWRT, with kmod-ipv6 and radvd installed. I was trying to set up IPv6 connections, but I can only ping ipv6.google.com from the router, not the computers behind the routers.

My router is not "officially" supported, i.e. no patches in trunk, so I'm using a pre-compiled firmware from someone else (@r31540). But the radvd configure script is not working properly as it uses /lib/functions/network.sh which does not exist in my case, so I can't generate radvd.conf from /etc/config/radvd.

The /64 subnet is 2001:da8:205:406a::/64 on eth0.

The computers behind the router have IPv6 addresses, but can't access the network.

Current configuration files:

radvd.conf

interface br-lan {
    AdvSendAdvert on;
    prefix 2001:da8:205:406a::/64 {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    };
};

/etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config interface 'lan'
    option ifname 'eth1'
    option type 'bridge'
    option proto 'static'
    option dns '199.91.73.222 178.79.131.110'
    option ipaddr '10.224.0.1'
    option netmask '255.224.0.0'
    option ip6addr '2001:da8:205:406a::ff19:ff19/64'

config interface 'wan'
    option ifname 'eth0'
    option _orig_ifname 'eth0'
    option _orig_bridge 'false'
    option proto 'dhcp'
    option macaddr '40:6c:8f:3e:62:87'
    option accept_ra '1'
    option send_rs '0'

config switch
    option name 'eth1'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'eth1'
    option vlan '1'
    option ports '0 1 2 3 4'
    option vid '1'

config switch_vlan
    option device 'eth1'
    option vlan '2'
    option vid '29'

config route6

config route6 is not set, but I don't know how to set it. Also, is the configuration of interface 'lan' correct?

Mr.X

Posted 2012-10-07T10:47:42.833

Reputation: 98

Answers

1

I just pulled this off my OpenWrt router. It should get you going.

You need to be using an Attitude Adjustment build; this won't work on previous versions.

config route6
        option interface 'wan'
        option target '::/0'
        option gateway 'fe80::56e6:fcff:fef4:66f1'
        option metric '1'

Change the gateway to the IPv6 address of the actual gateway machine (you may use its link-local address or its global address). It must be directly connected to your router via its WAN port, of course. If the upstream gateway is sending router advertisements, you shouldn't need to do anything further.


Your LAN interface looks fine. Though, for completeness, here's my radvd setup:

root@OpenWrt:/etc/config# cat radvd

config interface
        option interface 'lan'
        option AdvSendAdvert '1'
        list client ''
        option ignore '0'
        option IgnoreIfMissing '1'
        option AdvSourceLLAddress '1'
        option AdvDefaultPreference 'medium'

config prefix
        option interface 'lan'
        option AdvOnLink '1'
        option AdvAutonomous '1'
        option ignore '0'
        list prefix '2001:db8:16:bf::/64'

config route
        option interface 'lan'
        list prefix ''
        option ignore '1'

config rdnss
        option interface 'lan'
        list addr '2001:4860:4860::8888'
        list addr '2001:4860:4860::8844'
        option ignore '0'

config dnssl
        option interface 'lan'
        list suffix ''
        option ignore '1'

Michael Hampton

Posted 2012-10-07T10:47:42.833

Reputation: 11 744