近期接到一個新的任務,要把第三方管理PXE/DHCP/HTTP/DNS的套件Cobbler Setup起來
,起因是美國Team分不清楚Cobbler其實就是Linux原生的PXE

Setup Cobbler的過程,真的蠻肚爛的ㄏㄏ 要來回檢查Cobbler蓋過去的設定檔內容是不是跟我預期的一樣。
Cobbler建DNS檔案有點問題,因為它在正反解檔裡面的網域名稱填入IP,還在看是不是設定不對;暫時先不讓它管理了。

 

回到正題:

設定的方法,請參考傲笑紅塵路、Benjr兩位大大的文章:
https://www.lijyyh.com/2012/05/ipv6.html
https://benjr.tw/94906

 

重新建構新測試網段環境的過程,想到會拿到兩組Global動態IPv6的現象
"
3: ens6f1np1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e4:3d:1a:86:fa:31 brd ff:ff:ff:ff:ff:ff
    inet 192.168.22.217/24 brd 192.168.22.255 scope global dynamic noprefixroute ens6f1np1
       valid_lft 21442sec preferred_lft 21442sec
    inet6 2020:db8:0:1702::b31e/128 scope global dynamic noprefixroute
       valid_lft 14243sec preferred_lft 8843sec
    inet6 2020:db8:0:1702:e63d:1aff:fe86:fa31/64 scope global dynamic noprefixroute
       valid_lft 86398sec preferred_lft 14398sec
    inet6 fe80::e63d:1aff:fe86:fa31/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
"
,重新拜讀兩位大大的文章,思考了可能的原因
,去翻了很久以前在前公司建構測試環境的備份設定檔
,才想起來以前也遇過這個現象。

 

Key Point - 1:
"在 IPv6 的環境下,並不一定需要像是 IPV4 使用 DHCP 來讓電腦取得 IPv4 位址"
"IPv6 取得 IP 的另外一種方式是 RA (Router Advertisement) ,這功能通常是由 Router 來提供"
"如果你的環境沒有Router做RA,就可以透過 Linux 下的 radvd (Router Advertisement Daemon) 服務來做."
 

Key Point - 2: 什麼是 Stateful Configuration 與 Stateless Configuration?
Stateless Configuration | 對應Linux Automatic, addresses only的設定
  當 RA 核發 Prefix ,DNS 之後即不再管理這個位址的使用狀況,所以稱為 stateless.
Stateful Configuration  | 對應Linux Automatic, DHCP only的設定
  與 Stateless 相反的是 stateful configuration,IPv6 位址的配置包括 Prefix, Host ID 以及 DNS 伺服器位址的狀態維護都還需要透過 DHCPv6 來負責.即是 stateful.

意味著,只需要DHCPv6的時候(Stateful Configuration),只要讓Linux扮演RA,把DHCPv6送出去就好。
# vim /etc/radvd.conf
把prefix這段拿掉/mark成註解,
"
interface eth3                #interface of transmit RA 
{
    AdvSendAdvert on;        #start RA:the public function
    MinRtrAdvInterval 30;        #every 30~100 sec, transmit RA
    MaxRtrAdvInterval 100;        #
    AdvManagedFlag on;    # M bit=1
    AdvOtherConfigFlag on;    # O bit=1 

    #prefix 2013:db8:0:f101::/64    #Prefix of transmit # Stateless Configuration
    #{
        #       AdvOnLink on;
    #    AdvAutonomous on;
    #    AdvRouterAddr off;    #off force radvd send (g.3a83) ,instead of interface
    #};

};
"
# systemctl restart radvd.service

重啟完畢,接著到Client端重啟NIC,就會看到剩下Stateful IPv6這組了。
3: ens6f1np1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e4:3d:1a:86:fa:31 brd ff:ff:ff:ff:ff:ff
    inet 192.168.22.217/24 brd 192.168.22.255 scope global dynamic noprefixroute ens6f1np1
       valid_lft 19071sec preferred_lft 19071sec
    inet6 2020:db8:0:1702::b31e/128 scope global dynamic noprefixroute
       valid_lft 11873sec preferred_lft 6473sec
    inet6 fe80::e63d:1aff:fe86:fa31/64 scope link noprefixroute
       valid_lft forever preferred_lft forever


But Linux-client 拿到的Stateful IPv6 Prefix是128,之前在前公司沒遇到這現象
似乎是Switch的問題,再找時間檢查了

arrow
arrow
    創作者介紹
    創作者 吾給力 的頭像
    吾給力

    吾給力的部落格

    吾給力 發表在 痞客邦 留言(0) 人氣()