[Fortigate][IPv6] Fortigate を使用してIPv6を使う方法。(Hurricane Electric Free IPv6 Tunnel Broker編) #ipv6study

FirewallNetwork

IPv6で作る夏の思い出 – ipv6labs.jp /
http://negi.ipv6labs.jp/data/ipv6study/ipv6study_20110723.pdf

Fortigate - SixXS Wiki
Hurricane Electric Internet Services - Internet Backbone and Colocation Provider

ipv6studyの主催をやりつつすっかりご無沙汰だったIPv6に関する勉強なのですが、ようやくやる気が出てきたので実行に移すことにしました。

おおまかなやり方については、以前ipv6studyで講師をしていただたipv6labsさんの資料を参照していただければ助かります。

作業環境:

# get system status
Version: Fortigate-500A v4.0,build0656,130211 (MR3 Patch 12)

手順

1. Hurricane Electric Internet ServicesでIPv6アドレスを取得する。

2. Example Configurationsから、Fortigateのconfigをコピーする

ipv604.png

3. 上記のconfigをFortigateのconfigに導入する。(SSHやTelnetで接続して、コンフィグを流しこむのが早いと思います。
しかし、上記だとconfigが少し足りないと思うので、以下のコマンドを追加する。

config system sit-tunnel
edit "HE"
set destination <Server IPv4 Address>
set interface <IPv4 送出インターフェイス>
set ip6 <Client IPv6 Address>
set source <Client IPv4 Address>
next
end

4. 以下のコマンドを入力し、設定内容に間違いがないか確認する。

# show system sit-tunnel

5. 以下のコマンドを入力し、Tunnel設定を追加する。

config system interface
edit "HE"
config ipv6
set ip6-allowaccess ping
end
end

6. 3.で作成したHEインターフェースをデフォルトルートに設定する。

config router static6
edit 1
set device "HE"
end

7. IPv6トンネルが正しく設定されたかを確認するため、ping6を実行する。

# execute ping6 ipv6.google.com
PING ipv6.google.com(2404:6800:4004:801::1010) 56 data bytes
64 bytes from 2404:6800:4004:801::1010: icmp_seq=1 ttl=59 time=6.19 ms
64 bytes from 2404:6800:4004:801::1010: icmp_seq=2 ttl=59 time=6.34 ms
64 bytes from 2404:6800:4004:801::1010: icmp_seq=3 ttl=59 time=6.31 ms
64 bytes from 2404:6800:4004:801::1010: icmp_seq=4 ttl=59 time=9.84 ms
64 bytes from 2404:6800:4004:801::1010: icmp_seq=5 ttl=59 time=6.26 ms

--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4072ms
rtt min/avg/max/mdev = 6.195/6.990/9.844/1.430 ms

8. サブネットを設定する。ここでは、先にHE.netで/48が取得できるので、それを使用する(Routed/48の部分)。

ipv603.png
# show system interface port6
config system interface
edit "<IPv4 送出インターフェイス>"
config ipv6
set ip6-address 2001:470:fe13::1/48
set ip6-allowaccess ping
config ip6-prefix-list
edit 2001:470:fe13::/48
set autonomous-flag enable
set onlink-flag enable
set preferred-life-time 3600
next
end
set ip6-send-adv enable
end
next
end

9. 内部から、ルータに設定したIPv6アドレスに対してping6を実行してみる。
(Windows7の場合)

C:\>ping -6 2001:470:fe13::1

2001:470:fe13::1 に ping を送信しています 32 バイトのデータ:
2001:470:fe13::1 からの応答: 時間 >1ms
2001:470:fe13::1 からの応答: 時間 >1ms
2001:470:fe13::1 からの応答: 時間 >1ms
2001:470:fe13::1 からの応答: 時間 >1ms

2001:470:fe13::1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms

10. 外向きのポリシーを設定する。

config firewall address6
edit "all"
set ip6 ::/0
next
edit "lan-v6"
set ip6 2001:470:fe13::/48
next
end
config firewall policy6
edit 1
set srcintf "<内側のインターフェース>"
set dstintf "HE"
set srcaddr "lan-v6"
set dstaddr "all"
set action accept
set schedule "always"
set service "PING6"
next
end

11. 外向きにpingが通ることを確認する。

C:\>ping -6 ipv6.google.com

ipv6.l.google.com [2404:6800:4004:801::1011]に ping を送信しています 32 バイトの
データ:
2404:6800:4004:801::1011 からの応答: 時間 =6ms
2404:6800:4004:801::1011 からの応答: 時間 =6ms
2404:6800:4004:801::1011 からの応答: 時間 =6ms
2404:6800:4004:801::1011 からの応答: 時間 =6ms

2404:6800:4004:801::1011 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 6ms、最大 = 6ms、平均 = 6ms

12. 外向き用のポリシーを作成、設定する(通信内容に寄って適宜読み替えてください)。

config firewall service group
edit "http-https"
set member "PING" "HTTP" "HTTPS" "PING6"
next
end
config firewall policy6
edit 1
set service "http-https"
next
end

13. 内向きのファイアウォールポリシーを設定する。

config firewall policy6
edit 2
set srcintf "HE"
set dstintf "<内側のインターフェース>"
set srcaddr "all"
set dstaddr "lan-v6"
set action accept
set schedule "always"
set service "PING6"end

以上で、IPv6による通信ができるようになると思います。

不備などあればご指摘いただければありがたいと思います。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました