2001年10月6日
Darwin 1.4.1には、一応KameなIPv6スタックが入っているので、それを組み込んでみる。
まずはMac OS X 10.1でカーネルのbuildができるようにしておく。
$SHELLに応じてSETUP/setup.shかSETUP/setup.cshを実行したら、bsd/conf/MASTER.ppcの中の
# RELEASE = [ppc mach medium vol pst gdb simple_clock kernstack nfsclient nfsserver quota fifo fdesc union ffs cd9660 compat_43 revfs noprofiling hfs volfs devfs synthfs netat mrouting ipdivert ipfirewall]
という行を
# RELEASE = [ppc mach medium vol pst gdb simple_clock kernstack nfsclient nfsserver quota fifo fdesc union ffs cd9660 compat_43 revfs noprofiling hfs volfs devfs synthfs netat mrouting ipdivert ipfirewall inet6 ipsec gif faith]
に修正したら、make exporthdrs & makeでカーネルができる。新しいカーネルBUILD/obj/RELEASE_PPC/mach_kernelを/に持っていって、リブート。
$ sysctl -a
………
………
net.inet6.ip6.forwarding: 0
net.inet6.ip6.redirect: 1
net.inet6.ip6.hlim: 64
net.inet6.ip6.maxfragpackets: 200
net.inet6.ip6.accept_rtadv: 1
net.inet6.ip6.keepfaith: 0
net.inet6.ip6.log_interval: 5
net.inet6.ip6.hdrnestlimit: 50
net.inet6.ip6.dad_count: 1
net.inet6.ip6.auto_flowlabel: 1
net.inet6.ip6.defmcasthlim: 1
net.inet6.ip6.gifhlim: 30
net.inet6.ip6.kame_version: STABLE 20000425
net.inet6.ip6.use_deprecated: 1
net.inet6.ip6.rr_prune: 5
net.inet6.ip6.mapped_addr: 1
net.inet6.ipsec6.def_policy: 1
net.inet6.ipsec6.esp_trans_deflev: 1
net.inet6.ipsec6.esp_net_deflev: 1
net.inet6.ipsec6.ah_trans_deflev: 1
net.inet6.ipsec6.ah_net_deflev: 1
net.inet6.ipsec6.inbound_call_ike: 0
net.inet6.ipsec6.ecn: 0
net.inet6.ipsec6.debug: 0
net.inet6.icmp6.rediraccept: 1
net.inet6.icmp6.redirtimeout: 600
net.inet6.icmp6.errratelimit: 1000
net.inet6.icmp6.nd6_prune: 1
net.inet6.icmp6.nd6_delay: 5
net.inet6.icmp6.nd6_umaxtries: 3
net.inet6.icmp6.nd6_mmaxtries: 3
net.inet6.icmp6.nd6_useloopback: 1
net.inet6.icmp6.nodeinfo: 1
debug.bpf_bufsize: 4096
$
こんな感じで、なんとなくIPv6が入ったような感じ。
kameのバージョンが古い。。。
router advertisementする人がネットワーク内にいる場合は、立ち上がったらnet.inet6.ip6.accept_rtadvを1に設定してしばらく待てばv6アドレスが付くはず。morth.nu/darwin/に置いてあるツールのうち、ifconfigは使えるみたいなので一応それでv6アドレスが付いてるのが確認できる。
|