Mamy podsieć:
2a01:4f8:101:3262:: /64
Gateway dla hosta (czyli Hetznerowy router):
2a01:4f8:101:3260::1 /59
Używalne adresy to:
2a01:4f8:101:3262::2 to 2a01:4f8:101:3262:ffff:ffff:ffff:ffff
czyli w pizdu i jeszcze trochę.
IP na hoscie, który będzie GW dla virtualek:
2a01:4f8:101:3262::2
Chyba, że wybierzemy coś innego, np:
2a01:4f8:101:3262:**dead:beef:dead**
2a01:4f8:101:3262: **dead:beef:dead**
Podział IP'ków:
to be done
ale wyjdzie po jakieś 2*2^60 na głowę, a pierwsze 4 bity będą dzielić między nas
od 2a01:4f8:101:3262:0000:0002:0000:000
od 2a01:4f8:101:3262:2000:0002:0000:000
od 2a01:4f8:101:3262:4000:0002:0000:000
od 2a01:4f8:101:3262:6000:0002:0000:000
od 2a01:4f8:101:3262:8000:0002:0000:000
od 2a01:4f8:101:3262:a000:0002:0000:000
Konfiguracja HOST:
A: PERMAMENT (to be done & tested)
1.
# vim /etc/sysconfig/network
NETWORKING_IPV6=yes
2.
vim /etc/sysconfig/network-scripts/ifcfg-xenbr0
Dodajemy wpisy (do tych tyczących ipv4):
IPV6INIT=yes
IPV6ADDR=2a01:4f8:101:3262::2
IPV6_DEFAULTGW=2a01:4f8:101:3260::1
**Uwaga! Mamy na hoście też plik /etc/sysconfig/network-scripts/ifcfg-xenbr0:1 , który definuje IP dla drugiej podsieci IPv4 **
3. Usuwamy blokadę IPv6
rm /etc/modprobe.d/disable-ipv6
4. Dodajemy alias IPv6 (nie wiem, czy konieczne) - TO BE TESTED
vim /etc/modprobe.d/modprobe.conf.dist
wpisujemy
alias net-pf-10 ipv6
5. Włączmy firewall'a dla IPv6 (konfiguracja innym razem):
chkconfig ip6tables on
6. Restart sieci. Po ostatnich doświadczeniach - warto odpalić w lokalnym screenie
Redhat way:
service network restart
lub po bożemu:
/etc/init.d/network restart
7. Wykumać co ustawić w sysctl, a trochę tego jest:
sysctl -a |grep -i ipv6 |grep -v vif |grep -v tap
Póki co przynajmniej trzeba włączyć:
sysctl -a |grep -i ipv6 |grep -v vif |grep -iv tap |grep -i forwa
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.xenbr0.forwarding = 1
net.ipv6.conf.eth0.forwarding = 1
net.ipv6.conf.lo.forwarding = 1
Konfiguracja questa
NOT PERMAMENT WAY
1. Sprwdzamy obsługę IPv6. Może być na stałe w kernelu, może być w modułach, którę mogą być wyłączone, więc sprawdzamy:
modprobe -c | grep net-pf-10
alias net-pf-10 off
Jeśli output j.w. to gdzieś ipv6 jest wyłączone (off), znajdź wykasuj
2. Dodajemy IP:
ip addr add 2a01:4f8:101:3262::2:1/64 dev eth0
dla leniwych (ip jest zajebiste)
ip a a 2a01:4f8:101:3262::2:1/64 dev eth0
NIE ZAPOMNIJ O MASCE /64 - i użyj INNEGO IP ze SWOJEJ puli
3. Sprawdź IP (różne sposoby):
ip addr list
ip a
ip a l dev eth0
ip -6 a
4. Dodajemy trasę aka routing do naszej podsieci via eth0
ip r a 2a01:4f8:101:3262:: /64 dev eth0
5. Dodajemy trasę do gw, którym jest host (nie wiem czy tak ma być, czy to overhead, ale coś mi nie działało, może z powodu ustawień sysctl… TO BE CHECKED)
--ip r a 2a01:4f8:101:3262::1 dev eth0--
6. Dodajemy default gw dla IPv6
ip r add default via 2a01:4f8:101:3262::2
7. Sprawdzamy routing:
ip -r l
8. I pingujemy po kolei
hosta:
ping6 2a01:4f8:101:3262::2
GW hetznera:
ping6 2a01:4f8:101:3260::1
Śwait:
ping6 ipv6.google.com
9. Final test
wget o2-graphics.fr
...
--2010-07-08 12:49:58-- http://o2-graphics.fr/
Translacja o2-graphics.fr... **2001:470:1f12:2ed::66, 89.157.122.66**
Łączenie się z o2-graphics.fr**|2001:470:1f12:2ed::66|:80... połączono.**
...
10. W razie problemów sprawdź firewalla/zmień policy:
ip6tables -L -n
reszta komend po staremu.
UWAGI
1. nie znam się na ipv6
2. za głupoty tu napisane nie odpowiadam
3. coś słyszałem o automatic router and neighbour discovery - mi nie działa…
4. nie zdziwcie się, jak na hoście zobaczynie pełno innych adresów, typu fe80… to są jakieś specjalne adresy autokonfiguracji chyba… TO BE CHECKED/FIXED
USŁUGI
Większość usług działa od razu / po restarcie na ipv6, jeśli nie były zbindowane do konkretnych adresów IP.
1. Postfix trzeba dostroić (przynajmniej w debianie):
/etc/postfix/main.cf:
# You must stop/start Postfix after changing this parameter.
inet_protocols = ipv4 (DEFAULT: enable IPv4 only)
inet_protocols = all (enable IPv4, and IPv6 if supported)
inet_protocols = ipv4, ipv6 (enable both IPv4 and IPv6)
inet_protocols = ipv6 (enable IPv6 only)
Opcjonalnie, jeśli mamy więcej IPv6 adresów na maszynie możemy zbindować do konkretnego:
/etc/postfix/main.cf:
smtp_bind_address6 = 2001:240:587:0:250:56ff:fe89:1
Jeśli mieliśmy wpis mynetworks, to trzeba go uzupełnić. Jeśli nie mieliśmy to postfix sam się domyśli:
mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [fe80::]/10 [2a01:4f8:101:3262:Twoj:adres:IPv6]/64
wszystki adresy ipv6 piszemy w [ ]
Więcej na Postfix IPv6
HELPFULL TOOLS
aptitude install ipv6calc
DOCU of /proc/sys/
proc/sys