DHCPv6-PD sunucusu tarafından yetki verilen önek temel alınarak radvd, dhcpd6, yönlendirme ve / 64 alt ağı nasıl yapılandırılır?


10

İSS'm IPv4 / IPv6 çift yığın hizmetini yeni başlattı. IPv4 / IPv6 internetini bağlamak için hemen hemen tüm kullanıcılar genellikle ISS tarafından kiralanan bir CPE kullanır. Ancak böyle bir CPE yerine Linux yönlendiricimi kullanmak istiyorum, çünkü yönlendiricimin çok fazla rolü var (çok sayıda iptables kuralı ve 3 Ethernet arabirimi, http ters proxy, http önbellek, memcached, smtp / pop sunucusu ve DNS proxy). IPv4 / IPv6 çift yığın yönlendirici olmasına izin vermek istiyorum.

Yönlendiricim

  • CentOS6.0 i686
  • WAN için eth0
  • LAN için eth1,2
  • CentOS-updates repo'dan "# yum install dhcp" tarafından yüklenen ISC dhcp (sürüm 4.1.1)
  • "# yum install radvd" tarafından CentOS-base repo tarafından yüklenen radvd (sürüm 1.6)
  • [EDIT] ISC dhclient kullanmamın nedeni, yönlendiricimin bazı ISS'ye özgü bilgileri içeren satıcıya özgü bilgi seçeneği elde etmek için isteminde bir DHCPv6 seçenek 16 (Satıcı sınıfı) göndermesi ve ileti istemesi. SIP telefon numarası, bellenim sunucusu adresi). ISC dhclient'te seçenek 16'yı nasıl ayarlayacağımı biliyorum, ancak WIDE-dhcpv6'da bilmiyorum. Ve ISC dhclient "id-assoc" gibi ayarları bulamıyorum.

Amacım

  • / 48 öneki, eth0 üzerinde DHCPv6-PD (DHCPv6 Ön Ek Temsilcisi) istemcisine (dhclient) devredilir.
  • IPv6 varsayılan yolu ISS'ye ayarlanmıştır. ISS'nin DHCPv6 sunucusunun bağlantı yerel adresini varsayılan bir yol olarak değerlendirmem gerekiyor.
  • Her LAN I / F'ye (eth1 / eth2) bir / 64 alt ağ ve bir global adres (temsil edilen önekte yer alır) atanır.
  • eth1 ve eth2'deki radvd, atanan / 64 alt ağına göre RA'yı duyurur.
  • eth1 ve eth2 üzerindeki dhcpd6, ISS'nin DHCPv6 sunucusundan alınan ek ağ bilgilerini (ad sunucuları, etki alanı arama listesi ve yudum sunucuları adresleri) duyurur.

Mevcut yapılandırmam

/ Etc / sysconfig / ağ

NETWORKING=yes
HOSTNAME=xxx.yyy.zzz

# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes

/ Etc / sysconfig / network scripts / ifcfg-eth0

DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none

# Enable DHCPv6-PD client.
DHCPV6C=yes
DHCPV6C_OPTIONS="-P -cf /etc/dhcp/dhclient6.conf"

# Disable make_resolv_conf function in /sbin/dhclient-script.
PEERDNS=no

/etc/dhcp/dhclient6.conf

script "/sbin/dhclient-script";
interface "eth0" {
        send dhcp6.reconf-accept;
        also request dhcp6.vendor-opts, dhcp6.sip-servers-names, dhcp6.sip-servers-addresses, dhcp6.sntp-servers;
}

Sonuç

"# Hizmet ağı yeniden başlatıldıktan" sonra DHCPv6-PD istemcisi başarıyla bitiyor gibi görünüyor.

lease6 {
  interface "eth0";
  ia-pd xx:xx:xx:xx {
    starts 1312464004;
    renew 7200;
    rebind 10800;
    iaprefix 24xx:xxxx:xxxx::/48 {
      starts 1312464004;
      preferred-life 12600;
      max-life 14400;
    }
  }
  option dhcp6.client-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
  option dhcp6.server-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
  option dhcp6.reconf-accept ;
  option dhcp6.sip-servers-addresses 24xx:xxxx:xxxx:xxxx::1;
  option dhcp6.name-servers 24xx:xxxx:xxxx:xxxx::3,24xx:xxxx:xxxx:b::3;
  option dhcp6.domain-search "xxx.jp.", "yyy.jp.";
  option dhcp6.sntp-servers 24xx:xxxx:xxxx:xxxx::a,24xx:xxxx:xxxx:b::b;
}

Soru

DHCPv6-PD istemcisi / 48 öneki başarıyla yetkilendirildi. Ama ondan sonra,

  • Yönlendiricinin yönlendirme tablosunda bir IPv6 varsayılan yolu nasıl ayarlanır?
  • Temsil edilen önek temelinde her bir LAN I / F'ye (eth1 ve eth2) genel bir IPv6 adresi ve / 64 alt ağı nasıl atanır?
  • Her LAN I / F (eth1 ve eth2) üzerinde RA'yı duyurmak için radvd nasıl tetiklenir?
  • ISP'nin DHCPv6 sunucusundan alınan ek ağ bilgilerini (ad sunucuları, etki alanı arama listesi ve yudum sunucuları adresleri) duyurmak için her LAN I / F'de DHCPv6 sunucusunu (dhcpd6) nasıl tetikleyebilirim?

Tahminimce

"$ Man dhclient" ve "$ man dhclient-script" e göre, dhclient-script bu ayarları yapılandırmak için kullanılmış gibi görünüyor ve bazı kancalar sunuyor. Ama şimdi, DHCPv6-PD istemcisi için hiçbir şey yapmıyor.

Evet, IPv6 ağ yapılandırmalarına aşina olmasam da DHCPv6-PD ortamım için uygun bazı komut dosyaları yazmam gerekebilir. Herkes dhclient-script yukarıdaki ayarları bildirin? [EDIT] Pratik dhclient-betiğini bilmek istiyorum.

Ve endişeleniyorum, özel bir dikkat gösterilmelidir. Örneğin, her IPv6 adresi tercih edilen / geçerli bir ömre sahip olduğundan, temsil edilen önek temelli bir LAN arabirimine genel bir IPv6 adresi atadığımda, yalnızca bir IPv6 adresi değil, aynı zamanda yetki verilenlerden türetilmesi gereken ömürleri de atamam gerekiyor önekinin tercih edilen / geçerli ömürleri?

Ayrıca, DHCPv6 yeniden yapılandırması gerçekleştiğinde LAN arabirimlerindeki radvd ve DHCPv6 sunucusunun yeniden yapılandırılması gerekebilir? Hangi kanca kullanılmalıdır?

[EDIT] DHCPv6 yeniden yapılandırması gerçekleştiğinde, hem yeni hem de eski bilgiler nasıl duyurulur? radvd otomatik olarak önceki önek geçersiz mi duyurdu? DHCPv6 sunucusu önceki ad sunucularının otomatik olarak eski olduğunu duyuruyor mu?

Yanıtlar:


4

Sorunuzun cevabını bilmiyorum, ancak DHCP sunucu adresini varsayılan yönlendiriciniz olarak kullanma konusunda sizi uyarmak istiyorum. Bu işe yararsa tesadüfen ... IPv6'da varsayılan yol DHCP tarafından değil RA'lar tarafından iletilir.

İletmeyi, RA'ları kabul etmeyi ve RS'leri göndermeyi etkinleştirmeniz gerekir. Buradaki bir sorun, Centos6'da bulunan çekirdeğin bunu yapmanıza izin vermemesidir. Yönlendirme etkinleştirildiğinde, RA'ları kabul etme ve RS'leri gönderme devre dışı bırakılır. Bununla birlikte ilgili yamaları olan bir CentosPlus çekirdeği olmalıdır. Http://lists.centos.org/pipermail/centos/2011-April/thread.html#109756 adresindeki posta listesi konusuna / mesajına bakın.

İlgili sysctl.conf ayarları şunlardır:

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.eth0.accept_ra_defrtr=1
net.ipv6.conf.eth0.router_solicitations=1

2
Aslında, accept_ra'nın 2 olmasını istersiniz (yönlendirme etkin olsa bile kabul et). Aksi takdirde çekirdek bir yönlendiricide yok sayar.
Kyle Butt

2
  • Ek alt ağları almak için DHCPv6 PD'yi kullanmadan önce, varsayılan (yukarı akış) Internet bağlantınız ne olursa olsun bir IPv6 varsayılan yolu ayarlanmalıdır. Aslında yukarı akışla nasıl bağlandığınızdan bahsetmediniz, bu yüzden orada size yardımcı olamam.
  • ISC yerine WIDE DHCPv6 istemcisini kullanıyorum, bu yüzden özellikle nasıl yapılacağını bilmiyorum, ancak ISC'nin bu WIDE yapılandırma seçeneğine eşdeğer bir şey olmasını bekliyorum:

    id-assoc pd {
        prefix-interface eth0 {
            sla-id 1;
            sla-len 4;
        };
    };
    

    Temel olarak, DHCP istemcisine iç arabirimlere alt ağların nasıl atanacağını anlatırsınız; Yukarıdaki yapılandırma bana (ön ekini devredilmiş 4 bit alıyorum" diyor sla-len 4), ilk kullanılabilir alt ağ (almak sla-id 1) ve atamak eth0( prefix-interface eth0).

  • Radvd'i uygun interfacestanzalarla ayarlayın ( radvd.confman sayfasında çalışmak için iyi örnekler vardır ) ve Just Work olacaktır.
  • Orada sana yardım edemem; test dışında, DHCPv6 hizmetini kullanmıyorum (tüm DHCP bilgilerimi DHCP sunucumdan alıyorum).

Cevabınız için teşekkürler. 1. Yukarı akış nasıl bağlanır, sadece bir FTTH GE-PON'a bir Ethernet kablosu bağlamaktır. Sadece şimdi, DHCPv6 üzerinden varsayılan IPv6 yolunu belirtmenin bir yolu yoktur, DHCPv6 sunucusunun bağlantı yerel adresini varsayılan bir yol olarak düşünmeliyim.
takaomag

2. Bahsetmeme rağmen, ISC dhclient kullanmamın nedeni, yönlendiricimin bazı talepleri içeren satıcıya özel bilgi seçeneği elde etmek için istemi ve talep mesajlarında bir DHCPv6 seçenek 16 (Satıcı sınıfı) göndermesi gerektiğidir. ISS'ye özgü bilgiler (SIP telefon numarası, bellenim sunucusu adresi). ISC dhclient'te seçenek 16'yı nasıl ayarlayacağımı biliyorum, ancak WIDE-dhcpv6'da bilmiyorum. Ve ISC dhclient "id-assoc" gibi ayarları bulamıyorum.
takaomag

2
3,4. DHCPv6 sunucusundaki bilgilere (Önek, vb.) Dayalı radvd.conf ve dhcpd6.conf oluşturmak için bazı kötü komut dosyaları yazabilirim. Ancak DHCPv6 yeniden yapılandırması gerçekleştiğinde, hem yeni hem de eski bilgiler nasıl duyurulur? radvd otomatik olarak önceki önek geçersiz mi duyurdu? DHCPv6 sunucusu önceki ad sunucularının otomatik olarak eski olduğunu duyuruyor mu?
takaomag

Neyse ben pratik dhclient-script bilmek istiyorum.
takaomag

Tüm bu bilgileri bir cevaba yapılan yorumlara eklemeyin; sorunuza ekleyin .
womble

-1

Wombie, radv kurulumu ve yönlendirme için kullanacağım aynı cevabı verdi. Inet6, bir DHCP sunucusuna ihtiyaç duymadan kendi kendini yapılandırmak için tasarlanmıştır.

DHCPv6'yı radvd ve zeroconf tarafından işlenebildiğinden kullanmıyorum. radvd, ad sunucuları sağlamak üzere yapılandırılabilir ve /etc/resolv.conf adresinden sunucuların reklamını yapabilir. Radvd'ün yeni sürümleri de arama listelerinin dağıtılmasını sağlamıştır.

Avahi-daemon'u, ad hizmetlerini ve sunucuları istemcilere dağıtacak şekilde yapılandırdım. İstemcilerin hizmet keşfi yapabilmesi gerekir. Kart üzerinde çift yığınlı bir ağ işlettiğim için çok fazla hizmet keşfi testi yapmadım.


DHCPv6 sunucusu veya radvd kullansam bile, DHCPv6 sunucusundaki bilgilere (Önek, vb.) Dayalı olarak dinamik olarak dhcpd6.conf veya radvd.conf oluşturmak için bazı komut dosyaları yazmam gerekir. Ancak DHCPv6 yeniden yapılandırması gerçekleştiğinde, LAN tarafı ana bilgisayarlarına hem yeni hem de eski bilgiler nasıl bildirilir? Dinamik olarak yalnızca DHCPv6 sunucusundaki yeni bilgilere dayanarak yeni dhcpd6.conf veya radvd.conf oluşturursam, radvd otomatik olarak önceki önekin eski olduğunu duyurur mu? DHCPv6 sunucusu önceki ad sunucularının otomatik olarak eski olduğunu duyuruyor mu?
takaomag

radvd, adreslerini arayüzden otomatik olarak almak için :: / 64 önekini kullanabilir. Yapılandırmayı yeniden yazmanıza gerek yoktur. DNS sunucuları ve arama listesi statik veri olmalıdır. IPv6 otomatik yapılandırması, geçiş adreslerini işlemek için tasarlanmıştır. ISS'nizin geçişi ne kadar iyi desteklediğini bilmiyorum. DHCPv6'ya bakmadım.
BillThor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.