IPv6

You are viewing an old revision of this post, from December 22, 2014 @ 15:57:06. See below for differences between this version and the current revision.

Kernel IPv6 fähig kompilieren.

CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IP_VS_IPV6=y
# IPv6: Netfilter Configuration
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y

#Infos######################################################################################
Bei jeder guten Distribution sind bereits alle benötigten Programme zur IPv6 administration vorhanden.
Bei IPv6 gibt es kein NAT (Private IPs) da die Anzahl der zu vergebenen Adressen extrem hoch ist und deshalb keine Unterleiung von Öffentlicher IP und Privater IP stattfindet.

“ping6 -c 3 ::1″= Ping für IPv6 auf die “::1” vergleichbar mit 127.0.0.1
“ping6 -c 3 2001:db8:0:f101::1” = IPv6 Ping auf 2001:db8:0:f101::1

#Kommandos######################################################################################
“ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64” = IPv6 Adresse hinzufügen
“ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64” = IPv6 Adresse löschen
“ip -6 neigh show” = Zeigt alle IPv6 Nachbarn (ähnlich wie ARP) im gleichen Netz an.
“route -A inet6” = Zeigt IPv6 Routen an. Generell werden die Routen genau so vergeben wie bei IPv4
“route -A inet6 add 2000::/3 gw 2001:0db8:0:f101::1” = Fügt eine Route hinzu. Generell werden die Routen genau so vergeben wie bei IPv4
“echo “1” >/proc/sys/net/ipv6/conf/all/forwarding” = Routing für IPv6 aktivieren.

#Notationen#######################################################################################

Routing Tabelle:
vmware:~ # route -A inet6
Kernel IPv6 routing table
Destination                                 Next Hop                                Flags Metric Ref    Use Iface
2001:db8:0:f101::/64                        ::                                      U     256    0        0 eth0
fe80::/64                                   ::                                      U     256    0        0 eth0
::1/128                                     ::                                      U     0      25       1 lo
2001:db8:0:f101::2/128                      ::                                      U     0      11       1 lo
fe80::20c:29ff:fe26:6374/128                ::                                      U     0      5        1 lo
ff00::/8                       ::                                      U     256    0        0 eth0

Ifconfig an eth0:
vmware:~ # ifconfig eth0 | grep -i inet6
inet6 addr: 2001:db8:0:f101::2/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe26:6374/64 Scope:Link    wird von SuSE automatisch vergeben.

IPv6 Network Neighbourhood Protokol (ähnlich ARP):
vmware:~ # ip -6 neigh show
fe80::204:76ff:fe99:1ba4 dev eth0 lladdr 00:04:76:99:1b:a4 DELAY
2001:db8:0:f101::1 dev eth0 lladdr 00:04:76:99:1b:a4 REACHABLE

#IP6tables##############################################################################################
“ip6tables -A INPUT -s 2001:db8:0:f101::1 -j DROP”    = blockt eine IPv6 IP. “ip6tables” funktioniert generell so wie iptables für IPv4.

#IPv6 Verkehr komplett sperren##
“ip6tables -P INPUT DROP”
“ip6tables -P OUTPUT DROP”
“ip6tables -P FORWARD DROP”

#NDP fuer IPv6 blocken bzw. icmpv6##
ip6tables -A INPUT -p icmpv6 -j DROP
ip6tables -A OUTPUT -p icmpv6 -j DROP
ip6tables -A FORWARD -p icmpv6 -j DROP

#Sync Flood Schutz###############################################################################################################################################################################
ip6tables -N syn-flood
ip6tables -N syn-flood_forw
ip6tables -A INPUT -p tcp –syn -j syn-flood
ip6tables -A OUTPUT -p tcp –syn -j syn-flood
#ip6tables -A FORWARD -p tcp –syn -j syn-flood_forw
#Neue Kette##
ip6tables -A syn-flood -m limit –limit 1/s –limit-burst 4 -j RETURN
ip6tables -A syn-flood -m limit –limit 1/s –limit-burst 4 -j LOG –log-level 7 –log-prefix “IN_OUT synFld_v6 DROP: ”
ip6tables -A syn-flood -j DROP
#ip6tables -A syn-flood_forw -m limit –limit 1/s –limit-burst 100 -j RETURN
#ip6tables -A syn-flood_forw -m limit –limit 1/s –limit-burst 100 -j LOG –log-level 7 –log-prefix “FOR synFld_v6 DROP: ”
#ip6tables -A syn-flood_forw -j DROP
##################################################################################################################################################################################################

#Sicher gehn das neue IP Packete Sync Packete sind##################################################################################################################################################################################################
ip6tables -A INPUT -p tcp ! –syn -m state –state NEW -j LOG –log-level 7 –log-prefix “IN new not Sync_v6 DROP: ”
ip6tables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP
ip6tables -A OUTPUT -p tcp ! –syn -m state –state NEW -j LOG –log-level 7 –log-prefix “OUT new not Sync_v6 DROP: ”
ip6tables -A OUTPUT -p tcp ! –syn -m state –state NEW -j DROP
ip6tables -A FORWARD -p tcp ! –syn -m state –state NEW -j LOG –log-level 7 –log-prefix “FOR new not Sync_v6 DROP: ”
ip6tables -A FORWARD -p tcp ! –syn -m state –state NEW -j DROP
##################################################################################################################################################################################################

#Fragmentationsschutz (Packet mit der Frag ID von 100 bis 200 Droppen ???)##################################################################################################################################################################################################
ip6tables -A INPUT -m frag –fragid 100:200 –fragfirst -j LOG –log-prefix “IN FRAGM_v6 DRP: ”
ip6tables -A INPUT -m frag –fragid 100:200 –fragfirst -j DROP
ip6tables -A INPUT -m frag –fragid 100:200 –fragfirst -j LOG –log-prefix “OUT FRAGM_v6 DRP: ”
ip6tables -A INPUT -m frag –fragid 100:200 –fragfirst -j DROP
ip6tables -A INPUT -m frag –fragid 100:200 –fragfirst -j LOG –log-prefix “FOR FRAGM_v6 DRP: ”
ip6tables -A INPUT -m frag –fragid 100:200 –fragfirst -j DROP
##################################################################################################################################################################################################

#Kaputte Packete (No trackable) loeschen##################################################################################################################################################################################################
ip6tables -A INPUT -p ALL -m state –state INVALID -j LOG –log-prefix “IN INVALID_v6 DRP: ”
ip6tables -A INPUT -p ALL -m state –state INVALID -j DROP
ip6tables -A OUTPUT -p ALL -m state –state INVALID -j LOG –log-prefix “OUT INVALID_v6 DRP: ”
ip6tables -A OUTPUT -p ALL -m state –state INVALID -j DROP
ip6tables -A FORWARD -p ALL -m state –state INVALID -j LOG –log-prefix “FOR INVALID_v6 DRP: ”
ip6tables -A FORWARD -p ALL -m state –state INVALID -j DROP
###################################################################################################################################################################################################

#Eingehenede Verbindungen an XXX weiterleiten (Kein NAT sondern redirect)##

################################################################################################################################################################################

Post Revisions:

Changes:

December 22, 2014 @ 15:57:06Current Revision
Content
  <div class="html"><pre>
Kernel IPv6 fähig kompilieren.  Kernel IPv6 f&#228;hig kompilieren.
CONFIG_IPV6=y CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_MIP6=y CONFIG_IPV6_MIP6=y
CONFIG_IPV6_SIT=y CONFIG_IPV6_SIT=y
CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_PIMSM_V2=y
CONFIG_IP_VS_IPV6=y CONFIG_IP_VS_IPV6=y
# IPv6: Netfilter Configuration # IPv6: Netfilter Configuration
CONFIG_NF_CONNTRACK_IPV6=y CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_ MATCH_IPV6HEADER=y CONFIG_IP6_NF_ MATCH_IPV6HEADER=y
#Infos###################################################################################### #Infos######################################################################################
Bei jeder guten Distribution sind bereits alle benötigten Programme zur IPv6 administration vorhanden.  Bei jeder guten Distribution sind bereits alle ben&#246;tigten Programme zur IPv6 administration vorhanden.
Bei IPv6 gibt es kein NAT (Private IPs) da die Anzahl der zu vergebenen Adressen extrem hoch ist und deshalb keine Unterleiung von Öffentlicher IP und Privater IP stattfindet.  Bei IPv6 gibt es kein NAT (Private IPs) da die Anzahl der zu vergebenen Adressen extrem hoch ist und deshalb keine Unterleiung von &#214;ffentlicher IP und Privater IP stattfindet.
"ping6 -c 3 ::1"= Ping für IPv6 auf die "::1" vergleichbar mit 127.0.0.1  &quot;ping6 -c 3 ::1&quot;= Ping f&#252;r IPv6 auf die &quot;::1&quot; vergleichbar mit 127.0.0.1
"ping6 -c 3 2001:db8:0:f101::1" = IPv6 Ping auf 2001:db8:0:f101::1  &quot;ping6 -c 3 2001:db8:0:f101::1&quot; = IPv6 Ping auf 2001:db8:0:f101::1
#Kommandos###################################################################################### #Kommandos######################################################################################
"ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64" = IPv6 Adresse hinzufügen  
  &quot;ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64&quot; oder &quot;ip -6 addr add dev eth0 2001:0db8:0:f101::1/64&quot; = IPv6 Adresse hinzuf&#252;gen
"ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64" = IPv6 Adresse löschen  &quot;ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64&quot; = IPv6 Adresse l&#246;schen
"ip -6 neigh show" = Zeigt alle IPv6 Nachbarn (ähnlich wie ARP) im gleichen Netz an.  &quot;ip -6 neigh show&quot; = Zeigt alle IPv6 Nachbarn (&#228;hnlich wie ARP) im gleichen Netz an.
"route -A inet6" = Zeigt IPv6 Routen an. Generell werden die Routen genau so vergeben wie bei IPv4  &quot;route -A inet6&quot; = Zeigt IPv6 Routen an. Generell werden die Routen genau so vergeben wie bei IPv4
"route -A inet6 add 2000::/3 gw 2001:0db8:0:f101::1" = Fügt eine Route hinzu. Generell werden die Routen genau so vergeben wie bei IPv4  &quot;route -A inet6 add 2000::/3 gw 2001:0db8:0:f101::1&quot; = F&#252;gt eine Route hinzu. Generell werden die Routen genau so vergeben wie bei IPv4
"echo "1" &gt;/proc/sys/ net/ipv6/conf/ all/forwarding" = Routing für IPv6 aktivieren.  &quot;echo &quot;1&quot; &gt;/proc/sys/ net/ipv6/conf/ all/forwarding&quot; = Routing f&#252;r IPv6 aktivieren.
#Notationen####################################################################################### #Notationen#######################################################################################
Routing Tabelle: Routing Tabelle:
vmware:~ # route -A inet6 vmware:~ # route -A inet6
Kernel IPv6 routing table   Kernel IPv6 routing table
Destination                                 Next Hop                                Flags Metric Ref    Use Iface  Destination Next Hop Flags Metric Ref Use Iface
2001:db8:0:f101: :/64                        ::                                      U     256    0        0 eth0  2001:db8:0:f101::/64 :: U 256 0 0 eth0
fe80::/64                                   ::                                      U     256    0        0 eth0  
::1/128                                     ::                                      U     0      25       1 lo  
   fe80::/64 :: U 256 0 0 eth0
   ::1/128 :: U 0 25 1 lo
2001:db8:0:f101: :2/128                      ::                                      U     0      11       1 lo  2001:db8:0:f101::2/128 :: U 0 11 1 lo
fe80::20c:29ff: fe26:6374/128                ::                                      U     0      5        1 lo  fe80::20c:29ff: fe26:6374/128 :: U 0 5 1 lo
ff00::/8                       ::                                      U     256    0        0 eth0  ff00::/8 :: U 256 0 0 eth0
Ifconfig an eth0: Ifconfig an eth0:
vmware:~ # ifconfig eth0 | grep -i inet6 vmware:~ # ifconfig eth0 | grep -i inet6
inet6 addr: 2001:db8:0:f101::2/64 Scope:Global   inet6 addr: 2001:db8:0:f101::2/64 Scope:Global
inet6 addr: fe80::20c:29ff: fe26:6374/64 Scope:Link    wird von SuSE automatisch vergeben.   inet6 addr: fe80::20c:29ff: fe26:6374/64 Scope:Link wird von SuSE automatisch vergeben.
IPv6 Network Neighbourhood Protokol (ähnlich ARP):  IPv6 Network Neighbourhood Protokol (&#228;hnlich ARP):
vmware:~ # ip -6 neigh show vmware:~ # ip -6 neigh show
fe80::204:76ff:fe99:1ba4 dev eth0 lladdr 00:04:76:99:1b:a4 DELAY fe80::204:76ff:fe99:1ba4 dev eth0 lladdr 00:04:76:99:1b:a4 DELAY
2001:db8:0:f101::1 dev eth0 lladdr 00:04:76:99:1b:a4 REACHABLE 2001:db8:0:f101::1 dev eth0 lladdr 00:04:76:99:1b:a4 REACHABLE
#IP6tables############################################################################################## #IP6tables##############################################################################################
"ip6tables -A INPUT -s 2001:db8:0:f101::1 -j DROP"    = blockt eine IPv6 IP. "ip6tables" funktioniert generell so wie iptables für IPv4.  &quot;ip6tables -A INPUT -s 2001:db8:0:f101::1 -j DROP&quot; = blockt eine IPv6 IP. &quot;ip6tables&quot; funktioniert generell so wie iptables f&#252;r IPv4.
#IPv6 Verkehr komplett sperren## #IPv6 Verkehr komplett sperren##
"ip6tables -P INPUT DROP"  &quot;ip6tables -P INPUT DROP&quot;
"ip6tables -P OUTPUT DROP"  &quot;ip6tables -P OUTPUT DROP&quot;
"ip6tables -P FORWARD DROP"  &quot;ip6tables -P FORWARD DROP&quot;
#NDP fuer IPv6 blocken bzw. icmpv6## #NDP fuer IPv6 blocken bzw. icmpv6##
ip6tables -A INPUT -p icmpv6 -j DROP ip6tables -A INPUT -p icmpv6 -j DROP
ip6tables -A OUTPUT -p icmpv6 -j DROP ip6tables -A OUTPUT -p icmpv6 -j DROP
ip6tables -A FORWARD -p icmpv6 -j DROP ip6tables -A FORWARD -p icmpv6 -j DROP
#Sync Flood Schutz############################################################################################################################################################################### #Sync Flood Schutz###############################################################################################################################################################################
ip6tables -N syn-flood ip6tables -N syn-flood
ip6tables -N syn-flood_forw ip6tables -N syn-flood_forw
ip6tables -A INPUT -p tcp --syn -j syn-flood ip6tables -A INPUT -p tcp --syn -j syn-flood
ip6tables -A OUTPUT -p tcp --syn -j syn-flood ip6tables -A OUTPUT -p tcp --syn -j syn-flood
#ip6tables -A FORWARD -p tcp --syn -j syn-flood_forw #ip6tables -A FORWARD -p tcp --syn -j syn-flood_forw
#Neue Kette## #Neue Kette##
ip6tables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN ip6tables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
ip6tables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-level 7 --log-prefix "IN_OUT synFld_v6 DROP: "  ip6tables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-level 7 --log-prefix &quot;IN_OUT synFld_v6 DROP: &quot;
ip6tables -A syn-flood -j DROP ip6tables -A syn-flood -j DROP
#ip6tables -A syn-flood_forw -m limit --limit 1/s --limit-burst 100 -j RETURN #ip6tables -A syn-flood_forw -m limit --limit 1/s --limit-burst 100 -j RETURN
#ip6tables -A syn-flood_forw -m limit --limit 1/s --limit-burst 100 -j LOG --log-level 7 --log-prefix "FOR synFld_v6 DROP: "  #ip6tables -A syn-flood_forw -m limit --limit 1/s --limit-burst 100 -j LOG --log-level 7 --log-prefix &quot;FOR synFld_v6 DROP: &quot;
#ip6tables -A syn-flood_forw -j DROP #ip6tables -A syn-flood_forw -j DROP
################################################################################################################################################################################################## ##################################################################################################################################################################################################
#Sicher gehn das neue IP Packete Sync Packete sind################################################################################################################################################################################################## #Sicher gehn das neue IP Packete Sync Packete sind##################################################################################################################################################################################################
ip6tables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix "IN new not Sync_v6 DROP: "  ip6tables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix &quot;IN new not Sync_v6 DROP: &quot;
ip6tables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP ip6tables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
ip6tables -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix "OUT new not Sync_v6 DROP: "  ip6tables -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix &quot;OUT new not Sync_v6 DROP: &quot;
ip6tables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP ip6tables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
ip6tables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix "FOR new not Sync_v6 DROP: "  ip6tables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 7 --log-prefix &quot;FOR new not Sync_v6 DROP: &quot;
ip6tables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP ip6tables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
################################################################################################################################################################################################## ##################################################################################################################################################################################################
#Fragmentationsschutz (Packet mit der Frag ID von 100 bis 200 Droppen ???)################################################################################################################################################################################################## #Fragmentationsschutz (Packet mit der Frag ID von 100 bis 200 Droppen ???)##################################################################################################################################################################################################
ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j LOG --log-prefix "IN FRAGM_v6 DRP: "  ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j LOG --log-prefix &quot;IN FRAGM_v6 DRP: &quot;
ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j DROP ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j DROP
ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j LOG --log-prefix "OUT FRAGM_v6 DRP: "  ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j LOG --log-prefix &quot;OUT FRAGM_v6 DRP: &quot;
ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j DROP ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j DROP
ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j LOG --log-prefix "FOR FRAGM_v6 DRP: "  ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j LOG --log-prefix &quot;FOR FRAGM_v6 DRP: &quot;
ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j DROP ip6tables -A INPUT -m frag --fragid 100:200 --fragfirst -j DROP
################################################################################################################################################################################################## ##################################################################################################################################################################################################
#Kaputte Packete (No trackable) loeschen################################################################################################################################################################################################## #Kaputte Packete (No trackable) loeschen##################################################################################################################################################################################################
ip6tables -A INPUT -p ALL -m state --state INVALID -j LOG --log-prefix "IN INVALID_v6 DRP: "  ip6tables -A INPUT -p ALL -m state --state INVALID -j LOG --log-prefix &quot;IN INVALID_v6 DRP: &quot;
ip6tables -A INPUT -p ALL -m state --state INVALID -j DROP ip6tables -A INPUT -p ALL -m state --state INVALID -j DROP
ip6tables -A OUTPUT -p ALL -m state --state INVALID -j LOG --log-prefix "OUT INVALID_v6 DRP: "  ip6tables -A OUTPUT -p ALL -m state --state INVALID -j LOG --log-prefix &quot;OUT INVALID_v6 DRP: &quot;
ip6tables -A OUTPUT -p ALL -m state --state INVALID -j DROP ip6tables -A OUTPUT -p ALL -m state --state INVALID -j DROP
ip6tables -A FORWARD -p ALL -m state --state INVALID -j LOG --log-prefix "FOR INVALID_v6 DRP: "  ip6tables -A FORWARD -p ALL -m state --state INVALID -j LOG --log-prefix &quot;FOR INVALID_v6 DRP: &quot;
ip6tables -A FORWARD -p ALL -m state --state INVALID -j DROP ip6tables -A FORWARD -p ALL -m state --state INVALID -j DROP
################################################################################################################################################################################################### ###################################################################################################################################################################################################
#Eingehenede Verbindungen an XXX weiterleiten (Kein NAT sondern redirect)## #Eingehenede Verbindungen an XXX weiterleiten (Kein NAT sondern redirect)##
################################################################################################################################################################################ ################################################################################################################################################################################
  Troubleshooting:
  Problem:
  ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64
   SIOCSIFADDR: Permission denied
  ip -6 addr add dev eth0 2001:0db8:0:f101::1/64
   RTNETLINK answers: Permission denied
  L&#246;sung:
  sysctl -a | grep disable_ipv6
  sysctl -w net.ipv6.conf.all.disable_ipv6=0
  </pre></div>

Note: Spaces may be added to comparison text to allow better line wrapping.

Tags:  ,