ND ProxyÀßÄê
IPv6¤Ç¤¹¤¬¡¢¤Ê¤¼¤«ÌµÀþLAN¤ÇÀܳ¤·¤¿Windows10¤À¤±¤¬ÉÔ°ÂÄê¤Ç¡¢IPv6ÄÌ¿®¤¬¤Ç¤¤¿¤ê¤Ç¤¤Ê¤«¤Ã¤¿¤ê¤·¤Þ¤·¤¿¡£¤É¤¦¤â¤¤¤Á¤ÉIPv6ÄÌ¿®¤¬¤Ç¤¤Ê¤¯¤Ê¤ë¤È1ʬ¤¯¤é¤¤¤½¤Î¤Þ¤ÞÄÌ¿®ÉÔǽ¤Ç¡¢¤·¤Ð¤é¤¯ÂԤäƤ¤¤ë¤ÈIPv6Àܳ¤¬Éü³è¤·¤¿¤ê¤·¤Þ¤¹¡£
Ʊ¤¸¤¯ÌµÀþLAN¤ÇÀܳ¤·¤Æ¤¤¤ëAndroid¤Ç¤Ï¤½¤Î¤è¤¦¤Ê¸½¾Ý¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤¿ÍÀþLAN¤ÇÀܳ¤µ¤ì¤Æ¤¤¤ëLinux¥Þ¥·¥ó¤â°ÂÄꤷ¤ÆÄÌ¿®¤Ç¤¤Æ¤¤¤Þ¤·¤¿¡£
Íýͳ¤òÄ´ºº¤·¤¿¤È¤³¤í¡¢ÄÌ¿®ÉÔǽ¤Î¤È¤¤ÏDefault Gatewy¤Ç¤¢¤ëNGN¥ë¡¼¥¿¤Îlink local¥¢¥É¥ì¥¹¤¬²ò·è(Neighbor Discovery)¤·¤è¤¦¤È¤·¤Æ¼ºÇÔ¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤É¤¦¤â¡¢NTTÅìÆüËܤΥեì¥Ã¥ÄÌÖ(NGN)¤Î¥ë¡¼¥¿¤Ï¡¢RS(Route Solicitation)¤Ë¤¿¤¤¤·¤ÆRA(Route Advertisement)¤Ï¤¯¤ì¤ë¤¬NS(Neighbour Solicitation)¤Ë¤¿¤¤¤·¤ÆNA(Neighbour Advertisement¤ÏÊÖ¤·¤Æ¤¯¤ì¤Ê¤¤¤è¤¦¤Ç¤¹¡£
Windows10¥Þ¥·¥ó¤¬ÊÝ»ý¤¹¤ëNeighbor¥¥ã¥Ã¥·¥å¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤¿¾ì¹ç¡¢Windows10¤ÏRS(Route Solicit)¤Ç¤Ï¤Ê¤¯NS(Neighbor Solicit)¤òȯ¹Ô¤·¤Þ¤¹¡£¤·¤«¤·NGN¥ë¡¼¥¿¤ÏRS¤Ë¤ÏÊÖ»ö¤¹¤ë¤±¤ì¤É¤âNS¤Ë¤ÏÈ¿±þ¤·¤Ê¤¤¤Î¤Ç¡¢Neighbor²ò·è¤¬¤Ç¤¤Ê¤¤¤Þ¤Þ¡¢¼¡¤Ë²¿¤«¤Î¤¤Ã¤«¤±¤ÇRA¤¬Á÷¿®¤µ¤ì¤ë¤Î¤ò¤¿¤ÀÂԤĤÀ¤±¤È¤¤¤¦¾õÂ֤ˤʤê¤Þ¤¹¡£
̵Àþ´Ä¶¤¬¤è¤¯¤Ê¤¯¤Æ¤¿¤Þ¤Ë¥Ñ¥±¥Ã¥È¥í¥¹¥È¤¹¤ë´Ä¶¤À¤È¡¢RA¤¬¥í¥¹¥È¤·¤¿¤éºÆÁ÷¤µ¤ì¤Ê¤¤¤Þ¤ÞĹ»þ´ÖÂÔ¤Á¤Ü¤¦¤±¤ò¤¯¤é¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¤¢¤Þ¤ê¤Ë¤âÉÔÊؤʤΤǡ¢Âкö¤ò¹Í¤¨¤Þ¤·¤¿¡£¤¤¤Á¤Ð¤ó°Â°×¤ÊÂкö¤Ï NS¤Ë¤¿¤¤¤·¤Æ狼¤¬ÂåÍý¤ÇNA¤òÊÖ¤·¤Æ¤¢¤²¤ëÊýË¡¤Ç¤¹¡£¤Ä¤Þ¤ê Neighbor Discovery Proxy¡¢IPv4¤Ç¸À¤¦ARP Proxy¤Ç¤¹¡£
ndppd¤È¤¤¤¦ND ProxyÀìÍѤΥ桼¥¶¥é¥ó¥É¥¢¥×¥ê¤â¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¤¿¤À1¤Ä¤Î¥¢¥É¥ì¥¹¤À¤±¤òproxy¤·¤¿¤¤¤À¤±¤Ê¤éLinux Kernel¤ÎÀßÄê¤À¤±¤ÇOK¤Ç¤¹¡£
ÀßÄêÂÐ¾Ý¤Ï VDSL¥ë¡¼¥¿¤Ë°ìÈֶᤤbrouter¤¬Æ°¤¤¤Æ¤¤¤ëLinux¥Þ¥·¥ó¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤·¤¿¡£
1. ¥«¡¼¥Í¥ë¥Ñ¥é¥á¡¼¥¿ÀßÄê
/etc/sysctl.conf¤òÊÔ½¸¤·¤Æ°Ê²¼¤òÄɲ乤ë (Í× root¸¢¸Â)
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.br0.proxy_ndp = 1
net.ipv6.conf.default.proxy_ndp = 1
net.ipv6.conf.enp3s0.proxy_ndp = 1
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¥«¡¼¥Í¥ë¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ë¡£
$ sudo sysctl -p |
/etc/sysctl.conf¤ËÄɲ䷤Ƥª¤±¤Ð¡¢¼¡¤Îµ¯Æ°»þ¤Ë¤Ï¼«Æ°Åª¤Ë¥«¡¼¥Í¥ë¥Ñ¥é¥á¡¼¥¿ÀßÄꤵ¤ì¤ë¡£
2. ND Proxy¤ÎÀßÄê
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ÇND ProxyÀßÄꤷ¤Þ¤¹
$ su ip -6 neigh add proxy (¥ë¡¼¥¿ link local address fe80::xxxx) dev br0 nud permanent |
Windows¤Î´ÉÍý¼Ô¸¢¸Â¤Çµ¯Æ°¤·¤¿¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤«¤é¡¢Neighbor¥¥ã¥Ã¥·¥å¤ò¾Ãµî¤·¤Æ¤«¤é ping¤·¤Þ¤¹
C:> netsh interface ipv6 delete neighbors C:> ping -6 xxxxxxxx |
Àµ¤·¤¯ ping¤ÇÄÌ¿®¤Ç¤¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¤Þ¤Þ¤À¤È¼¡¤Îµ¯Æ°»þ¤Ë¤ÏÀßÄ꤬¾Ã¤¨¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥È¤òÄɲä·¤Þ¤¹¡£
/etc/sysconfig/network ¤ÎÃæ¤Ç ¥·¥§¥ëÊÑ¿ô IPV6_DEFAULTGW ¤È IPV6_DEFAULTDEV¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ëÁ°Äó¤È¤·¤Æ¡¢°ÊÁ°¤ËÄɲä·¤¿ /etc/sysconfig/network-scripts/init.passthru-brouter ¤ËÄɲä·¤Þ¤¹¡£
## read setting of IPV6_DEFAULTGW and IPV6_DEFAULTDEV
. /etc/sysconfig/network
ip -6 neigh add proxy ${IPV6_DEFAULTGW} dev ${IPV6_DEFAULTDEV} nud permanent