How to configure a tunnel
Masaki Hirabaru
masaki@merit.edu
Thu, 25 Jul 1996 19:14:17 -0400
6bone folks,
Bernard Tuy writes,
> | automatic tunneling. I next tried to check freebsd INRIA version,
> | which supports automatic tunneling, but I'm not sure if it
> | supports configured tunneling.
>
> ====BT: Yes it does! since we -G6/France- and some others right now are
> running it for that purpose.
After exchanging a couple of messages with Francis Dupont, we
finally found that one file (netinet/in.c) had been missing in
the released package of INRIA ipv6 for freebsd. It was very tiny
modification, but confused me. I attached a diff based on
Francis's information.
So, Merit has become completely ready for making a tunnel to
6bone now. I'm waiting.
For making a private (non-routable) ipv6 testing prefix for the
private part of Merit ipv6 testbed network, we may use one of
private AS numbers.
FYI: Here is our /etc/rc.ipv6 on a INRIA ipv6 freebsd machine.
Plese note if you have more than two interfaces, you have to add
"options MULTI_HOMED" and "pseudo-device llink" in your kernel
configuration in this release. And also, in order to use lnc and
ep devices under ipv6, you have to modify these driver source
codes.
#! /bin/sh
autoconf6 -v
ifconfig lnc0 inet6 5f00:ed00:c66c:3c00::153 prefixlen 80 alias
ifconfig lnc0 inet6 first 5f00:ed00:c66c:3c00::153 prefixlen 80
ifconfig ep0 inet6 5f00:ed00:c0a8:0c00::153/80 prefixlen 80 alias
ifconfig ep0 inet6 first 5f00:ed00:c0a8:0c00::153/80 prefixlen 80
sysctl -w net.inet6.ipv6.forwarding=1
ndpd-router
route -n add -inet6 -net 5f00:ed00:c0a8:0a00::/80 ::192.168.10.103
The last line is making a configured tunnel to 192.168.10.103
which is on 5f00:ed00:c0a8:0a00::/80.
Masaki Hirabaru
Merit
*** in.c.orig Sat Jul 22 23:38:11 1995
--- in.c Wed Jul 24 15:10:35 1996
***************
*** 209,220 ****
--- 209,222 ----
ifra->ifra_addr.sin_addr.s_addr)
break;
}
+ #ifndef INET6
if ((ifp->if_flags & IFF_POINTOPOINT)
&& (cmd == SIOCAIFADDR)
&&
(ifra->ifra_dstaddr.sin_addr.s_addr
== INADDR_ANY)) {
return EDESTADDRREQ;
}
+ #endif
}
if (cmd == SIOCDIFADDR && ia == 0)
return (EADDRNOTAVAIL);