Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ====== SixXS IPv6 auf dem Juniper NS-5GT ======
- ===== Vorbereitung =====
- Zuerst muss IPv6 auf dem Router aktiviert werden.
- <code>set envar ipv6=yes
- reset
- </code>
- ===== Tunnel Setup =====
- Nachdem der Tunnel bei SixXS angelegt wurde, erhält man eine E-Mail - z.B.:
- <code>Tunnel Id : T80738
- PoP Name : decgn01 (de.netcologne [AS8422])
- TIC Server : tic.sixxs.net (which is the default in AICCU)
- Your Location : Pegnitz, de
- SixXS IPv6 : 2001:4dd0:ff00:bf3::1/64
- Your IPv6 : 2001:4dd0:ff00:bf3::2/64
- SixXS IPv4 : 78.35.24.124
- Tunnel Type : Dynamic (heartbeat)</code>
- ==== Loopback ====
- Da der Router einen kleinen [[http://bart.motd.be/configuring-ipv6-tunnel-netscreen-ssg-firewall|Bug]] hat (IPv6 Tunnel-Interfaces lassen sich nicht pingen) muss als kleiner Workaround ein Loopback-Interface mit angelegt werden. Dadurch kann SixXS den Tunnelendpunkt am Router pingen, sodass der Tunnel nicht den Status //down// annimmt.
- <code>set interface loopback.1 zone "Untrust"
- set interface loopback.1 ipv6 mode "host"
- set interface loopback.1 ipv6 ip 2001:4dd0:ff00:bf3::2/128
- set interface loopback.1 ipv6 enable
- set interface loopback.1 route
- set interface loopback.1 manage ping
- unset interface loopback.1 ipv6 nd nud</code>
- ==== Tunnel ====
- <code>set interface tunnel.1 zone "Untrust"
- set interface tunnel.1 ip unnumbered interface loopback.1
- set interface tunnel.1 ipv6 mode "host"
- set interface tunnel.1 ipv6 enable
- set interface tunnel.1 tunnel encap ip6in4 manual
- set interface tunnel.1 tunnel local-if untrust dst-ip 78.35.24.124
- set interface tunnel.1 mtu 1280
- unset interface tunnel.1 ipv6 nd nud</code>
- ==== Route ====
- Es wird eine neue Route angelegt, die jeglichen IPv6-Traffic an das Tunnel-Interface weiterleitet.
- <code>set route ::/0 interface tunnel.1 gateway :: preference 20</code>
- ==== Policy ====
- Für den Fall, dass Untrust Intra-Zone-Traffic blockiert wird, muss noch eine Policy angelegt werden, die es SixXS erlaubt, den Tunnelendpunkt zu pingen.
- <code>set policy name "SixXS monitoring" from "Untrust" to "Untrust" "Any-IPv6" "2001:4dd0:ff00:bf3::2/128" "ICMP6 Echo Request" permit</code>
- ==== AICCU ====
- Damit SixXS die 6in4-Pakete an die richtige IPv4-Adresse routen kann, muss diese bekannt sein. Wenn der Router eine statische IPv4-Adresse im Internet hat, wurde diese bereits beim einrichten des Tunnels auf der SixXS-Website eingetragen. Eine dynamische IPv4-Adresse muss mit einer spezielle Software (AICCU) alle 60 Sekunden an SixXS gemeldet werden. AICCU ist in den Standardrepositories der meisten Distributionen vorhanden, oder kann [[http://www.sixxs.net/tools/aiccu/|hier]] heruntergeladen werden.
- Die Konfigurationsdatei liegt unter ''/etc/aiccu.conf'' und sollte wie folgt aussehen:
- <code conf>username SIXX-USERNAME
- password SIXX-PASSWORD
- protocol tic
- server tic.sixxs.net
- ipv6_interface sixxs
- tunnel_id T80738
- automatic true
- daemonize true
- requiretls false
- defaultroute false
- setupscript /usr/local/etc/aiccu-subnets.sh</code>
- Da der Tunnel vom Router aufgebaut wird, muss AICCU daran gehindert werden, diesen selbst aufzubauen. An sich kann AICCU hinter einer NAT, die nicht entsprechend konfiguriert ist, sowieso keinen funktionierenden Tunnel aufbauen, allerdings sollten entsprechende Probleme von Anfang an ausgeschlossen werden. Dazu wird das //setupscript//, das automatisch ausgeführt wird, sobald AICCU den Tunnel aufgebaut hat, verwendet.
- Es wird also einfach eine __ausführbare__ Datei unter ''/usr/local/etc/aiccu-subnets.sh'' angelegt:
- <code bash>#!/bin/bash
- ifconfig sixxs down</code>
- ===== Subnet Setup =====
- Nachdem das Subnet bei SixXS angelegt wurde, erhält man eine E-Mail - z.B.:
- <code>PoP Name : decgn01 (de.netcologne [AS8422])
- Subnet IPv6 : 2001:6f8:1d14::/48
- Routed to : 2001:4dd0:ff00:bf3::2/64
- Your IPv4 : heartbeat</code>
- ==== Trust-Interface ====
- SixXS teilt für ein Subnet einen ''/48er'' IP-Bereich zu. Dieser kann jedoch nicht direkt verwendet werden. Bei IPv6 ist für ein Netzwerk (eine Broadcastdomain) ein ''/64er'' Bereich vorgesehen. Nur bei diesem Bereich funktioniert die automatische Adressvergabe per //Router Advertisment//. Wir teilen unseren ''/48er'' Bereich also in 256 Netze von denen wir hier nur das erste verwenden. Dazu wird statt ''/48'' einfach ''/64'' geschrieben. Durch das ''::'' werden die 16 letzten Bits der Netzwerkadresse auf 0 gesetzt.
- <code>set interface trust ipv6 mode router
- set interface trust ipv6 ip 2001:6f8:1d14::1/64
- set interface trust ipv6 enable
- unset interface trust ipv6 ra link-address
- set interface trust ipv6 ra transmit
- set interface trust ipv6 nd nud</code>
- ==== Policy ====
- Zuletzt muss nurnoch der Internetzugriff per IPv6 erlaubt werden:
- <code>set policy from "Trust" to "Untrust" "Any-IPv6" "Any-IPv6" "ANY" permit</code>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement