DebianおよびUbuntuで自分用にIPv6をセットアップする

いくつかの簡単な手順でIPv6を自分用にセットアップします。



Debian Squeezeを設定します。 Ubuntuは基本的に同じです。



ステップ1.トンネルを登録する



Hurricane ElectricのWebサイトにアクセスして 、登録します。 サイトにログインしてトンネルを作成します。IPv4アドレスを入力し、より近いサーバーを選択します。 サーバーとクライアントがトンネルのエンドポイントとして配置される64分の1サブネットが割り当てられます。



/ 64トンネルサブネットでは、最初のアドレスはサーバーアドレス、2番目はクライアントアドレス(つまり、私たちのもの)です。



ローカルエリアネットワークがあり、その中のすべてのマシンがIPv6アドレスを受信するようにする場合は、別の/ 64サブネット(「ルーティング済み/ 64」)を要求します。 ルーターの背後に2つ以上のローカルネットワークがある場合、/ 48サブネット( "routed / 48")を要求します。これは必要な数/ 64にカットされます。 割り当てられたすべてのサブネットは、サーバーを経由してルーティングされます。



ステップ2. IPv6の構成



トンネルを構成します-he-ipv6インターフェース。 ここでは、トンネルに/ 64サブネットを使用します。 「変数」の代わりに、最初のステップで得たものを紹介します。



/ etc / network / interfacesの最後に追加します

auto he-ipv6

iface he-ipv6 inet6 v4tunnel

address $CLIENT_IPv6

netmask 64

endpoint $SERVER_IPv4

local $CLIENT_IPv4

gateway $SERVER_IPv6

ttl 64








電源を入れて確認してください:

# ifup he-ipv6

# ping -n ipv6.google.com








ステップ3. DNSとGoogle



残念ながら、ipv6.google.comは、すべての人にとってIPv6に解決される唯一のGoogle DNSレコードです。 Googleはこれまでのところ、かなり多数のマシン上で誤って設定または切断されているという事実により、すべてのサービスをIPv6で解決しないことを決定しました。いや



詳細: www.google.com/intl/en/ipv6



したがって、Googleは個々のプロバイダーの規模でDNSにIPv6を含めることにしました。 ハリケーンエレクトリックはそれらのプロバイダーの1つです。 DNSサーバー2001:470:20 :: 2を提供します。これを介して、GoogleサービスのすべてのドメインがIPv6アドレスに解決されます。



このサーバーをすぐに/etc/resolv.confに入力するか、ローカルキャッシュバインドを上げて少し速度を上げることができます。



# apt-get install bind9







構成には2つの方法があります。このサーバーを介して解決できるのはGoogleアドレスのみですが(リストを知る必要があります)、すべてを解決できます(プロバイダーのDNSサーバーをまったく使用しません)。 私は2番目の方法を提案します。それはより簡単で、さらに、Googleサービスのすべてのアドレスのリストがありません。



ファイル/etc/bind/named.conf.optionsを編集します

acl mynetworks {

localhost;

192.168.0.0/16; // ,

2001:XXXX:XXXX:XXXX::/64; // IPv6 /64

2001:XXXX:XXXX::/48; // IPv6 /48,

};



options {

directory "/var/cache/bind";



allow-query { mynetworks; };



forwarders {

2001:470:20::2;

};



auth-nxdomain no;

listen-on-v6 { any; };

};








私たちはチェックします:

# dig +short google.com @::1 AAAA

2a00:1450:8003::63

2a00:1450:8003::67

2a00:1450:8003::68

2a00:1450:8003::69

2a00:1450:8003::6a

2a00:1450:8003::93








すべてが順調であれば、それを使用できます。 /etc/resolv.confに入力します

nameserver ::1







ローカルネットワークがない場合は、すべて準備完了です:)



ステップ4.ルーティング



ローカルネットワークでマシンを構成するには、ステートレス自動構成を使用することをお勧めします。 これはDHCPに多少似ていますが、違いは、このプロトコルが陳腐化しないことです。つまり、サーバーは発行されたアドレスのリストを保存しません。 動作原理は次のとおりです。サーバーには1/64が割り当てられ、そこからアドレスがクライアントに配布されます。 受信したIPv6アドレスの一意性は、クライアントのMACアドレス(わずかに変換された)が含まれているという事実によって保証されます。



eth0にローカルエリアネットワークがあり、eth1にプロバイダーがあるとします。 これまでのところ、IPv6はhe-ipv6インターフェイスでのみ構成されています。 したがって、ローカルネットワークを参照するeth0は、クライアントとの接続を確立するために静的IPv6アドレスを取得する必要があります。 しかし、トンネル/ 64からeth0にアドレスを割り当てることはできません。2つのインターフェイスが同じサブネットを見ていることが判明したためです。 / 64を2つに分割できますが、ステートレス自動設定は機能しません。 したがって、もう1つ/ 64を取得し、そこからアドレスをローカルネットワークに配布します(強調することが重要です。これらは実際の外部IPv6アドレスです)。 2001:XXXX:YYYY:ZZZZ :: / 64が与えられます。



ルーターの背後に複数のネットワークがある場合は、/ 48を使用して、必要な数の/ 64サブネットを使用します。 2001:XXXX:YYYY :: / 48が与えられます。 別のネットワーク番号を追加します-最大2バイトを占有し、2001:XXXX:YYYY:1 :: / 64を取得します。 したがって、最大65,536の異なるネットワークを持つことができます。 サーバーアドレスは2001:XXXX:YYYY:1 :: 1です。 さらに、いくつかのネットワークを使用した例を開発していません。構成ファイルをいくつかのネットワークの場合に一般化するのは非常に簡単だと思います。



したがって、ルーターの背後にある1つのネットワーク、2001:XXXX:YYYY:ZZZZ :: / 64。 / etc / network / interfacesの最後に追加します

iface eth0 inet6 static

address 2001:XXXX:YYYY:ZZZZ::1

netmask 64








ステートレス自動構成用のデーモンをインストールします。

# apt-get install radvd







/etc/radvd.conf

interface eth0

{

AdvSendAdvert on;

MaxRtrAdvInterval 30;



prefix 2001:XXXX:YYYY:ZZZZ::1/64

{

AdvOnLink on;

AdvAutonomous on;

AdvRouterAddr off;

AdvValidLifetime 300;

AdvPreferredLifetime 120;

};

};








転送をオンにする:

/etc/sysctl.conf

net.ipv6.conf.all.forwarding=1







# sysctl -w net.ipv6.conf.default.forwarding=1

# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding








radvdを再起動します。

# invoke-rc.d radvd restart







これで、LAN上のすべてのコンピューターがIPv6アドレスとゲートウェイアドレスを自動的に受信するはずです。 radvdumpコマンドを使用してサーバー上のプロセスを監視し、クライアントでip -6 aを使用してアドレスの存在を確認できます。



DNSサーバーはクライアント用に手動で登録する必要がありますが、ステートレス自動構成ではその方法がわかりません。



ステップ5. Avahi



クライアントアドレスはMACアドレスに基づいているため、結果は次の形式のアドレスになります。2001:528d:d4b6:1:215:f2ff:fe55:2d85。 それを操作することは非常に困難です。思い出すことは不可能です。 マルチキャストDNSとAvahiの形式でのその実装が助けになります。



# apt-get install avahi-daemon avahi-utils







/etc/avahi/avahi-daemon.confに行があるかどうかを確認します。

[server]

use-ipv4=yes

use-ipv6=yes








これで、ローカルネットワーク上のすべてのコンピューターがhostname.local名を受け取ります。 これらの名前はデフォルトでIPv4アドレスになります。 IPv6でデフォルトでデフォルトにするには、/ etc / nsswitch.confの行を編集します。



それは:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4





次のようになりました:

hosts: files mdns_minimal [NOTFOUND=return] dns mdns







これで、hostname.localの名前を使用でき、デフォルトでIPv6接続が確立されます。



ステップ6. Squid + IPv6



ローカルネットワークにキャッシュプロキシを保持しますか? 小さな問題:Squidは、バージョン3.1.0.xでのみ完全なIPv6サポートを受け取りました。これは現在実験リポジトリにあります。 実際、特に実験的なことは何もありませんでしたが、今では4か月間正常に動作しています。



ネットワーク/ 64および/ 48に入るACLにsquid3をインストールします。



良い実験をしてください!



UPD。 linuxforumでは、Hurricane Electricが2/64を生成することに気づいたため、1つのローカルネットワークから/ 48を要求する必要はありません。 更新されたトピック。



UPD2。 表示されたコピーと貼り付けに関連して、再印刷は私の許可がある場合にのみ許可されることを思い出します。



All Articles