web-dev-qa-db-ja.com

ネットワークのIPv6ルーターとしてRaspberryPiを使用する

Tunnelbroker.netを使用してRaspberryPiのIPv6を設定することに成功しました。ただし、取得した/ 64をネットワーク内の他のデバイス間で共有したいと思います。ネットワークのルーターはVirginMedia Super Hub(VMDG480)であり、IPv6をサポートしていません。

これがRaspberryPiの/ etc/network/interfacesです。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.3
    gateway 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
    address 2001:470:1f09:4f8::2
    netmask 64
    endpoint 216.66.80.26
    local 192.168.0.3
    ttl 255
    gateway 2001:470:1f08:4f8::1

これが私がtunnelbrokerから得た情報です:

 Client IPv6 Address: 2001:470:1f08:4f8::2/64
 Routed /64: 2001:470:1f09:4f8::/64
 Routed /48: 2001:470:6c92::/48

Radvd、dibbler、isc-dhcp-serverを使用してみましたが、ネットワーク内の他のコンピューターにIPv6接続を提供できませんでした。誰かが状況に光を当てるのを手伝ってくれる?

6
whiskers75

動作は少し異なります。トンネルからの/ 64を共有せず、ネットワークにルーティングされた/ 48からの新しい/ 64を使用します。/48は、2001:470: 6c92::/642001:470:6c92:0000::/64)から2001:470:6c92:ffff::/64までを提供します。これにより、65536/64が得られます。これは通常、各ネットワークに独自の/ 64を与えるのに十分です。

まず、カーネルでIPv6転送を有効にして、RaspberryPiがルーターとして機能するようにする必要があります。この行を/etc/sysctl.confに追加します。

net.ipv6.conf.all.forwarding=1

おそらくすでにそこにありますが、コメントアウトされています。

次に、eth0インターフェースでIPv6を構成する必要があります。次のようなものを追加します。

iface eth0 inet6 static
    address 2001:470:6c92:1::1
    netmask 64

次に、radvd(Router Advertisement Daemon)を構成して、Raspberry PiがIPv6が利用可能であり、デフォルトゲートウェイとして機能することをローカルネットワークにアドバタイズするようにします。 /etc/radvd.confの基本構成は次のようになります。

interface eth0
{
    AdvSendAdvert on;
    prefix 2001:470:6c92:1::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
    };
};

これはデフォルトゲートウェイであり、他のシステムが自動的に構成する可能性があることをアドバタイズします。

警告radvdを開始すると、LAN上のすべてのシステムがIPv6アドレスとIPv6デフォルトゲートウェイを取得します。 Raspberry PiでIPv6ファイアウォールを構成していない限り、すべてのシステムはIPv6インターネットに直接接続されます。 radvdを有効にする前に、それらの構成がそのように実行するために安全であることを確認するか、RaspberryPiでIPv6ファイアウォールを構成してください。

特定のシステムでIPv6接続にRaspberryPiのみを使用する場合は、しないでくださいrun radvd。代わりに、これらのシステムでIPv6を手動で構成するだけです。 2001:470:6c8b:1::/64のアドレスを使用します。すべてゼロのアドレスは、慣例によりキャストアドレスのサブネットルーターですが、実際に使用されることはほとんどありません。 RaspberryPiにはアドレス2001:470:6c92:1::1が使用されていたため、2001:470:6c92:1::2(= 2001:0470:6c92:0001:0000:0000:0000:0002)から2001:470:6c92:1:ffff:ffff:ffff:ffffまで何でも使用できます。 2001:470:6c92:1::1をデフォルトゲートウェイとして設定すると、オンラインになります:)

https://wiki.ubuntu.com/IPv6#Configure_your_Ubuntu_box_as_a_IPv6_router についても、構成に適用される可能性のあるアドバイスがいくつかあります。 「ufwとルーティング」セクションを見てください。基本的に、/etc/ufw/sysctl.confに次の行を追加するように指示します。

net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1

/etc/default/ufwでこの行を変更するには:

DEFAULT_FORWARD_POLICY="DROP"

そして、次の行を/etc/ufw/before6.rulesに追加します。

-A ufw6-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw6-before-forward -i eth0 -o he-ipv6 -m conntrack --ctstate NEW -j ACCEPT
6
Sander Steffann

Ipv6を有効にするには、最初にipv6/etc/modulesに追加する必要がありました。おそらくこれは他の人にも役立つでしょう。

0
rundekugel