Narzędzia użytkownika

Narzędzia witryny


Pasek boczny

kn:ipv6

Przykłady używają losowego prefiksu ULA (RFC 4193)

Kontenery LXC do zabawy

zypper in lxc
lxc-create -n alp1 -t alpine -- --release=edge
$EDITOR /var/lib/lxc/alp1/config
  #lxc.network.type=none
  lxc.network.0.type=veth
  lxc.network.0.link=br0
  lxc.network.0.flags=up
lxc-start -n alp1
lxc-attach -n alp1
  apk update
  apk add nano radvd dhcp dhclient dhcpcd tcpdump
lxc-stop -n alp1
$EDITOR /var/lib/lxc/alp1/config
  lxc.network.0.link=br1
cd /var/lib/lxc
ip l add br1 type bridge
ip l set br1 up
cp -a alp1 alp2
$EDITOR alp2/config
  lxc.rootfs = /var/lib/lxc/alp2/rootfs
  lxc.utsname = alp2
lxc-start -n alp1
...

https://software.opensuse.org/ymp/network:utilities/openSUSE_Leap_15.0/ndisc6.ymp

Konfiguracja własnego adresu IPv6

Statyczna

  • ręcznie:
    ip address add fc00:26b1:7920:3696::1/64 dev eth0
  • debianopodobne:
    /etc/network/interfaces
    iface eth0 inet6 static
            address fc00:26b1:7920:3696::1
            netmask 64
  • gentoo (dynamiczne ipv4 + statyczne ipv6):
    /etc/conf.d/net
    config_eth0="dhcp
                 fc00:26b1:7920:3696::1/64"
    dhcpcd_eth0="-4"

SLAAC

sprawdzić wartość parametru kernela accept_ra

  • sysctl -a -r 'accept_ra$'
    • wartość accept_ra=1 oznacza przyjmuj i przetwarzaj RA jeśli forwarding jest wyłączony
    • wartość accept_ra=2 oznacza przyjmuj i przetwarzaj RA niezależnie od forwarding
  • domyślna wartość dla nowo tworzonych interfejsów jest w net.ipv6.conf.default.accept_ra
  • zmiana:
    • na chwilę: sysctl net.ipv6.conf.<ifname>.accept_ra=2
    • na trwałe: /etc/sysctl.conf
    • w debianopochodnych można ustawiać w /etc/network/interfaces:
      iface eth0 inet6 auto
          accept_ra 2

DHCPv6

Konfiguracja rozgłaszania adresów IPv6

radvd

Konfiguracja SLAAC

/etc/radvd.conf
interface eth0
{
        AdvSendAdvert on;
        
        prefix fc00:26b1:7920:3696::/64
        {
        };

        RDNSS 2606:4700:4700::1111
        {
        };
};

Konfiguracja z DHCPv6

/etc/radvd.conf
interface eth0
{
        AdvSendAdvert on;
        AdvManagedFlag on;
        #AdvOtherConfigFlag on;

        prefix fc00:26b1:7920:3696::/64
        {
                AdvAutonomous off;
        };
        
        # DNSy idą z DHCPv6
};

DHCPv6

/etc/dhcp/dhcpd6.conf
# przykładowa opcja
option dhcp6.name-servers 2606:4700:4700::1111, 2001:470:0:149::2;

subnet6 fc00:26b1:7920:3696::/64 {
    # rozdaje cały prefix
    range6 fc00:26b1:7920:3696::/64;
    # przykładowa opcja
    option dhcp6.domain-search "cs.put.poznan.pl";
}

host somehost {
    host-identifier option dhcp6.client-id 00:04:00:00:00:00:00:00:00:00:00:00:44:8a:5b:21:4c:e3;
    fixed-address6 fc00:26b1:7920:3696::2;
}
mkdir /var/db
touch /var/db/dhcpd6.leases
dhcpd -6 -cf /etc/dhcp/dhcpd6.conf eth0

DUID: https://tools.ietf.org/html/rfc8415#section-11
W praktyce najprościej wykonać:

  • [dhcpcd] dhcpcd -6 -d ifname
  • [dhclient] dhclient -6 -v ifname następnie cat /var/db/dhclient6.leases
kn/ipv6.txt · ostatnio zmienione: 2019/03/04 19:43 przez jkonczak