
IPV6について (Win7の質問も含む)
FreeBSD 8.2なんですが、
LAN内にIPV6を導入しようと思っているのですが、なかなかうまくいきません。
リンクローカルアドレスですと、サーバー双方のping6が通るのですが、
サーバーからWindows 7 への ping6が通らず、逆に、Windows 7から
FreeBSD への ping (ping6ではない) が通るという感じです。
最終的には、完全にDNSで解決したい為、リンクローカルアドレスを用いない
アドレスで解決できるようにしたいのです。
(既に、DNSサーバー側には、ローカルの正引き/逆引きを設定してあります)
あと、これは別質問ですが、IPV6に対応していないDNSキャッシュサーバーに対して
Windows7のIPV6の設定をするのは、どのようにしたらよろしいでしょうか?
IPV6に関して、ほぼ無知なものですので、そのあたりもよろしくお願いします。
以下、設定、結果ログ等
-------
カーネルコンフィグ:IPV6関連はトンネリング等含めて全て含めてある。
ルーターFreeBSD側の /etc/rc.conf
ipv6_enable="YES"
ipv6_gateway_enable="YES"
ipv6_network_interfaces="auto"
ipv6_network_interfaces="em0"
ipv6_ifconfig_em0="f001:???:0:1::1/48 prefixlen 64"
ファイルサーバーFreeBSD側 /etc/rc.conf
ipv6_defaultrouter="f001:???0:1::1"
ipv6_network_interfaces="auto"
ipv6_network_interfaces="em0"
ipv6_ifconfig_em0="f001:???0:2::1/48 prefixlen 64"
# ifconfig (の一部 ルーター機)
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 8996
options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
ether ??:??:??:??:??:??
inet IPV4アドレス netmask ネットマスク broadcast それなりのもの
inet6 fe80::???:???:fe2a:8448%em0 prefixlen 64 scopeid 0x2
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
inet6 f001:???:0:1::1 prefixlen 64
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
リンクローカルアドレスのping6
# ping6 fe80::???:????:fe2a:8426%em0
PING6(56=40+8+8 bytes) fe80::???:????:fe2a:8448%em0 --> fe80::???:????:fe2a:8426%em0
16 bytes from fe80::???:????:fe2a:8426%em0, icmp_seq=0 hlim=64 time=0.466 ms
16 bytes from fe80::???:????:fe2a:8426%em0, icmp_seq=1 hlim=64 time=0.184 ms
16 bytes from fe80::???:????:fe2a:8426%em0, icmp_seq=2 hlim=64 time=0.137 ms
普通のIPV6のping6
# ping6 f001:???:0:2::1
ping6: UDP connect: No route to host
Windows 7 の ipconfig
IPv6 アドレス . . . . . . . . . . . : f001:???:0:4::1
リンクローカル IPv6 アドレス. . . . : fe80::????:????:68e6:c485%10
Windows 7 のリンクローカルアドレスへのping6
# ping6 fe80::????:????:68e6:c485%10
ping6: UDP connect: Device not configured
(理由:IPV6対応のDNSキャッシュサーバーがなく、完全に設定できてない?)
Windows 7 からの ping
C:\Users\???>ping fe80::???:????:fe2a:8448%em0
ping 要求ではホスト fe80::???:????:fe2a:8448%em0 が見つかりませんでした。ホスト
名を確認してもう一度実行してください。
C:\Users\???>ping fe80::???:????:fe2a:8448
fe80::???:????:fe2a:8448 に ping を送信しています 32 バイトのデータ:
fe80::???:????:fe2a:8448 からの応答: 時間 <1ms
fe80::???:????:fe2a:8448 からの応答: 時間 <1ms
投稿日時 - 2011-07-29 20:22:11
> ipv6_ifconfig_em0="f001:???:0:1::1/48 prefixlen 64"
そもそもprefixに関して理解できていますか?
一方で/48に設定しようとしていて、もう一方では/64で設定しようとしている
> inet6 f001:???:0:1::1 prefixlen 64
結果、/64に設定されています
f001:???:0:1/64とf001:???:0:2/64で通信するにはルータが必要です
おそらくIPv6のルータがないのでしょうから、f001:???:0:1/64同士でpingができて、f001:???:0:1/64とf001:???:0:2/64間のpingができないのは当たり前
当然、
> ping6: UDP connect: No route to host
の結果になります
> Windows 7 のリンクローカルアドレスへのping6
> # ping6 fe80::????:????:68e6:c485%10
これはIPv6のインタフェース識別子に関する知識が足りません
%10はWin7のマシン上でのインタフェース識別子です
もしインタフェース識別子を付けるのであれば、自分自身のどのインタフェースから通信するかを指定しなければいけません
むしろ、インタフェース識別子を付けないほうがpingが通るわけです
FreeBSDのマシンからpingするのであれば、
ping6 fe80::????:????:68e6:c485%em0
でなければいけませんし、Win7からのpingであれば、
ping fe80::???:????:fe2a:8448%10
でなければいけません
IPv6に関して勉強しなおしてみては?
投稿日時 - 2011-07-30 18:58:28
ありがとうございます。
LAN内にもルーターが必要ですね。汗
初めて知りました。
適当にぐぐって、LAN内をとりあえず開通させて、
その後、feel6 でのIPV6接続にも対応させました。
ちなみに、ipnat関連がわからないので(もしかして対応してない?)
面倒なので、Apache proxy 経由でアクセスしています。
投稿日時 - 2011-07-31 19:09:10
このQ&Aは役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
回答(1)