2013年5月6日 星期一

DUID



參考資料:Dynamic Host Configuration Protocol for IPv6 (DHCPv6) ,RFC3315

IAID:Identity association identifier
每個介面會有自己的IAID
DUID:DHCP Unique Identifier 

DHCP client和 server 都會有一個DUD來識別,DHCP client 透過DUID,DHCP server 透過

  同一個設備中的不同的interface 的DUID是相同。一台筆電上有wire和wireless的介面,這兩個介面會有相同的DUID。


 


DUID 三種類型
  • Link-layer address plus time ( DUID-LLT )
  • Vendor-assigned unique ID based on Enterprise Number ( DUID-EN )
  • Link-layer address ( DUID-LL )
前面16bits 代表DUID的類型,目前有3種,值為1的代表 DUID-LLT,2代表 DUID-EN,3代表DUID-LL。

DUID-LLT

DUID Based on Link-layer Address Plus Time


type:1 代表 DUID-LLT,2代表 DUID-EN,3代表DUID-LL。
hardware type:ethernet 代表1
time:代表這個DUID產生的時間 ( 從2000年1月1日起到產生這個DUID的秒數 )
link-layer address:



從Windows 7 的 " ipconfig /all "指令也可以看見 DUID 的資訊,因為前面 16 個 bits 的值為1,代表windows 7 的 DUID 類型是  DUID-LLT。
範例 :
透過Wireshark 看見Windows7 DHCP 封包 的DUID
說明:
DUID 為  000100011718f05d000c298e7049
0001 代表 type 為1
0001 代表 hardware type 為 ethernet
1718f05d  代表DUID的產生時間是  2012年 4月 12日 9:46:05
(  1718f05 透過Excel 算出來的結果是 2012/04/12 1:46:05    )

000c298e7049  代表網卡上的 MAC 位址



2013年5月2日 星期四

IPv6 RADVD


IPv6 Router Advertisement Daemon

RADVD是可以發送 IPv6 Router Advertisement (RA)的 Daemon

網頁:http://www.litech.org/radvd/

手動安裝方式:
安裝版本: 1.9.3
系統環境:CentOS 6.4
環境需求:
gcc
libdaemon-devel
flex
byacc
安裝方式:
# ./configure --prefix=/usr/local --sysconfdir=/etc --mandir=/usr/share/man
#make
#make install
執行檔位置:/usr/local/sbin/radvd
設定檔位置:/etc/radvd.conf



yum 方式安裝:
安裝版本:1.6.1
系統環境:CentOS 6.4
安裝方式:

yum install radvd
執行檔位置:/usr/sbin/radvd
設定檔位置:/etc/radvd.conf
設定檔範例: /usr/share/doc/radvd-*/radvd.conf.example

interface eth0
{
       AdvSendAdvert on;
       MinRtrAdvInterval 30;
       MaxRtrAdvInterval 100;
       prefix 2001:db8:1:0::/64
       {
               AdvOnLink on;
               AdvAutonomous on;
               AdvRouterAddr off;
       };
 };

######################
只針對特定的client發送RA 其餘沒有

  interface eth0
       {
               AdvSendAdvert on;
               prefix 2001:db8:0:1::/64
               {
                       AdvOnLink on;
                       AdvAutonomous on;
               };
               clients
               {
                       fe80::21f:16ff:fe06:3aab;
                       fe80::21d:72ff:fe96:aaff;
               };
       };


######################################


 RDNSS ip [ip] [ip] {
            list of rdnss specific options
       };

2013年4月30日 星期二

DHCP IPv6

網頁:https://www.isc.org/software/dhcp/

手動安裝方式:
安裝版本:DHCP 4.2.5-P1
系統環境:CentOS 6.4
環境需求:
yum install gcc
安裝方式:
#./configure
#make
#mkae install
執行檔位置:/usr/local/sbin/dhcpd
設定檔位置:/usr/local/etc/dhcpd.conf 
( 如果同一台機器同時提供IPv6和IPv4的dhcpd服務,執行檔同一支daemon, 但設定檔要分開 )

執行指令:
  • IPv6
dhcpd -6 -cf /etc/dhcpd6.connf
  • IPv4
dhcpd -4 -cf /etc/dhcpd.connf

yum 方式安裝:
安裝版本:DHCP 4.1.1
系統環境:CentOS 6.4
安裝方式:
yum install dhcp
 設定檔位置:
  • IPv4
/etc/dhcp/dhcp.conf
  • IPv6
/etc/dhcp/dhcp6.conf
服務啟動 :
  •  IPv4
service dhcpd start
  • IPv6
service dhcpd6 start
說明:
dhcpd和dhcpd6 的啟動的script 中,透過指令"diff /etc/init.d/dhcpd  /etc/init.d/dhcpd6"可以看到兩者都是透過dhcpd 執行 ,差別在於執行的參數( -4和 -6 )和設定檔的不同。
dhcpd6 的script 中 lease 檔案位於 /var/lib/dhcpd/dhcpd6.lease ,如果要放到/var/db 下 要修正 script內容。

範例 sample位置 :
/usr/share/doc/dhcp*/dhcpd6.conf.sample

default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;

option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";
option dhcp6.info-refresh-time 21600;
dhcpv6-lease-file-name "/usr/local/var/db/dhcpd6.leases";

host myclient {
        host-identifier option
                dhcp6.client-id 00:01:00:01:00:04:93:e0:00:00:00:00:a2:a2;
        fixed-address6 3ffe:501:ffff:100::1234;
        fixed-prefix6 3ffe:501:ffff:101::/64;
        option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:4f4e;
}

host otherclient {
        hardware ethernet 01:00:80:a2:55:67;
        fixed-address6 3ffe:501:ffff:100::4321;
}
subnet6 3ffe:501:ffff:100::/64 {
        range6 3ffe:501:ffff:100::10 3ffe:501:ffff:100::11;
        range6 3ffe:501:ffff:100:: temporary;
        prefix6 3ffe:501:ffff:100:: 3ffe:501:ffff:111:: /64;
}

subnet6 3ffe:501:ffff:101::/64 {
        range6 3ffe:501:ffff:101::10 3ffe:501:ffff:101::11;
        option dhcp6.name-servers 3ffe:501:ffff:101:200:ff:fe00:3f3e;
}

subnet6 3ffe:501:ffff:102::/64 {
        range6 3ffe:501:ffff:102::10 3ffe:501:ffff:102::11;
}

DHCPv6 message
DHCPv6 message

DHCPv6 server log

 dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1
 dhcpd: Copyright 2004-2010 Internet Systems Consortium.
 dhcpd: All rights reserved.
 dhcpd: For info, please visit https://www.isc.org/software/dhcp/
 dhcpd: Wrote 0 deleted host decls to leases file.
 dhcpd: Wrote 0 new dynamic host decls to leases file.
 dhcpd: Wrote 0 leases to leases file.
 dhcpd: Bound to *:547
 dhcpd: Listening on Socket/5/eth0/2001:288:2274:5::/64
 dhcpd: Sending on   Socket/5/eth0/2001:288:2274:5::/64
 dhcpd: Solicit message from fe80::853b:3223:1d42:98b4 port 546, transaction ID 0xA791A600
 dhcpd: Sending Advertise to fe80::853b:3223:1d42:98b4 port 546
 dhcpd: Request message from fe80::853b:3223:1d42:98b4 port 546, transaction ID 0xA791A600
 dhcpd: Sending Reply to fe80::853b:3223:1d42:98b4 port 546

2013年4月22日 星期一

syslog-ng安裝

syslog-ng  網頁:http://www.balabit.com/
詳細參考資料:Administrator Guide
安裝版本:syslog-ng open source edition
系統環境:CentOS 6.4
環境需求:
EventLog library ( eventlog_0.2.12.tar.gz )
tar xvfz eventlog-_0.2.12+20120504+1700.tar.gz
cd eventlog-0.2.12+20120504+1700
./configure
make && make install
gcc , flex , bison , glib,glib2-devel


一 、介紹
syslog-ng是一個彈性和可擴充性的日誌系統 ,可以建立集中化的日誌機制。 syslog-ng 有三個版本Open Source Edition、Premium Edition和硬體式的Store Box。


在Linux 上原有的Syslog 記錄到 秒 的等級,syslog-ng的3.4版本之後 (syslog-ng Open Source Edition)可以記錄到 毫秒(ms)和 微秒(µs)的等級。
二 、安裝
需要套件 glib2-devel
#tar zxvf syslog-ng_3.4.1.tar.gzcd syslog-ng_3.4.1
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#cd syslog-ng-3.4.1
#./configure --enable-ipv6
#make
#make install
三、設定
原有CentOS6.4 的rsyslog 服務要停掉。 
# chkconfig rsyslog off
設定檔位於 /usr/local/etc/syslog-ng.conf,概念上是 client-serever 的架構
server 範例:

@version: 3.4
@include "scl.conf"

source s_local {
        system();
        internal();
};
 
source s_network {
        udp();
        udp6();

};


template my_template {
        template("$DATE.$USEC $MSG\n"); template_escape(no);
};
destination d_local {
        file("/var/log/messages" template(my_template));
};
##
使用時透過範例template 中加入  $MSEC 或 $USEC,讓寫入紀錄的log可以參考到這個template
##
log {
        source(s_local);
        # uncomment this line to open port 514 to receive messages
        #source(s_network);
        destination(d_local);
};

log {
        source(s_network6);
        destination(d_local);
};


說明:
USEC、C_USEC、R_USEC、S_USEC
微秒(microsecond)

C_USEC: when syslog-ng OSE processes the message
R_USEC: syslog-ng OSE has received the message ( syslog-ng 收到syslog的時間 )
S_USEC:the message sent by the original application(  syslog發送的的時間  )
client 範例 ( rsyslog ):
*.*               @[2001:288:2274:5::250]
local6.*      @[2001:288:2274:5::250]

2013年3月28日 星期四

Cacti 安裝

Cacti 是一個可以畫出像MRTG圖形的流量管理工具 ,

Cacti  網頁:http://www.cacti.net
詳細參考資料:The Cacti Manual
安裝版本:0.8.8a
系統環境:CentOS 6.4
環境需求:( 參考Maunal 文件)
yum install httpd
yum install mysql mysql-server mysql-devel
yum install net-snmp
yum install php php-snmp php-mysql

yum install rrdtool net-snmp-utils

檢查php的模組是不是有mysql 、snmp 等 (如果沒有要移除再裝一次)
php -m 

剩下的安裝部分,Manual已很清楚。

備註:
  • cacti  安裝完成後,預設管理帳號、密碼是 admin  admin
  • /etc/php.ini 中 修改 date.timezone =Asia/Taipei
  • crontab 要修改  crontab -u xxx -e 



樣板功能

有graph樣板, data樣板, host樣板



2012年10月16日 星期二

opensips 安裝

opensips  網頁:http://www.opensips.org
詳細參考資料:source code 中的 INSTALL 文件
安裝版本:1.8.1
系統環境:CentOS 6.3
環境需求:(參考INSTALL 文件)
yum install gcc
yum install mysql mysql-server mysql-devel
yum install ncurses-devel


安裝
/make menuconfig