If someone has published a solution, please hand me a clue-by-4

I'm running 5.7.
If anyone would like a dmesg, etc, I'd be glad to provide.
I don't **think** that's relevant here.

I'm using sixxx.net as an IPv6 tunnel gateway.
They gave me 2001:xxxx:xxxx:0111::0002 as my tunnel endpoint and
2001:xxxx:xxxx:0111::1 as their end and router address.
They gave me 2001:xxxx:xxxx:8111::/64 for my address space.
Note that the tunnel endpoint addresses are globally routeable.

So... if I say "route add -inet6 default ...0111::1",
then the source address of any IPv6 connection from this machine
defaults to 0111::2

This isn't useful. I must use an address in 8xxx::/64
for functions on the gateway machine. Adding another
machine is not possible due to power and money constraints.
A $50 machine with two interfaces drawing 10W would solve
this but they're hard to find. Maybe when the port to
arm is stabler... even so....

The desired behavior is to partition the network space
inside the machine into the gateway section and the
rest of the machine >> as if they were connected by
a pair of interfaces and a cable << where the interfaces
had addresses in 2001...8111 so that locally generated
packets would go out with that source address.

I'm currently using two rdomains, two routing tables,
and a messy pf.conf using things like (approximately)

ifconfig gif0 <ip4>
[ipv6 endpoints] rdomain 1

route -inet6 default ::1
route -T 1 -inet6 default 2001...:0111::1

ifconfig lo1 -inet6 ::2/64 rdomain 1

pass inet6 from any to !<internal-ipv6-space> \
          route-to lo0 rtable 1

pass on gif0 inet6 from !<internal-ipv6> \
         to <internal-ipv6> route to lo1 rtable 0

Occasionally this gets into gif loops and I'm not sure that
packets aren't being silently dropped.

Is there a simpler method?

The far end of the tunnel to sixxx has no hardware
address, so I haven't figured out how to do obscene
things to use that as a gateway address.

Suggestions, upgrade to 5.8 or current or RTFM appreciated.

Geoff Steckel

Reply via email to