Debianマシンでハリケーンエレクトリックのサービスを使用してトンネルを設定しました。それは問題なく動作しているようです。私はできる ping6 ipv6.google.com
そしてそれをlinks
で開きます。
また、マシンにPPTPデーモンをセットアップしました(はい、PPTPは安全ではありません。これは、主に実験目的です。 )Mac OSXを使用してこのPPTPデーモンに接続すると、IPv4は正常に機能します。
ただし、IPv6トラフィックのルーティングを機能させることができないようです。 OS XはPPTPを介してIPv6アドレスを取得せず、IPv6ルーターの存在をアナウンスするためのデーモンのように見えるradvd
を使用したアナウンスを無視します。明確にするために:radvd
によって送信されたルーターアナウンスがOSXマシンのppp0インターフェイスのWiresharkに表示されます。
全体として、これは本番環境でも長期的なセットアップでもありません。ただ仕事に取り掛かりたいものです(そうでなければ、ServerFaultに投稿する可能性があります)。マシンが再起動すると、手動でリセットするまでセットアップの半分がダウンします。実際、この場合、それは私にとってプラスです。
/ etc/network/interfaces(スニペット)
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:dead:beef:f00d::2
netmask 64
endpoint 216.66.86.114
ttl 255
gateway 2001:dead:beef:f00d::1
/etc/pptpd.conf
option /etc/ppp/pptpd-options
localip 10.0.101.1
remoteip 10.0.101.2-200
/ etc/ppp/pptpd-options
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
ipv6 ,
/ etc/ppp/chap-secrets
ivucica pptpd THEPASSWORDHERE 10.0.101.2 10.0.101.3 10.0.101.4 10.0.101.5
/etc/radvd.conf
interface ppp0
{
AdvSendAdvert on;
prefix 2001:dead:beef:f00d::/64
{
};
};
私はipv6転送をオンにしました:
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
はい、ppp0デバイスを再接続/再作成するたびにradvd
を再起動しました。 :-)
何が足りないのですか?
したがって、セットアップにいくつかの問題があったことがわかりました。すべてを文書化しましょう!
Mac OS Xは、IPv6 overPPPを特に好みません。接続が確立されたら、以下を使用します。
Sudo ipconfig set ppp0 AUTOMATIC-V6
Sudo route add -inet6 default -interface ppp0
以前は、OSXをルーターのアドバタイズに準拠させているようです。後者は、IPv6のデフォルトルートを追加します。 (今、route
の特定のフルーティーなモバイルオペレーティングシステムバージョンだけが-inet6
を提供した場合、私は幸せな木製の少年になるでしょう。)
また、OS Xは、IPv6を介してネゴシエートされるはずのアドレスをすべて無視し、ローカルアドレスのみを設定することに注意してください。これにより、OSXへのルーティングが妨げられる可能性があります。
一方、Windows 8(すべてのシステムの!)は、PPPを介して送信されたアドレスを問題なく取得し、ルーターアドバタイズメントに注意を払い、全体的に問題なく構成されています。 PPTPはWindowsで本当にうまく機能します。
私が最初に見逃したのは、ハリケーンエレクトリックのトンネルブローカーが実際に2つの/ 64プレフィックスを割り当てていることでした。 1つはクライアント専用で、もう1つは追加のクライアント(PPTPクライアントなど)のルーティングを目的としています。さらにアドレス(またはプレフィックス!)が必要な場合は、次のことができます。/48プレフィックスを取得することもできます(IPv6では、これは「あなたの」使用のためのビットが多いことを意味します。HEのプレフィックスは「48ビットのみ」を取ります。したがって、自動生成されたサフィックスの前に制御するビットがさらにいくつか提供されます。 MACアドレス、またはランダムに作成されたもので、最後の64ビットを開始して引き継ぎます。理論的には、64ビットの余裕があっても小刻みに動くことができますが、Windows8またはOSXで奇妙な動作が見られたので、そうしませんでした。あまり頼りにしないでください。)
radvd
を直接構成してサーバーとして実行する代わりに、グローバルに構成しないでください。つまり、Debianでサービスとして実行しないでください。
代わりに、Silmor.deで Konrad Rosenbaumの例 に従い、radvd
がPPPインターフェイスを作成した後にpppd
を構成します。
IPv6接続をセットアップします。私はハリケーンエレクトリックを使用しています。私はそれを次のように構成しました:
# hurricane electric tunnel
# based on: http://www.tunnelbroker.net/forums/index.php?topic=1642.0
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:470:UUUU:VVVV::2
netmask 64
endpoint 216.66.86.114
ttl 255
gateway 2001:470:UUUU:VVVV::1
## from http://lightyearsoftware.com/2011/02/configure-debian-as-an-ipv6-router/
# I did not set up the routing of the /64 nor the /48 prefix here, but
# this would ordinarily do it.
#up ip link set mtu 1280 dev he-ipv6
#up route -6 add 2001:470:WWWW:VVVV::/64 he-ipv6
# Note that Hurricane Electric provides different /64 IPv6 prefixes
# for the client (UUUU:VVVV) and routing (WWWW:VVVV).
# And the /48 prefix is very different altogether.
Pptpdをインストールします。 (もちろん、プロトコルとしてのPPTPの不安定さに注意し、OpenVPNまたはその他の代替手段の使用を検討してください。)
編集/etc/ppp/pptpd-options
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
ipv6 ::1,::2
最後の行は私の質問のテキストとは異なることに注意してください。クライアントOSによって尊重されるかどうかに関係なく、いくつかの静的アドレスを割り当てています。 (OS Xはそれらを無視しているようですが、Windowsはそれらを使用します。)
PPTPのユーザーを作成します。 2番目の列は、pptpd-options
のname
引数に基づいてフィルタリングします。編集/etc/ppp/chap-secrets
:
ivucica pptpd AHyperSecretPasswordInPlainText 10.0.101.2 10.0.101.3 10.0.101.4
手動でリストする代わりに、アドレスを*
に置き換えることができるはずです。私はそれを試しませんでした。
PPTPユーザーにいくつかのIPv6プレフィックスを割り当てます。注:これは、Konradのスクリプトから派生した以下にリストするスクリプトによってのみ使用されます。
編集/etc/ppp/ipv6-addr
:
ivucica:1234
littlejohnny:1235
新しいファイルを追加する/etc/ppp/ipv6-up.d/setupradvd
:
#!/bin/bash
ADDR=$(grep ^$PEERNAME: /etc/ppp/ipv6-addr |cut -f 2 -d :)
if test x$ADDR == x ; then
echo "No IPv6 address found for user $PEERNAME"
exit 0
fi
# We'll assign the user a /64 prefix.
# I'm using a Hurricane Electric-assigned /48 prefix.
# Operating systems seem to expect to be able to assign the
# last 64 bits of the address (based on ethernet MAC address
# or some other identifier). So try to obtain a /48 prefix.
# If you only have a /64 bit prefix, you can try to assign a
# /80 prefix to your remote users. It works, but I'm only now
# trying to enable these users to have routing.
USERPREFIX=2001:470:XXXX:$ADDR
USERPREFIXSIZE=64
USERPREFIXOURADDRESS=1
USERPREFIXUSERADDRESS=2
# Add the address for your side of the tunnel to the PPP device.
ifconfig $IFNAME add $USERPREFIX::$USERPREFIXOURADDRESS/$USERPREFIXSIZE
# establish new route
# (when a packet is directed toward user subnet, send it to user ip)
route -6 add $USERPREFIX::/$USERPREFIXSIZE gw $USERPREFIX::$USERPREFIXUSERADDRESS
#generate radvd config
RAP=/etc/ppp/ipv6-radvd/$IFNAME
RA=$RAP.conf
echo interface $IFNAME >$RA
echo '{ AdvSendAdvert on; MinRtrAdvInterval 5; MaxRtrAdvInterval 100;' >>$RA
echo ' prefix' $USERPREFIX::/$USERPREFIXSIZE '{};' >>$RA
# Instead of your DNS...
#echo ' RDNSS $USERPREFIX::$USERPREFIXOURADDRESS {}; };' >>$RA
# ...try assigning the Google DNS :)
echo ' RDNSS 2001:4860:4860::8888 {}; }; ' >> $RA
# The creation of radvd configuration could be more readable, but whatever.
# Start radvd
/usr/sbin/radvd -C $RA -p $RAP.pid
exit 0
スクリプトをchmodして、pppd
で実行可能にすることを忘れないでください。
chmod 755 /etc/ppp/ipv6-up.d/setupradvd
スクリプトはradvd
構成を/etc/ppp/ipv6-radvd/
に吐き出します…フォルダーが存在することを確認してください!
mkdir /etc/ppp/ipv6-radvd
また、/etc/ppp/ipv6-down.d/setupradvd
を追加します(そして実行可能にします!)-逐語的に取得 Konradから :
#!/bin/bash
RAP=/etc/ppp/ipv6-radvd/$IFNAME
kill `cat $RAP.pid` || true
rm -f $RAP.*
そして
chmod 755 /etc/ppp/ipv6-down.d/setupradvd
特にrtadv
shouldがこれらの役割を果たす必要があるため、DHCPv6を使用してルーティング情報、アドレス、またはDNS情報を配布することはテストしていません。また、Mountain Lionの時点では、 OS XにはまだDHCPv6クライアントが付属していません (おそらく意図的に; 歯科医の10人に9人 IPv6の専門家のほとんどは、DHCPが悪であることに同意しています)。
繰り返しになりますが、 PPTPセキュリティ に関するMichaelのコメント;本番環境でOpenVPNを使用することを検討してください。
はい、Konrad Rosenbaumにも OpenVPNを介したIPv6に関する素晴らしいチュートリアル があります。 :-)
PoptopはIPv6をサポートしていないようです。そして セキュリティ上の理由から、とにかく使用しないことをメンテナが推奨しています 。
PPTPは欠陥のあるプロトコルであることが知られています。プロトコルの設計者であるMicrosoftは、固有のリスクがあるため、プロトコルを使用しないことを推奨しています。多くの人がPPTP使いやすさのためにとにかく使用しますが、それがそれほど危険ではないという意味ではありません。PPTPクライアントとPoptopのメンテナはお勧めします代わりにOpenVPN(SSLベース)またはIPSecを使用します。
最近のバージョンのOpenVPNはIPv6をサポートしています なので、移行中はおそらくそれが最善の策です。