Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2020-08-23 13:57:47

  kkw - Użytkownik

kkw
Użytkownik
Zarejestrowany: 2020-08-23

Brak ruchu ipv6 z systemu-gościa (kvm)

Cześć,

To mój pierwszy post tak że witajcie :) Debianem "bawię" się od kilkunastu lat, najpierw na serwerze/nasie domowym, a od pewnego czasu na tanich dedykach z Kimsufi.

Mam zatem dedyka w OVH (Kimsufi). Na dedyku (host) nie było skonfigurowanego połączenia IPv6, więc skonfigurowałem je w taki sposób w /etc/network/

Kod:

iface enp1s0 inet6 static
address 2001:41d0:1:xxxx::1
netmask 128
dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
post-up /sbin/ip -6 route add 2001:41d0:1:xxFF:FF:FF:FF:FF dev enp1s0
post-up /sbin/ip -6 route add default via 2001:41d0:1:xxFF:FF:FF:FF:FF dev enp1s0
pre-down /sbin/ip -6 route del default via 2001:41d0:1:xxFF:FF:FF:FF:FF dev enp1s0
pre-down /sbin/ip -6 route del 2001:41d0:1:xxFF:FF:FF:FF:FF dev enp1s0

Na hoście działa połączenie po IPv4 i IPv6 (m.in. dobry wynik na stronie test-ipv6.com).
Ifconfig hosta:

Kod:

enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 91.121.xxx.xx  netmask 255.255.255.0  broadcast 91.121.xxx.255
        inet6 fe80::ec4:7aff:fe72:8582  prefixlen 64  scopeid 0x20<link>
        inet6 2001:41d0:1:xxxx::1  prefixlen 128  scopeid 0x0<global>
        ether 0c:c4:7a:72:85:82  txqueuelen 1000  (Ethernet)
        RX packets 33921760  bytes 29589180978 (27.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 30641810  bytes 29461029864 (27.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 30  memory 0xfe9e0000-fea00000

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 11758579  bytes 7021928574 (6.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11758579  bytes 7021928574 (6.5 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        inet6 fe80::5054:ff:feca:650e  prefixlen 64  scopeid 0x20<link>
        inet6 2001:db8:dead:beef:ff00::  prefixlen 64  scopeid 0x0<global>
        ether 52:54:00:ca:65:0e  txqueuelen 1000  (Ethernet)
        RX packets 311229  bytes 160019888 (152.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 252142  bytes 133032393 (126.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc54:ff:fe55:3791  prefixlen 64  scopeid 0x20<link>
        ether fe:54:00:55:37:91  txqueuelen 1000  (Ethernet)
        RX packets 285123  bytes 153217559 (146.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 324973  bytes 123163984 (117.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vpn0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.200.200.1  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::5445:93ff:fed3:eb2e  prefixlen 64  scopeid 0x20<link>
        ether 56:45:93:d3:eb:2e  txqueuelen 1000  (Ethernet)
        RX packets 10420879  bytes 1324857946 (1.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21238530  bytes 27947975557 (26.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Na hoście zainstalowałem jako system wirtualny kvm Windows Server 2012 R2 (gość). Na gościu działa via NAT połączenie IPv4 (out-of-the-box), natomiast połączenie via NAT IPv6 działa tylko pomiędzy gościem a hostem. "Maksymalnie" z systemu-gościa mogę via NAT pingować zewnętrzne IPv6 hosta. Nie mogę natomiast via NAT np. pingować strony ipv6.google.com i dostaje 0/10 na test-ipv6.com

Gość przyjął adres IPv6: 2001:db8:dead:beef:ff00::174f, zaś bramę: fe80::5054:ff:feca:650e. Konfiguracja sieci default dla gościa wygląda tak:

Kod:

<network>
  <name>default</name>
  <uuid>26202a2f-1b31-4aeb-93f9-a4086dd52e95</uuid>
  <forward dev='enp1s0' mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
    <interface dev='enp1s0'/>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:ca:65:0e'/>
  <domain name='default'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.128' end='192.168.122.254'/>
    </dhcp>
  </ip>
  <ip family='ipv6' address='2001:db8:dead:beef:ff00::' prefix='64'>
    <dhcp>
      <range start='2001:db8:dead:beef:ff00::1000' end='2001:db8:dead:beef:ff00::2000'/>
    </dhcp>
  </ip>
</network>

Te regułki dodałem do sysctl.conf:

Kod:

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.enp1s0.accept_ra=2
net.ipv6.conf.all.accept_redirects=1
net.ipv6.conf.all.accept_source_route=1

Taki jest wynik dla ip -6 route show:

Kod:

::1 dev lo proto kernel metric 256 pref medium
2001:db8:dead:beef::/64 dev virbr0 proto kernel metric 256 pref medium
2001:41d0:1:xxxx::1 dev enp1s0 proto kernel metric 256 pref medium
2001:41d0:1:xxff:ff:ff:ff:ff dev enp1s0 metric 1024 pref medium
2001:41d0:1:xx00::/56 dev enp1s0 proto kernel metric 256 expires 2591952sec pref medium
fe80::/64 dev enp1s0 proto kernel metric 256 pref medium
fe80::/64 dev vpn0 proto kernel metric 256 pref medium
fe80::/64 dev virbr0 proto kernel metric 256 pref medium
fe80::/64 dev vnet0 proto kernel metric 256 pref medium
default via 2001:41d0:1:86ff:ff:ff:ff:ff dev enp1s0 metric 1024 pref medium
default via fe80::381:1 dev enp1s0 proto ra metric 1024 expires 1752sec hoplimit 64 pref medium

Ostatnia linia dodaje się automatycznie co kilka chwil, jeśli ją usunę.
Czy ma ktoś pomysł dlaczego ruch via NAT IPv6 do internetu z systemu-gościa nie działa? Co powinienem jeszcze sprawdzić/zmienić?

Edit: doprecyzowałem, że chodzi mi o ruch via NAT z systemu-gościa poprzez host do internetu.

Ostatnio edytowany przez kkw (2020-08-23 14:45:29)

Offline

 

#2  2020-08-23 14:15:07

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Brak ruchu ipv6 z systemu-gościa (kvm)

Kod:

iface enp1s0 inet6 static
address 2001:41d0:1:xxxx::1
netmask 128

Jeżeli na interfejsie systemu gospodarza masz IPv6 z maską 128 bit, to nie postawisz publicznego adresu IPv6 na systemie gościa na KVM, bo adres Ipv6 ma wlaśnie tylko 128 bit.
Możesz ewentualnie tak samo jak w Ipv4, zrobić NAT na Ipv6 dla Windowsa, albo spróbować wytargać sensowniejnszy prefix dla serwera w pomocy technicznej, czyli załatwić dla serwera prefix najwyżej 64.
Ale w sprawie sensowniejszego prefixu pewnie cię poślą po droższy serwer.

Z oferty OVH ( umiarkowane ceny)  te dedyki mają Ipv6 z maską /64:
https://www.soyoustart.com/pl/serwery-essential/

Ostatnio edytowany przez Jacekalex (2020-08-23 14:28:32)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2020-08-23 14:32:38

  kkw - Użytkownik

kkw
Użytkownik
Zarejestrowany: 2020-08-23

Re: Brak ruchu ipv6 z systemu-gościa (kvm)

W tej ofercie jest nieoficjalnie klasa /64, ale to temat na inną rozmowę.
Chcę aby system-gość miał połączenie z siecią via NAT, tak jak to się dzieje w przypadku IPv4. Nie chcę systemu-gościowi przydzielać odrębnego, zewnętrznego adresu IPv6.

Offline

 

#4  2020-08-23 15:42:46

  kkw - Użytkownik

kkw
Użytkownik
Zarejestrowany: 2020-08-23

Re: Brak ruchu ipv6 z systemu-gościa (kvm)

Rozwiązanie:
Libvirt oczekuje, że chęć skorzystania z NAT dla IPv6 będzie wyraźnie oznaczona w konfiguracji sieci. Zatem konfiguracja sieci domyślnej dla maszyny wirtualnej powinna zawierać:

Kod:

<nat ipv6='yes'>

Po uwzględnieniu tego niuansu mam połączenie ipv6 na gościu.

Ostatnio edytowany przez kkw (2020-08-23 19:55:55)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)