Kör IPv6 på riktigt med FortiGate! Principen är enkel: - Installera en Fortigate ditt nätverk. - Anslut Fortigaten till IPv6 nätverket. - Anslut din PC till Fortigaten. - Så kan du surfa på internet med både IPv4 och IPv6. 1. Hur går det till? Fortigaten ansluts till valfritt IPv6-nätverk via en så kallad tunnel broker. Det finns många brokers men Hurricane Electric och SixXS är de vanligaste. SixXS använder vi i exemplet nedan. Tjänsten är i dagsläget kostnadsfri. Fortigatens utsida, dvs Wan-interfacet, skapar en tunnel över det befintligta IPv4 nätverket. På FortiGatens insida så får du ett nät tilldelat av din tunnel broker som är det egna IPv6 nät. I praktiken så kan man använda både IPv4 och IPv6 genom Fortigaten och komma åt tjänster på internet oavsett om dessa är IPv4 eller IPv6. 2. Förutsättningar - En FortiGate med FortiOS 4.2.1 eller senare. - En internetanslutning (ADSL, fast eller hyrd lina. Dynamisk eller statisk IP-adress spelar ingen roll). Observera att för att testa IPv6 så kan FortiGaten placeras var som helst inom ditt nätverk. Den behöver INTE vara direkt ansluten till Internet, utan den kan mycket väl vara placerad någonstans inom ditt interna nätverk, men måste så klart ha åtkomst till Internet. - Minst en dator med IPv6. Windows 7 är enklast, men Vista och XP fungerar också. Likaså Linux/BSD. Dvs alla system med IPv6 stöd. - Lite tålamod. Att begära tunneln & nätet från brokern kan ta allt ifrån minuter till ett par dagar. - Kunna utföra konfiguration av FortiGaten via CLI. 3. Steg för steg 3.1. Begär tunnel och nät från en broker. Vi använder SixXS i exemplet. Du måste skapa ett konto på www.sixxs.net. Sedan begära en Dynamisk tunnel (eller statisk om du har en fast IPv4 adress på FortiGatens utsida). Sedan begära ett IPv6 nät som ska kopplas bakom tunneln du begärde. - Gå till www.sixxs.net. - Klicka på Enter Website
- Klicka på Signup for new users - Klicka på Direct signup - Fyll i sidan med Namn, Organisation, företag etc etc. - Vänta på bekräftelse-mail. - Ansök om en tunnel av typen AYIYA. - När processen är klar så ska du ha fått en IP-adress för tunneländpunkten, och en IPv6 adress som är din tunnels utsida. Till exempel: IPv4 Tunnel ändpunkt från brokern. Till exempel: 78.35.24.124 IPv6 Address på tunnelns ändar. Till exempel: Din sida (local): 2001:4dd0:ff00:15e::2/64 och Providerns (remote): 2001:4dd0:ff00:15e::1/64 Det begärda subnätet ska se ut ungefär så här: Subnet: 2001:4dd0:ff42::/48 Route: 2001:4dd0:ff42::2/64 Observera att det tilldelade nätet är enormt stort eftersom det är en /48 mask. Om du bara behöver ett IPv6 nät (som i detta fall) så kan vi lämna masken som den är. Men det går utmärkt att subnetta precis som i IPv4. MEN använd /64 eftersom då fungerar autokonfiguration av klienten. Hela processen brukar ta cirka en timme. Det är flera steg som ska verifieras av brokern och det kan ta flera dagar mellan varje steg, men det brukar gå mycket fortare. När vi satte upp detta själva så tog hela processen ungefär 1 ½ timme totalt. 3.2. Konfigurera Fortigaten Med uppgifterna ovan skall följande göras via CLI: 1. Skapa ett SIT-tunnel interface (gör det möjligt att köra IPv6 över ett befintligt IPv4 nät) 2. Skapa en statisk IPv6 route in till tunnelinterfacet. 3. Tilldela ditt IPv6 nät till Fortigatens insida. 4. Skapa en IPv6 brandväggspolicy som tillåter trafik från dit egna IPv6 nät till tunneln. 3.2.1. Skapa SIT-Tunnelinterfacet config system sit-tunnel edit "sixxs" set destination 78.35.24.124 set ip6 2001:4dd0:ff00:15d::2/64 next destination är den IP-adress som din tunnel ska termineras i. Denna har du fått av din broker. ip6 adressen är din lokala ändpunkt på tunneln.
3.2.2. Editera det nyskapade interfacet config system interface edit sixxs set interface wan1 config ipv6 set ip6-allowaccess ping Detta är bara för att tillåta ping via IPv6 på interfacet. Mycket användbart vid felsökning! 3.2.3. Skapa en statisk IPv6 route config router static6 edit 1 set device "sixxs" next Har talar vi om för Fortigaten att hela världens IPv6 nät nås via tunneln. 3.2.4. Tilldela Fortigatens interna IPv6 nät config system interface edit "LAN" config ipv6 set ip6-address 2001:4dd0:ff42:72::1/64 set ip6-allowaccess ping https ssh config ip6-prefix-list edit 2001:4dd0:ff42:72::/64 set autonomous-flag enable set onlink-flag enable set preferred-life-time 3600 set ip6-s-adv enable LAN i detta fall ska vara det interface som du kopplar in din IPv6-utrustning. Tex din PC eller annan klient. Namnet på interfacet är beroe på Fortigate modell. Vanligast namn på de mindre Fortigatarna är internal, och förmodligen det som du ska ange. ip6-address är en adress ur det nät som du blev tilldelad. ::1 på slutet anger att det är den första adressen ur det nätet. Den adressen kommer din IPv6-utrustning att använda som default gateway. ip6-allowaccess anger att vi kan managera (via https och ssh) och pinga Fortigaten över IPv6 på det interface som vi valt som insida. Också bra vid felsökning! onlink-flag talar om att det finns klienter på detta nät och att adresser på detta nät inte behöver nås via ng annan router. autonomous-flag slår på autokonfiguation av IPv6 klienter som ansluter sig till nätet. Detta förutsätter också att klienten är satt till autokonfiguration. I Windows 7 är detta påslaget som standard. I den webbläsare kan du nu (från LAN et) ansluta till Fortigaten över IPv6. Skriv: https://[2001:4dd0:ff42:72::1]
Klamrarna [] är nödvändiga för att webblösaren ska kunna skilja mellan IPv6 adressen och en eventuell port. Tex https://[2001:4dd0:ff42:72::1]:8080 3.3. Skapa brandväggsregel för att tillåta trafik config firewall policy6 edit 2 set srcintf LAN set dstintf sixxs set srcaddr "::/0" set dstaddr "::/0" set action accept set schedule "always" set service "ANY" set logtraffic enable next Denna regel kan också göras i GUI t, men observera att det finns en separat flik i GUI t för att skapa IPv6 regler. Verifera att IPv6 är påslaget i GUI t. config system global set gui-ipv6 enable 4. Klart att Testa! 4.1. Verifiera Tunnelstatus Pinga tex båda tunneländpunkterna utifrån med hjälp av en extern part. Tex ifrån denna: http://www.berkom.blazing.de/tools/ping.cgi
Du kan också pinga remote-änden av Tunneln från Fortigaten. # exec ping6 2001:4dd0:ff00:15e::1 PING 2001:4dd0:ff00:15e::1(2001:4dd0:ff00:15e::1) 56 data bytes 64 bytes from 2001:4dd0:ff00:15e::1: icmp_seq=1 ttl=64 time=67.2 ms 64 bytes from 2001:4dd0:ff00:15e::1: icmp_seq=2 ttl=64 time=64.7 ms 64 bytes from 2001:4dd0:ff00:15e::1: icmp_seq=3 ttl=64 time=66.8 ms 64 bytes from 2001:4dd0:ff00:15e::1: icmp_seq=4 ttl=64 time=172 ms 64 bytes from 2001:4dd0:ff00:15e::1: icmp_seq=5 ttl=64 time=65.7 ms Eftersom vi får svar i exemplet ovan så är tunneln uppe. Test även att pinga från din egna dator: Om du vill se trafiken i tunneln går det bra att aktivera sniffern. #diag sniff packet sixxs
5. Debugging 5.1. Diag sniffer packet Den inbyggda sniffern fungerar även för IPv6 trafik. Nedan några exempel: # diag sniff pack sixxs 'none' 4 interfaces=[sixxs] filters=[] pcap_lookupnet: sixxs: no IPv4 address assigned 34.258651 sixxs -- 2001:4dd0:ff00:15d::2 -> 2001:4dd0:ff00:15d::1: icmp6: echo request seq 1 34.324658 sixxs -- 2001:4dd0:ff00:15d::1 -> 2001:4dd0:ff00:15d::2: icmp6: echo reply seq 1 35.268581 sixxs -- 2001:4dd0:ff00:15d::2 -> 2001:4dd0:ff00:15d::1: icmp6: echo request seq 2 35.334230 sixxs -- 2001:4dd0:ff00:15d::1 -> 2001:4dd0:ff00:15d::2: icmp6: echo reply seq # diag sniff pack any 'ip6 and tcp port 80' 4 10 interfaces=[any] filters=[ip6 and tcp port 80] 1 LAN in 2001:4dd0:ff42:72:21b:63ff:fe08:e071.53037 -> 2a00:1450:8007::63.80: syn 2298823882 2 sixxs out 2001:4dd0:ff42:72:21b:63ff:fe08:e071.53037 -> 2a00:1450:8007::63.80: syn 2298823882 3 sixxs in 2a00:1450:8007::63.80 -> 2001:4dd0:ff42:72:21b:63ff:fe08:e071.53037: syn 4218782319 ack 4 LAN out 2a00:1450:8007::63.80 -> 2001:4dd0:ff42:72:21b:63ff:fe08:e071.53037: syn 4218782319 ack 5 LAN in 2001:4dd0:ff42:72:21b:63ff:fe08:e071.53037 -> 2a00:1450:8007::63.80: ack 4218782320 6 sixxs out 2001:4dd0:ff42:72:21b:63ff:fe08:e071.53037 -> 2a00:1450:8007::63.80: ack 4218782320 5.2. Diag debug flow Det finns två separate nycklar för IPv6 stöd i diag debug flow kommandot.i övrigt fungerar det precis som vanligt # diagnose debug flow filter6 # diagnose debug flow trace start6 # diagnose debug flow trace stop6 En fullständig diag debug flow ser ut ungefär så här: # diag debug enable # diag debug flow show console enable # diag debug flow show func enable # diag debug flow filter6 addr 2001:4dd0:ff42:12::24 # diag debug flow trace start6 4.3. Trafik-loggning I brandväggspolicyn så går det att slå på Trafik-loggning. Då kommer all IPv6 trafik att loggas, till tex FortiAnalyzern. Dvs precis på samma sätt som IPv4: