Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Aug 2001 17:06:08 +0200 (CEST)
From:      Wouter Van Hemel <wvhemel@vub.ac.be>
To:        <freebsd-questions@FreeBSD.ORG>
Subject:   ipv6 route configuration
Message-ID:  <Pine.LNX.4.33.0108291636090.197-100000@cocaine.cryolabs.net>

next in thread | raw e-mail | index | archive | help

'lo,

Surprisingly unable to find good, extensive documentation on ipv6 or
advanced ipv4 routing issues on the net, I turn to you with my problem, in
the hope you can help me, or point me to some extensive information (not
the 'hot to make a home network and share your connection'-stuff).

I have an experimental /48 ipv6 network class, arriving on my router
tunneled, and I'd like to route it to my internal network as follows:

       real_ip
         |    <- ed0 -- ed1 ->
internet |=-->    router       -->    server1
         |     192.168.196.1       192.168.196.2

                               -->    server2
                                   192.168.196.3


This is the simple, very basic ipv4 setup with natd.


Now, I want to do the same, using the globally routable 3ffe:b80:1c8::/48
class (but without natd, ofcourse):

router  = 3ffe:b80:1c8::1
server1 = 3ffe:b80:1c8::2
server2 = 3ffe:b80:1c8::3
(etc)

As you see, actually just like the 192.168.196.* network.

The problem now is, that each setup I tried, only the router can be traced
from the outside (3ffe:b80:1c8::1), and for instance server1
(3ffe:b80:1c8::2) either times out (traceroute = * * * etc), or starts
repeating the packets between 3ffe:b80:1c8::1 and the upward tunnel
address.

I have a script, but it routes the 3ffe:b80:1c8:1:: network through, and
hmmm... that's one character more to type :)

Basically, what happens in the script (of those nice folks at freenet) is
(after setting up the tunnel etc, that just works fine):

##### start #####
route add -inet6 3ffe:0b80:01c8:: -prefixlen 48 -interface lo0
  (--> why lo0 ?? shouldn't this subnet be send to ed1, the internal net?)
sysctl -w net.inet6.ip6.forwarding=1
sysctl -w net.inet6.ip6.accept_rtadv=0
ifconfig ed1 inet6 3ffe:b80:1c8:1::1 prefixlen 64

##### end #####

and it makes a rtadvd.conf-file with:
##### start #####
default:\
       :raflags#0:rltime#3600:\
       :pinfoflags#64:vltime#360000:pltime#360000:mtu#1500:
ether:\
       :mtu#1280:tc=default:
# interfaces.
ed1:\
       :addrs#1:\
       :addr="3ffe:0b80:01c8:0001::":prefixlen#64:tc=ether:
##### end #####

So, my questions (finally :) ):

1) why does the /48 class get bound to lo0?
2) how do I send the full /48 class to the internal net, using ::1 for the
router itself - like my ipv4 internal net?
3) does rtadvd have to run on all machines, or just the router?


Anybody with a better understanding of routing, please enlighten me, or
point me to good resources... thanks :)


/ wouter


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0108291636090.197-100000>