ダイナミックIPv4を使用したMikrotik 6to4オートメーション

この記事は、6to4カプセル化プロトコルを使用し、動的IPv4を使用してIPv6を体験したい人に役立ちます。



Mikrotik IPv6



まず、パブリック6to4ゲートウェイを使用する機会があるかどうかを確認し、アドレス192.88.99.1でそれをpingします。 pingが実行される場合は、読み進めてください。



そのため、まずはIPv6サポートモジュールをインストールする必要があります( サイトからデバイスの追加パッケージをダウンロードします)。 アーカイブからipv6-*。Npkを取り出してルーターにアップロードし、再起動します。



これでIPv6がサポートされました。ファイアウォール規則は個別に実行する必要があることに注意してください。



6to4セットアップ



次に、特別な「6to4トンネル」インターフェイスを作成し、パブリックゲートウェイのアドレスをリモートアドレスに設定し、現在のパブリックIPv4アドレスをローカルアドレスに設定します(またはアドレスを「間違えて」スクリプトがすべてを構成するようにします)。



ルーティングでは、トンネルインターフェースをデフォルトゲートウェイとして(アドレス:: / 0に)設定する必要があります。

これで、IPv6の前にpingがあるかどうかを確認できます(たとえば、ipv6.google.com)

pingがある場合は、さらに進みます。



自動調整スクリプト



##############Script Settings################## :local EXTif "ext" :local TUNif "6to4tun" :local LOCif "local" ############################################### :local EXTipv4 [/ip address get [find interface=$EXTif] address]; :local TUNipv4 [/interface 6to4 get [find name=$TUNif] local-address]; :for i from=( [:len $EXTipv4] - 1) to=0 do={ :if ( [:pick $EXTipv4 $i] = "/") do={ :set $EXTipv4 ([:pick $EXTipv4 0 $i]); } } :global dec2hex do={ :local hex "" :local dec [:tonum $1] :for i from=0 to=4 step=4 do={ :set hex ([:pick "0123456789ABCDEF" (($dec>>$i)&0xf) ((($dec>>$i)&0xf)+1)].$hex) } :return ([:tostr $hex]) } :local 6to4prefix do={ :global dec2hex :local oct :local ipv6 "2002:" :local tmp 0 :local c 0 :local ipv4 $1 :for i from=0 to=( [:len $ipv4] - 1) do={ :if ( [:pick $ipv4 $i] = "." || [:pick $ipv4 $i] = "/") do={ :set oct ([:pick $ipv4 $tmp $i]) :set tmp ($i+1) :set ipv6 ("$ipv6".[$dec2hex $oct]) :if ( c =1 || c =3) do={ :set ipv6 ("$ipv6".":") } :set c (c+1) } } :return ($ipv6) } :if ( $TUNipv4 != $EXTipv4 ) do={ /interface 6to4 set [find name=$TUNif] local-address=$EXTipv4 /ipv6 address remove [find interface=$TUNif] /ipv6 address remove [find interface=$LOCif] :local ipv6new [$6to4prefix ($EXTipv4."/")] :log info ($ipv6new) /ipv6 address add interface=$TUNif advertise=no address=("$ipv6new".":1/48") /ipv6 address add interface=$LOCif advertise=yes address=("$ipv6new".":1/64") }
      
      





スクリプトでは、構成するインターフェイスを担当する変数を設定する必要があります。





スクリプトを実行すると、構成済みのトンネルと、/ 64プレフィックスが付いたローカルインターフェイスが取得されます。



次に、このスクリプトをスケジューラに追加し(5分ごとに実行します)、外部IPv4を変更すると、わずかな遅延が発生し、6to4が再構成されます。



どのような困難があなたを待っていますか?



クライアントはSLAACを使用してIPv6を受信し、DNSとゲートウェイを設定する方法はありません(WinクライアントはRAを介してゲートウェイのみを受信します)。 MikrotikにはDHCPv6がありますが、まだほとんど意味がありません(完全には完了していません)。



MikrotikでDNSをサポートするために、有名なパブリックサーバー(たとえば、2620:0:ccc :: 2および2620:0:ccd :: 2)をセットアップし、クライアントのリンクローカルMikrotikアドレスを構成できます。



All Articles