0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LinuxでグローバルIPv6通信するにはICMPv6もiptablesで通してね

Posted at

Raspberry Pi をIPv6に繋ごうとしたらハマったのでメモ。

自宅にIPv6(IPoE)回線が開通したので、Raspberry Pi で ip a を叩いたが、リンクローカルアドレスのみ表示されて、グローバルユニキャストアドレスが見えない。。。
同じルーターに接続しているWindows端末では、ちゃんとダンシング亀が見えるのに。

% ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever

OSのバージョンやiptablesの設定について。

% cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

% sudo ip6tables -L -v -n
Chain INPUT (policy DROP 2 packets, 370 bytes)
 pkts bytes target     prot opt in     out     source               destination
   37  3644 ACCEPT     all      lo     *       ::/0                 ::/0
 5326 6783K ACCEPT     all      *      *       ::/0                 ::/0                 state RELATED,ESTABLISHED

% sudo iptables -L -v -n
Chain INPUT (policy DROP 7894 packets, 2297K bytes)
 pkts bytes target     prot opt in     out     source               destination
   16   800 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
26736 7192K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

で、早速結論ですが、下記のみっつの事実がポイントでした。

  • 今回の私の回線ではSLAAC(RA)によりグローバルユニキャストアドレスが決定される。
  • SLAACの中でICMPv6が使われる
  • 自ホスト発でも、このICMPv6のパケットは RELATED ルールでマッチしない

というわけで、

-A INPUT -p ipv6-icmp -j ACCEPT

というルールを追加して、

% sudo ip6tables -L -v -n
Chain INPUT (policy DROP 2 packets, 370 bytes)
 pkts bytes target     prot opt in     out     source               destination
   39  3784 ACCEPT     all      lo     *       ::/0                 ::/0
 5986 7626K ACCEPT     all      *      *       ::/0                 ::/0                 state RELATED,ESTABLISHED
  186 17076 ACCEPT     icmpv6    *      *       ::/0                 ::/0

としてあげれば無事グローバルユニキャストアドレスが取れました。

% ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet6 2xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxx/64 scope global mngtmpaddr noprefixroute dynamic
       valid_lft 2591910sec preferred_lft 604710sec
    inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?