プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (1件)

> 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に関して勉強しなおしてみては?
    • good
    • 0
この回答へのお礼

ありがとうございます。
LAN内にもルーターが必要ですね。汗
初めて知りました。

適当にぐぐって、LAN内をとりあえず開通させて、
その後、feel6 でのIPV6接続にも対応させました。

ちなみに、ipnat関連がわからないので(もしかして対応してない?)
面倒なので、Apache proxy 経由でアクセスしています。

お礼日時:2011/07/31 19:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!