2011年1月28日 星期五

BRAZILFW 綁定mac

在web管理頁面裡的 Simplified Firewall Configuration 設置中,
選擇 Deny access to all internal users 。阻止一切內網用戶上網。

然後選擇「 編輯配置文件 」,加入如下格式的命令
allow_ip_mac 192.168.157.1 00:10:D7:0B:xx:xx
allow_ip_mac 192.168.157.2 00:E0:4C:A0:xx:xx

保存以後重啟路由器

-------------------------------------------
ctrl+c
edit /etc/rc.d/rc.firewall
用管理頁面的『編輯任意文件』可以很方便地修改這個文件。保存配置以後就永遠生效了。

加入函數:
allow_ip_mac() {
  [ $DEBUG = 1 ] && logger $FWDRULE
  COMMAND="iptables -A user-filter -i $IF_LOCAL -s $1 --match mac --mac-source $2 -j ACCEPT"
  $COMMAND
  [ $DEBUG = 1 ] && logger "$COMMAND"
}

保存以後就可以用了allow_ip_mac命令了

幾款router小軟體

網友 柚子 的看法
-----------------------
Untangle:基本上是完整的Linux,因此系統等級不夠的不用考慮。
smoothwall:系統等級不夠的不用考慮。
m0n0wall:執行速度快,但開機速度很慢,且對硬體穩定度要求較高。(FreeBSD的緣故?)
pfsense:執行速度快,但開機速度很慢,且對硬體穩定度要求較高。(FreeBSD的緣故?)
ipcop:還不錯用,但是轉發速度較BrazilFW慢。
routeros:有專屬的Winbox可供使用,因此設定非常方便且快速,但要錢。
minifw:預設選項幾乎是固定的,對於個人(SOHO)來說不適用(由BrazilFW改來的)。
BrazilFW:目前使用,除了設定是使用一般的網頁UI,沒有routeros的Winbox快速,其他沒啥缺點了(目前最新的3.0中的WebAdmin 僅有基本項目,無法於WebAdmin中設定BrazilFW)。

推薦:
1.BrazilFW
2.ipcop
3.pfsense
4.routeros(3.0以上)

BrazilFW更新L7定義檔

BrazilFW更新L7定義檔
首先以Pitty連線BrazilFW
Ctrl+C 跳至Command命令下
目錄是在虛擬磁碟上所以把/boot掛上來
直接下"mt"
就可以將/boot掛到 /mnt底下
mt
cd ..
cd mnt
mkdir l7
 wget http://downloads.sourceforge.net/project/l7-filter/Protocol%20definitions/2009-05-28/l7-protocols-2009-05-28.tar.gz
tar -zxvf l7-protocols-2009-05-28.tar.gz
cd l7-protocols-2009-05-28
cd protocols
移除舊的定義檔
rm /etc/l7-protocols/*.pat
檢查/etc/l7-protocols 資料夾,輸入已下指令後裡面因該是空空的
cd /
cd /etc/l7-protocols/
ls
cp /mnt/l7-protocols-2009-05-28/protocols/*.pat /etc/l7-protocols/
cd /etc/l7-protocols
ls 檢查有無檔案
backup
reboot

CF轉IDE

4G的cf卡+cf轉IDE接頭,安裝BrazilFW,結果出現:
error waite for DMA。
每次都要等很久才能進入到出現root的那個界面。

編輯syslinux.cfg,在append的那行的後面
加上ide=nodma
保存,備份,然後重啟

iptables

iptables -L 查看目前的規則
設定簡易的防火牆會用到filter這個table
設定NAT會用到nat這個table
下iptables指令,沒有特別指定table時,會使用filter這個table。

特別要注意的是,iptable的rule具有優先順序。
一旦遇到符合的規則,將不會再往下比對。

以下是相當簡單的範例,存成檔案並設定成可執行。之後就不用一次一次打了。
將該檔案的完整路徑放到 /etc/rc.local 這個檔案中,使得開機之後可以自動執行。
作用是讓內部網路通行。除了部份允許的封包之外,阻擋外部進來的封包。

#!/bin/sh
##### iptables.rule #####
EIF="eth0" # 對外的網路介面
IIF="eth1" # 對內的網路介面
INNET="172.16.0.0/24" # 內部子網域

# forwarding
# 讓內部網路的封包可以轉送到外部
echo "1" > /proc/sys/net/ipv4/ip_forward

# flush all rules
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# 定義 policy
# Policy指的是當進來的封包不屬於rule中的任何一條時,所預設的動作。
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# localhost
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# 讓主機主動建立的連線可以進來
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# 設定主機上提供的服務可讓外部網路存取
iptables -A INPUT -i $EIF -p tcp --dport 22 -j ACCEPT # ssh
iptables -A INPUT -i $EIF -p udp --dport 22 -j ACCEPT
iptables -A INPUT -i $EIF -p tcp --dport 80 -j ACCEPT # http
# ... 其餘省略

# NAT
iptables -t nat -A POSTROUTING -o $EIF -s $INNET -j MASQUERADE

參考資料:
netfilter - iptables
鳥哥的Linux私房菜 - Linux 防火牆與NAT主機

Dhcp

apt-get install dhcp3-server

編輯 /etc/default/dhcp3-server
INTERFACES="eth1" #要發DHCP的網路卡介面,用空白分隔

編輯 /etc/dhcp3/dhcpd.conf
option domain-name "ljhuang"; # 設定 domain-name
option domain-name-servers 168.95.1.1; # 設定DNS
option routers 172.16.0.254; # DHCP client的預設 gateway
option broadcast-address 172.16.0.255;
default-lease-time 3600;
max-lease-time 72000;

# 基本設定,給予224-239這些ip給clients
subnet 172.16.0.0 netmask 255.255.255.0 {
range dynamic-bootp 172.16.0.224 172.16.0.239;
}

# 固定特定 MAC address為某ip。因為我沒有使用所以只列出大概
#host pc01 {
# hardware ethernet <網卡MAC address>;
# fixed-address ;
#}

啟動或關閉等作用的script:
/etc/init.d/dhcp3-server start|stop|restart|status

2011年1月27日 星期四

brazilfw3

http://www.brazilfw.com.br/forum/

root root
install

內部網卡
edit /etc/brazilfw/logical/local

外部網卡
edit /etc/brazilfw/logical/internet

撥接pppoe connection:
LINK_ALIAS="internet"
LINK_CONNECTION="internet"
LINK_TYPE="pppoe"
LINK_USERNAME="xxxxxxxxxx@xxxxxxx.com.br"  
LINK_PASSWORD="xxxxxxxxxxx"
# LINK_WEIGHT is the weight for LoadBalance
LINK_WEIGHT="1"


edit /etc/brazilfw/logical/internet
LINK_USERNAME="Place your DSL user"
LINK_PASSWORD="Place your DSL password"
Save and exit.

設定後
Ifconfig eth0 up
Ifconfig eth1 up

Backup
/etc/rc.d/rc.inet

找一台電腦 設定ip (注意dns要指向blizilFW3這台192.168.0.1
網路登入

DHCP Server (Scope)要設定好
否則每一台client端電腦都要設DNS

Dns 設定 168.95.1.1   和  192.168.1.1(或192.168.0.1)

3.x版
1.硬體需求
To run BFW 3.0 is recommended at least a Pentium 233 MHz with 128 MB of RAM, 600 MB HD, but we recommend at least a "Pentium III 500 MHZ" with 256 MB of RAM.
2.往後版本更新

After being installed, when a new version is released, you just have to download the new .iso image, copy the files brazilfw.gz & version.inf in the /mnt folder and reboot the server. Upon completing this procedure, your server should be updated.

OR
Update
Starting with version 3.0.197 ==> update ==> For webadmin


    3.passwd更改密碼

    4.預設port 8181




  • 22.....................SSH access















  • 53.....................DNS access















  • 3128..................Squid access















  • 8080..................Dansguardian access















  • 8181..................Webadmin access












  • -------------------
    完整介紹  澎湖人 自由軟體
    http://b2d.phc.edu.tw/modules/tad_book3/page.php?tbdsn=2

    2011年1月26日 星期三

    RouterOS

    很棒的文章
    http://linuxxd.blogspot.com/2010/12/routeros.html

    coyote linux 北美小銀狼

    http://www.coyotelinux.com/

    免費軟體路由

    Coyote Linux 3.00.47 Install ISO

    Nat server2

    要使用 ubuntu 當 ip 分享器,要設定4個東西, 1.防火牆. 2.設固定IP. 3.撥號連線. 4.dhcp 5.NAT

      以下內容,紅字部份皆為指令或是您需要修改的內容,藍字部份則為設定檔內容。

    1.防火牆


    要連上 Internet 之前要先設好防火牆

    gedit ~/backup/iptables.sh
    ===================================
    #!/bin/sh
    #我的防火牆設定
    iptables -P INPUT DROP
    #iptables -A INPUT -i ! lo -s 127.0.0.1/8 -j DROP
    #封包若不是從 lo 這張網卡進入,但來源是 127.0.0.1/8 的ip,則丟棄此封包
    #iptables -A OUPUT -i ! lo -d 127.0.0.1/8 -j DROP
    #封包若不是輸出至 lo 這張網卡,但目地是 127.0.0.1/8 的ip,則丟棄此封包
    #以上2行是避免入侵者假造 127.0.0.1/8 網段的封包以嘗試突破防火牆
    iptables -A INPUT -i lo -j ACCEPT
    # 127.0.0.1 本地端回應全接受
    iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    #針對 eth0 這張網卡,設定我主動發出去的回應都予放行
    iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    #針對 ppp0 (撥號連線)這張網卡,設定我主動發出去的回應都予放行
    iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT
    # 192.168.0.1~255 這個網段全放行
    #iptables -A INPUT -i ppp0 -p tcp --dport 80:84 -j ACCEPT
    #↑此為設定80prot到84port開放
    #iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
    #↑此為設定 ssh port 打洞
    iptables -A INPUT -i ppp0 -p tcp --dport 5500 -j ACCEPT
    # 5500 for vnc
    #iptables -A INPUT -i ppp0 -p tcp --dport 38 -j ACCEPT
    #iptables -A INPUT -i ppp0 -p tcp --dport 3100:3300 -j ACCEPT
    # ↑此為設定ftp:38 和被動式連線的port位範圍
    #here is for NAT
    iptables -t nat -P PREROUTING  ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -t nat -P OUTPUT      ACCEPT
    echo "1" > /proc/sys/net/ipv4/ip_forward
    #將ip_forward的值由0改為1,表示啟動封包轉送的功能,讓你的 Linux 具有 router 的能力
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
    #來自192.168.0.0/24 這網段的封包全轉到 ppp0 這張網卡去
    # ↓隱形掃瞄攻擊防範
    iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
    iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
    iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
    iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
    iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
    iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
    iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
    iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j DROP
    iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
    iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j DROP
    #↓設定開機自動撥號連線
    pon dsl-provider
    ===================================
    chmod 755 ~/backup/iptables.sh
    設定開機啟動防火牆,請下指令
    sudo ln -s /home/user/backup/iptables.sh /etc/init.d/iptables.sh
    註意: user 請改成你自己的帳號名
    sudo update-rc.d iptables.sh defaults 50

    2.設固定IP

    sudo gedit /etc/network/interfaces
    ============================
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static

    address 192.168.0.1
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    =============================


    3.撥號連線

    sudo pppoeconf
    接著會跳出中文的設定畫面,大約按兩三個 enter 之後,它就會問你撥號連線的帳密
    輸入完帳密之後,其它的問題,都是按enter即可,但要慢慢的按enter,但有個問題要註意
    因為有一個問題是問你要不要設開機自動連線,註意:請不要設開機自動連線
    因為讓它開機自動連線會有些問題, DNS 會無法正常解晰
    我們已經有在 iptables.sh 那兒設開機自動連線了,所以這兒就不需要了.

    設完之後,重開機之後做以下檢查:
    ifconfig
    看固定IP有沒有設成功
    sudo iptables -L -n
    看防火牆有沒有設成功,成功的話是會看到一堆 0.0.0.0/0 的數字
    ping yahoo.com
    看能不能正常連上網路

    待以上都正常之後,我們才接著往下走

    4.dhcp

    這個就是分配IP的功能

    sudo apt-get install dhcp3-server
    sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.bak
    sudo gedit /etc/dhcp3/dhcpd.conf

    找到以下的內容,將其清掉後,

    ========= ubuntu 的 /etc/dhcp3/dhcpd.conf =================
    option domain-name "example.org";
    option domain-name-servers ns1.example.org, ns2.example.org;
    default-lease-time 600;
    max-lease-time 7200;
    =============清掉以上內容========================

    直接貼上以下藍字的內容。有問題可自己恢復dhcpd.conf.bak 檔
    ==============dhcpd.conf內容======================
    subnet 192.168.0.0 netmask 255.255.255.0 {
         range 192.168.0.3 192.168.0.100;
         option routers 192.168.0.1;
         option subnet-mask 255.255.255.0;
         option broadcast-address 192.168.0.255;
         option domain-name-servers 168.95.1.1, 139.175.10.20;
         option domain-name "vic";
         default-lease-time 604800;
         max-lease-time 259200;
                                                 }
    # 第一行 定義了此網段和遮罩範圍
    # 第二行 range 為此網段IP發配的範圍
    # 第三行 option routers 應為NAT主機的IP
    # 第四行 遮罩重複設了,故少此行應也沒關係
    # 第五行 broadcast-address 應設為同網段的最後一個IP
    # 第六行 可設定多部 DNS 主機,不過必須要以逗號『 , 』分隔開才行。
    # 第七行 域名,沒有的話就隨便設也沒關係
    # 第八行 default-lease-time 604800; 單位為秒,此為7天
    # 第九行 max-lease-time 259200;最大租用期限,此為30天
    # 以上是 DNS 的 IP 設定,這個設定值會修改用戶端的 /etc/resolv.conf 檔案內容!

    #底下開始是靜態IP的設定,s1可隨便填,第二行為MAC位址,第三行為固定IP
    #host s1 {
    #          hardware ethernet    xx:xx:01:41:xx:xx;
    #          fixed-address        192.168.0.100;
    #                                                 }
    ==============dhcpd.conf內容======================

    啟動、停止指令
    sudo /etc/init.d/dhcp3-server restart

    ※設定dhcp 所監聽的網卡
    若你不只一張網卡,則你需要設定由哪一張網卡來分配IP
    sudo gedit /etc/dhcp3/dhcpd.conf
    INTERFACES=" "
    在兩個"中間填入你網卡代號

    經以上設定,別台電腦就可以透過你這台電腦取得IP了,但它們還不能上網,還有一個步驟

    5.NAT

    經此設定,別台電腦才能透過它上網

    gedit ~/backup/iptables.sh
    ==================================================================
    iptables -t nat -P PREROUTING  ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -t nat -P OUTPUT      ACCEPT
    echo "1" > /proc/sys/net/ipv4/ip_forward
    #將ip_forward的值由0改為1,表示啟動封包轉送的功能,讓你的 Linux 具有 router 的能力
    iptables -t nat -A POSTROUTING -s
    192.168.0.0/24 -o ppp0 -j MASQUERADE
    #來自
    192.168.0.0/24 這網段的封包全轉到 ppp0 這張網卡去
    ==================================================================
    需註意或更改的地方只有紅字的部份,若你的網段不是 192.168.0.0
    或你的對外連網的網卡不是 ppp0 這張網卡,請調整參數

    這樣設好之後,重開機,試試別台電腦能不能從你這台電腦取得IP並上網.

    不能上網?

    在 ubuntu9.04 按以上的設定重開機之後,可能會造成網頁無法打開的現像。
    經查是 DNS server 解析的問題,  /etc/resolv.conf 此檔的內容並未正確的設定 DNS server,造成所有域名解析失敗。
    解法也很簡單,只要在此檔填入正確的 DNS server 即可。
    例如:
    nameserver 168.95.192.1
    nameserver 168.95.1.1

    但是麻煩來了,在 ubuntu/debian 系列的版本裡, /etc/resolv.conf 又不能讓你手動編輯,重開機後會自動的覆蓋過去,很是困擾。

    解法有二:

    一、較暴力的解法:
    設定 /etc/resolv.conf 無法寫入
    指令
    sudo chmod a-w /etc/resolv.conf

    二、dhcp出問題:
    應該是 dhcp 的 bug

    sudo vim /etc/dhcp3/dhclient.conf

    更改底下這兩行

    supersede domain-name "mydomain.com"
    prepend domain-name-server xxx.xxx.xxx.1, xxx.xxx.xxx.2

    找到相對的段落,將藍字的部份改為正確的 DNS server

    prepend domain-name-server 168.95.1.1, 168.95.192.1


    --------------
    文章來源 http://dominic16y.world.edoors.com/CTauuTRGbHgs

    Nat server

    1.先用Ubuntu Linux光碟開機,安裝boot:server最小化安裝。 安裝過程設定static ip和DNS,詳細情形請參照ubuntu官網。
    我的例子把NAT Server IP設為:192.168.1.40
    server config: IP :192.168.1.40
    NETMASK:255.255.255.0
    DNS :168.95.1.1
    2.開機之後設定pppoeconf,然後撥接上網。
    3.打下列這兩行,記得要有root權限
    sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    sudo echo “1″ > /proc/sys/net/ipv4/ip_forward
    4.這時候只要把設定client gateway和DNS就能上網了。
    client config:
    IP :192.168.1.56
    NETMASK:255.255.255.0
    GATEWAY:192.168.1.40
    DNS :168.95.1.1
    5.如何讓NAT主機在開機就執行?
    建立檔案/etc/init.d/NAT nano /etc/init.d/NAT 內容為:
    ==================內容分隔線=========================
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    echo “1″ > /proc/sys/net/ipv4/ip_forward
    ==================內容分隔線=========================
    存檔後
    sudo chmod +x NAT ln -s /etc/init.d/NAT /etc/rcS.d/S77NAT
    這樣就可以在run-level開機完成之後執行NAT主機指令
    進階應用:
    iptables -t nat -A PREROUTING -p tcp -i ppp0 –dport 21 -j DNAT –to 192.168.1.56:21
    有需要可以把他加到 /etc/init.d/NAT裡面,功用是將來自internet的port 21服務 轉向到192.168.1.56:21
    如果你的騾子是low id,而port是4662,則指令如下:
    iptables -t nat -A PREROUTING -p tcp -i ppp0 –dport 4662 -j DNAT –to 192.168.1.56:4662


    --------------------------

    Ubuntu 吃的記憶體

    Ubuntu 10.10及各分支(皆是10.10版本)開機後所佔記憶體的比較:
    Ubuntu:132MB
    Kubuntu:293MB   彰化縣acfs
    Lubuntu:106MB
    Xubuntu:120MB
    -----------------------------------

    2011年1月24日 星期一

    vsftpd設定

    相關檔案或目錄




    /etc/vsftpd.conf  //vsftpd的設定檔
    /etc/pam.d/vsftpd   //PAM模組設定檔,身份認證之用
    /etc/vsftpd.ftpusers    //pam模組用來指定某user無法登入的設定檔
    /etc/vsftpd.user_list    //依vsftpd.conf內的userlist_enable, userlist_deny參數設定而有不同功能
    /etc/vsftpd.chroot_list   //將某帳號chroot 在他們的家目錄下,和vsftpd.conf內的chroot_list_enable, chroot_list_file參數相關
    /usr/sbin/vsftpd      //主要執行檔
    /var/ftp/     //匿名使用者登入的根目錄

    常用功能設定做法


    不讓某帳號離開家目錄

    vi /etc/vsftpd.conf
    修改vsftpd.conf  只允許某些人登錄ftp
    chroot_list_enable=yes
    chroot_list_file=/etc/vsftpd.chroot_list  //列在裡面的使用者可登錄,無法離開家目錄

    vi /etc/vsftpd.chroot_list //列入允許帳號 
    stu1
    stu2

    /etc/init.d/vsftpd restart



    預設讓所有帳號不能離開家目錄,只有特定的帳號才行
    chroot_local_user=yes
    chroot_list_enable=yes //啟動chroot_list_file檔案的功能
    chroot_list_file=/etc/vsftpd.chroot_list  //列在裡面的使用者,可離開家目錄

    vsftpd.conf
    #表示預設不啟動
    基本設定
    #local_enable=yes //本地帳號可登入
    #write_enable=yes //可寫入,上傳,修改,但匿名者除外
    #idle_session_timeout=600 //逾期時間為600秒
    #data_connection_timeout=120 //資料傳輸的timeout為2分鐘
    以下需自行加入
    listen=no //no為透過xintd執行,yes為獨立執行
    download_enable=yes //是否可以下載伺服器檔案
    dirlist_enable=yes  //是否能用ls指令列出所有目錄中的檔案
    check_shell=yes  //是否檢查登入帳號的shell是否為合法
    one_process_mode=no //專門讓2.4版kernel使用
    use_sendfile=yes //對大量讀寫動作會有非常好的效能
    tcp_wrappers=no //是否要支援此功能,但需在編譯時做設定
    匿名登入設定
    anonymous_enable=yes //接受匿名登入
    #anon_upload_enable=yes //讓匿名帳號可上傳,但需指定一可寫入目錄
    #anon_mkdir_write_enable=yes //讓匿名帳號可建立目錄
    #chown_uploads=yes  //將匿名登入者上傳的檔案,設定為chown_username
    #chown_username=whoever //指定whoever帳號權限為匿名上傳的權限
    以下需自行加入
    #anon_otherwrite_enable=no  //讓匿名者可以修改檔名,目錄
    #anon_world_readable_only=yes   //讓匿名者只可以讀
    #no_anon_password=no  //直進進入不需密碼#anon_root=somedir  //讓匿名者登入時自動切換到somedir目錄
    #anon_max_rate=30000  //讓匿名者只使用30kb/s的速度
    #anon_umask=077 //讓匿名者上傳的檔案權限變成300

    ps,提供anonymous帳號前需:
    1,在linux上建立名為ftp帳號
    2,給予一家目錄,並設權限為755,擁有者為root
    資料傳輸
    connect_from_port_20=yes //要求資料傳輸都採用標準的port20以下需自行加入
    pasv_min_port=5000  //要求被動連線連生的port範圍pasv_max_port=5500  //同上
    max_per_ip=0  //listen=on時,限制單獨ip可有幾條連線,0表無限制max_per_client=0  //listen=on時,限制同一時間可以有幾條連線,0為無限制
    max_clients=10 //最多同時10人連進ftp
    local_max_rate=0 //限制使用者頻寬,單位為bytes/second,0為無限制anon_max_rate=0 //限制匿名者頻寬,其餘同上

    虛擬帳號設定,需搭配pam認證

    以下需自行加入
    guest_username=ftp  //使用虛擬帳號對應到的使用者名稱guest_enable=no
    guest_username=/home/virtual/$user
    user_sub_token=$user
    virtual_use_local_privs=no  //限定虛擬帳號是否使用linux特定帳號權限
    記錄檔設定
    xferlog_enable=yes //啟用記錄檔記錄所有上載與下載#xferlog_file=/var/log/xferlog //網路上通用記錄格式的記錄檔儲存位置#xferlog_std_format=yes //使用標準記錄格式以下需自行加入
    vsftpd_log_file=/var/log/vsftpd.log //vsftpd本身記錄,用vsftpdlog格式
    dual_log_enable  //同時記錄vsftpd.log及xferlog
    syslog_enable  //不使用這兩種格式記錄,而是送到syslog,會記錄登入者與其任何動作
    安全設定
    local_umask=022  //使用者將檔案上傳的權限都設成755,預設為700chroot_local_user=no  //是否讓系統上所有帳號都進行chroot,預設為no
    #chroot_list_enable=no //是否啟動chroot_list_file檔案的功能,預設為no#chroot_list_file=/etc/vsftpd.chroot_list  //列在裡面的使用者,無法離開家目錄
    userlist_enable=yes  //是否啟動vsftpd的扺擋機制,預設為no
    userlist_deny=yes  //預設yes表示userlist_file內user不可用ftp,設no則只有檔案內user才可用ftp,(需啟用userlist_enable此參數才作用)
    userlist_file=/etc/vstpd.user_list  //userlist_deny的值是yes或no會影響該檔案內的user是否可用ftp#deny_email_enable=yes //拒絕使用banned_email_file指定檔案中,以email為密碼的匿名登入
    #banned_email_file=/etc/vsftpd.banned_emails
    以下需自行加入
    anon_umask=077 //匿名登入上傳檔時的權限hide_file={*.doc,*.pass}  //隱藏.doc和.pass的檔案
    deny_file={*.doc}  //拒絕存取.doc的檔案force_dot_file=no  //強制讓開頭的檔案顯示
    訊息顯示
    dirmessage_enable=yes //啟動個別目錄的個別化訊息功能
    #ftpd_banner=string //設定使用者登入的歡迎訊息以下需自行加入
    banner_file=file_name //指定file_name的內容做為登入的歡迎訊息
    message_file=.message //指定個別目錄的訊息檔案為.message
    其他參數
    #nopriv_user=ftpsecure //指定vsftp以較不具權限帳號執行
    #async_abor_enable=yes //啟動abor指令支援
    #ascii_upload_enable=yes //啟動ascii模式的上傳#ascii_download_enable=yes //啟動ascii模式的下載#ls_recurse_enable=yes //可用-R列出目錄下所有檔案名稱,預設為no

    文章來源
    http://blog.jsdan.com/1979

    ubuntu設定vsftp

    文章來源
    http://blog.udn.com/nigerchen/2261345

    sudo apt-get install vsftpd

    檢查是否安裝成功

    netstat -tul | grep ftp

    會有一個LISTEN,表示已運行待命中。
    先取消匿名登入

    如何設定vsftp權限

    sudo vim /etc/vsftpd.conf
    #不接受匿名用戶
    anonymous_enable=No

    #接受本地用戶
    local_enable=YES

    #可以上傳(全局控制).若想要匿名用戶也可上傳則需要設置anon_upload_enable=YES,若想要匿名用戶可以建立目錄則需要anon_mkdir_write_enable=YES.這裡禁止匿名用戶上傳,所以不設置這兩項.
    write_enable=YES

    #本地用戶上傳文件的umask
    local_umask=022

    #使用上傳/下載日誌,日誌文件默認為/var/log/vsftpd.log,可以通過xferlog_file選項修改
    xferlog_enable=YES

    #日誌使用標準xferlog格式
    xferlog_std_format=YES


    #本地用戶login後所在目錄,若沒有設置此項,則本地用戶login後將在他的home目錄(/etc/passwd的第六個欄位)中.匿名用戶的對應選項是anon_root<
    local_root=/var/ftp

    #設置為YES則下面的控制有效
    chroot_list_enable=YES

    #若為NO,則記錄在chroot_list_file選項所指定的文件(默認是/etc/vsftpd.chroot_list)中的用戶將被chroot在登錄後所在目錄中,無法離開.如果為YES,則所記錄的用戶將不被chroot.這裡選擇YES.(管理員使用居多)
    chroot_local_user=NO

    #若設置為YES則記錄在userlist_file選項指定文件(默認是/etc/vsftpd.user_list)中的用戶將無法login,並且將檢察下面的userlist_deny選項
    userlist_enable=YES

    #若為NO,則僅接受記錄在userlist_file選項指定文件(默認是/etc/vsftpd.user_list)中的用戶的login請求.若為YES則不接受這些用戶的請求.
    userlist_deny=NO

    #注意!!!vsftpd還要檢查/etc/vsftpd.ftpusers文件,記錄在這個文件中的用戶將無法login!!

    #伺服器以standalong模式運行,這樣可以進行下面的控制
    listen=YES



    都改好了嗎?記得要重新啟動vsftp,才會生效

    sudo /etc/init.d/vsftpd restart

    ------
    補充:
    新增一個帳號是test管理web server

    那我們要怎麼限制這個帳號要控管哪個資料夾呢?

    chroot_local_user=NO,而且在 /etc/vsftpd.chroot_list
    也輸入了test這個帳號,那這個帳號將被限定在/home/test/,登入ftp後,將會無法回上一層,你的/home/test/被限定為根目錄,


    但是我的web server資料夾不是test,那怎麼做??

    我們要修改帳號的初始路徑

    sudo vim /etc/passwd

    我們會看到下面的訊息(假設帳號為test)
    test : x : 1001 : 1001 : test : /home/test : /bin/bash
    ^^^       ^^^    ^^^     ^^    ^^^^^^^
    帳號       帳號id    群組id  群組名  家目錄位置

    我們的目錄已改變在 /home/www/,那這個test帳號要管理web server 的資料夾,則可以把 /home/test/ 改成 /home/www/

    家目錄的位置可以這樣修改,但是其餘的參數請勿在此修改,若導致帳號無法處理,我可無法負責。

    我們可以看是否有修改成功,可以下這個指令

    sudo grep test /etc/passwd

    若出現
    test : x : 1001 : 1001 : test : /home/www : /bin/bash

    那就是修改正確,那就可以去你的ftp上面看是不是可以看到www裡的內容

    vsftpd結合mysql管理ftp使用者

    文章來源
    http://walile.info/blog/?p=107

    模組請安裝pam_mysql.so
    設定前說明:
    其實這要綁定vsftpd是利用unix帳號做登入帳號管理,所以想利用mysql做管理的話(一般叫做建立vsftpd虛擬使用者),必需要透過linux中做認證管理的PAM(Pluggable Authentication Modules)做處理,這樣才能將vsftp+mysql+unix帳號綁定管理。
    —————————————————————-開始了……
    STEP1. 先下載vsftpd以及mysql先安裝好….(unbuntu 不用說吧?apt-get install 套件名稱)
    STEP2. 設定/etc/vsftpd.conf 檔,將設定檔加上以下二個個設定:
    guest_enable=YES
    guest_name=使用者名稱,本例使用名稱為virtual (這個使用都必需是在unix account中建立的,之後要提供給使用者使用的)
    STEP3. 設定mysql:
    mysql中,先在mysql資料庫的user這個table中,建立一個專門讓pam認證使用登入的使用者,在本例中使用的名稱叫virtual,並且只能做select的動作,並且用localhost登入。
    接下來,建立一個db叫做vsftpd,裡面建立了一個table叫做users,這個是要用來管理虛擬使用者的table。其中的table我建立了username和passwd二個欄位(注意!如果有使用加密,像mysql的password加密欄位,其password欄位請開超過60,否則會認證失敗)。記得要先在這個table中先建立一個使用者,等一下用來測試用。(ex. user,密碼暫設為pass)
    STEP4. 開始來設定pam了….
    /etc/pam.d/common-auth
    這個檔案要加入以下這個
    auth sufficient pam_mysql.so user=virtual passwd=pass host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=passwd crypt=2
    /etc/pam.d/common-account
    這個檔案要加入的
    account sufficient pam_mysql.so user=virtual passwd=pass host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=passwd crypt=2
    其中,在pam_mysql.so後面出現的user=virtual和passwd=pass是指在mysql中mysql資料庫user這個table中,剛剛有設定可以登入mysql的使用者帳號及密碼。另外,crypt=2代表密碼是用mysql password hash做為加密。(1為unix DES加密、2為mysql password hash加密、3為MD5加密、4為SHA)若要使用SHA加密,其pam_mysql.so的版本需要0.7以上版本才有支援(但是目前都為RC版本)
    接下來,重啟服務:
    /etc/init.d/vsftpd restart
    這樣就完成了!
    接下來,進一步想要讓虛擬帳號移到自己的資料夾中,只需要做接下來的動作:
    在/etc/中建立一個資料夾為vsftpd_user_config,然後在/etc/vsftpd.conf中,加入二行:
    user_config_dir=/etc/vsftpd_user_config
    user_sub_token=$USER
    然後,在vsftpd_user_config這個資料夾中,建立以虛擬使用者為名稱的檔案。ex. user。然後檔案內只需要加一行來指定登入後要移至的位置:
    local_root=/home/user
    再重啟服務就完成了!

    使用者啟動php

     vi php5.conf

    <IfModule mod_php5.c>
        <FilesMatch "\.ph(p3?|tml)$">
            SetHandler application/x-httpd-php
        </FilesMatch>
        <FilesMatch "\.phps$">
            SetHandler application/x-httpd-php-source
        </FilesMatch>
        # To re-enable php in user directories comment the following lines
        # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
        # prevents .htaccess files from disabling it.
      
      #註解掉
     #   <IfModule mod_userdir.c>
     #       <Directory /home/*/public_html>
     #           php_admin_value engine Off
     #       </Directory>
     #   </IfModule>
       
       
       
       
    </IfModule>
                                          
    /etc/init.d/apache2 restart

    加速php網頁

    加速php網頁
    資料來源 紀老師
    http://163.23.89.100/~chi/blog/index.php?load=read&id=145


    1.確定您的系統有 tmpfs 的功能
    以前使用MDK架站時須加 devfs 這個套件,現在用 Ubunu 它自己就內建了
    2.建好一個要連結的目錄,準備放虛擬磁碟
    mkdir /tmp/ramdisk
    3.vi /etc/fstab 加入下行
    tmpfs           /tmp/ramdisk   tmpfs   size=32m,mode=1777 0 0
    4.馬上掛上來用
    mount    /tmp/ramdisk
    5.vi /etc/php5/apache2/php.ini
    session.save_path = /tmp/ramdisk
    6.重新啟動 Web
    /etc/init.d/apache2 restart

    php 的 session 預設是檔案的形式存在
    每次取用都須讀/寫硬碟,但它的用途大都用於驗證使用者
    這種密集的 取用,實在不利硬碟的 使用 壽命
    有些強調線上人數的更應注意這點

    vsftp

    vi /etc/vsftpd.conf

    #write_enable=YES
    write_enable=YES

    不讓某帳號離開家目錄

    vi /etc/vsftpd.conf
    修改vsftpd.conf  只允許某些人登錄ftp
    chroot_list_enable=yes
    chroot_list_file=/etc/vsftpd.chroot_list  //列在裡面的使用者可登錄,無法離開家目錄

    vi /etc/vsftpd.chroot_list //列入允許帳號 
    stu1
    stu2

    /etc/init.d/vsftpd restart

    2011年1月22日 星期六

    ubuntu10安裝mono2.8

    install2.8 mono
    vi install_mono-2.8.sh
    ----------------------
    #!/bin/bash
    TOPDIR=$(pwd)
    BUILDDIR=$TOPDIR/build
    DLDDIR=$TOPDIR/downloads
    export PATH=/opt/mono-2.8.1/bin:$PATH
    echo "updating existing system"
    sudo apt-get update
    sudo apt-get upgrade -y
    echo "installing prerequisites"
    sudo apt-get install -y build-essential libc6-dev g++ gcc libglib2.0-dev pkg-config subversion apache2 apache2-threaded-dev bison gettext autoconf automake libtool libpango1.0-dev libatk1.0-dev libgtk2.0-dev libtiff4-dev libgif-dev libglade2-dev
    # temp hack. removed later.
    sudo ln -s /opt/mono-2.8.1/lib/pkgconfig/mono-nunit.pc /usr/lib/pkgconfig/mono-nunit.pc
    mkdir -p $BUILDDIR
    echo
    echo "downloading mono packages"
    echo
    cd $BUILDDIR
    wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.8.1.tar.bz2
    wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.8.tar.bz2
    wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.8.1.tar.bz2
    wget http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.8.1.tar.bz2
    wget http://ftp.novell.com/pub/mono/sources/gtk-sharp212/gtk-sharp-2.12.10.tar.bz2
    cd $BUILDDIR
    bunzip2 -df xsp-2.8.1.tar.bz2
    tar -xvf xsp-2.8.1.tar
    bunzip2 -df mod_mono-2.8.tar.bz2
    tar -xvf mod_mono-2.8.tar
    bunzip2 -df mono-2.8.1.tar.bz2
    tar -xvf mono-2.8.1.tar
    bunzip2 -df libgdiplus-2.8.1.tar.bz2
    tar -xvf libgdiplus-2.8.1.tar
    bunzip2 -df gtk-sharp-2.12.10.tar.bz2
    tar -xvf gtk-sharp-2.12.10.tar
    echo
    echo "building and installing mono packages"
    echo
    cd $BUILDDIR
    cd libgdiplus-2.8.1
    ./configure --prefix=/opt/mono-2.8.1
    make
    sudo make install
    cd $BUILDDIR
    cd mono-2.8.1
    ./configure --prefix=/opt/mono-2.8.1
    make
    sudo make install
    cd $BUILDDIR
    cd gtk-sharp-2.12.10
    ./configure --prefix=/opt/mono-2.8.1
    make
    sudo make install
    cd $BUILDDIR
    cd xsp-2.8.1
    ./configure --prefix=/opt/mono-2.8.1
    make
    sudo make install
    cd $BUILDDIR
    cd mod_mono-2.8
    ./configure --prefix=/opt/mono-2.8.1
    make
    sudo make install
    cd $BUILDDIR
    #clean up
    sudo rm /usr/lib/pkgconfig/mono-nunit.pc
    echo
    echo "done"
    echo "If you want to use this version as the default on your platform (may not work for everything with this bare install), set your PATH to include /opt/mono-2.8.1/bin. Otherwise for Asp.NET, you can just update your virtual host config to use mod-mono-server2 from the install path directly."
    -----------------------
    chmod 755 install_mono-2.8.sh
    ./install_mono-2.8.sh





    網頁格式

    網頁格式設定檔
    /etc/apache2/mods-available/dir.conf


    sudo /etc/init.d/apache2 restart

    ubuntu環境apache設定



    安裝apache支援php
    apt-get install apache2 libapache2-mod-php5 php5-cli php5-common php5-cgi
    --------------------------------------------

    /etc/apache2/apache2.conf 這是apache 的全域設定

    /etc/apache2/httpd.conf 內容為空,傳統的設定檔,為相容於其它版本的設定

    /etc/apache2/ports.conf 監聽 port 的設定

    /etc/apache2/mods-available/ 所有可用的模組( module)
    /etc/apache2/mods-enabled/ 已啟用的模組 (可用指令 a2enmod、a2dismod 來啟用、停用模組)

    /etc/apache2/sites-available/ 所有可用虛擬站台
    /etc/apache2/sites-enabled/ 己啟用的虛擬站台 (指令 a2ensite、a2dissite 可啟用、停用虛擬站台)


    -----------
    啟動、停止、重啟 apache 等指令
    /etc/init.d/apache2 start | stop | restart

    apache 設定檔測試指令 (apache 設定檔的語法若寫錯,會使apache無法啟動,可用此指令測試)
    apache2ctl configtest
    /etc/rc.d/init.d/httpd start | stop | restart
    ---------------

    開機就啟動的設定在
    /etc/default/apache2
    預設是開機啟動 (NO_START=0),不想開機啟動請改成 1

    --------------------

    apache2.conf
    位置 /etc/apache2/apache2.conf
    Listen 80 port的設定
    在apache2.conf 有一行 Include /etc/apache2/ports.conf
    vim /etc/apache2/ports.conf 加入你要監聽的port
    預設的使用者與群組
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}


    debian環境apache 啟動的身份與群組皆為 www-data


    -----------------------------

    目錄加密碼

    有兩種方法,一設定在 apache 檔內。二目錄底下設定一個 .htaccess 檔。
    a.編輯 apache 設定檔
    vim /etc/apache2/apache2.conf
    例如,我們有兩個目錄要加密碼保護,分別為 /mydata1和 /mytada2
    apache 設定檔內加入
    #受密碼保護的目錄
    <Directory "/mydata1">
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
    </Directory>
    <Directory "/mydata2">
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
    </Directory>

    -----------------------------------
    檢查 apache2.conf 設定檔內是否還有同一目錄的設定,
    若有請把它加#號,否則密碼保護無法成功。
    例如: /mydata1 是對應到 /var/www/84/mydata1/wwwroot 這目錄,
    但這目錄也有針對它的設定必須將其取消
    否則密碼保護不會設定成功。
    #<Directory "/var/www/84/mydata1/wwwroot">
    #    Options None
    #    AllowOverride None
    #    Order allow,deny
    #    Allow from all
    #</Directory>

    設完之後重啟 apache
    /etc/init.d/apache2 restart

    ------------------

    建密碼檔
    建一密碼檔名為apache.passwd 存放在 /home/backup
    htpasswd -c /home/backup/apache.passwd user1
    接著輸入密碼 xxxxxxxx
    密碼檔內建第二個使用者 (不加 -c 參數了)
    htpasswd /home/backup/apache.passwd user2

    註:user1和user2為你自訂的使用者帳號,xxxxx為你自訂的密碼

    改變檔案屬性
    chown www /home/backup/apache.passwd
    chgrp users /home/backup/apache.passwd


    在要被保護的目錄下建.htaccess檔
    先進到你要密碼保護的目錄底下
    cd /var/www/84/mydata1/wwwroot/
    vim .htaccess
    =====加入以下內容==================
    AuthName     "This is Private directory"
    Authtype     Basic
    AuthUserFile 
    /home/backup/apache.passwd
    require user 
    user1 user2
    #require:後面接可以使用的帳號。
    #如果要讓該密碼檔內的使用者都能夠登入,就改成『require valid-user』即可

    ===================================
    改變檔案屬性
    chown www .htaccess
    chgrp users .htaccess
    然後再把此檔copy到你要密碼保護的 另一個目錄底下去
    cp .htaccess /usr/share/mydata2/site






    2011年1月21日 星期五

    加速網頁速度

    http://163.23.89.100/~chi/blog/index.php?load=read&id=145

    sysv-rc-conf command-lin 圖形介面

    sysv-rc-conf command-lin 圖形介面
    $ sudo apt-get install sysv-rc-conf  # 安裝 sysv-rc-conf
    $ sudo sysv-rc-conf # 直接執行 sysv-rc-conf command-lin 圖形介面

    開機就啟動服務 一般選 2 3 4 5
    --------------------------------------------------
    # Default runlevel. The runlevels used by RHS are: 
    #   0 - halt (Do NOT set initdefault to this) 
    #   1 - Single user mode 
    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking) 
    #   3 - Full multiuser mode 
    #   4 - unused 
    #   5 - X11 
    #   6 - reboot (Do NOT set initdefault to this) 

    服務預設的啟動與關閉

    引用紀老師 筆記
    http://163.23.89.100/~chi/blog/index.php?load=read&id=129
    Debain各種服務預設的啟動與關閉
    在/etc的目錄下有各個目錄
    /etc/rc0.d
    /etc/rc1.d
    /etc/rc2.d
    /etc/rc3.d
    /etc/rc4.d
    /etc/rc5.d
    /etc/rc6.d
    這些目錄內的檔案管理著執行該程序時,要啟動與關閉那些服務
    例如:
    使用文字操作模式時(init 3),就會跑/etc/rc3.d目錄下的那些指令
    若預設不想讓ftp啟動,就可以將/etc/rc3.d/S20vsftpd改名為K20vsftpd

    操作如下:
    cd /etc/rc3.d/
    mv  S20vsftpd   K20vsftpd
    這樣開機時就不會啟動 ftp 服務

    Mongodb

    Mongodb 是一套介於
    key values stores 和 RDBMS systems的NoSql資料庫,並且可以快速簡單的擴充及查詢資料。

    acfs server啟用使用者家目錄

    acfs server啟用使用者家目錄
    ln -s  /etc/apache2/mods-available/userdir.conf  /etc/apache2/mods-enabled/userdir.conf
    ln -s  /etc/apache2/mods-available/userdir.load  /etc/apache2/mods-enabled/userdir.load
     /etc/init.d/apache2 restart
    開機就啟動服務 bind9
    各項服務在 /etc/init/ 內會有設定檔
    例如
    而是隨著 Upstart 的管理機制
    被擺到了 /etc/init/mysql.conf 內
    在檔案開始的地方寫道
    start on (net-device-up
              and local-filesystems
              and runlevel [2345])
    stop on runlevel [016]
    我們將它改為
    start on (net-device-up
              and local-filesystems
              and runlevel [2345])
    stop on runlevel [0123456]
    ---------------------------
    開機就啟動方法2
    sysv-rc-conf

    acfs104安裝ols3 dns

    請輸入網域名稱? 例如: jmjh.tnc.edu.tw
    test.com.tw
    請輸入IP前三個數字? 例如: 163.26.167
    127.0.0
    請輸入第一台主機的第四個IP?
    例如: 163.26.167.1 的 1
    1
    若您有架設 sendmail, 您打算把 test.com.tw 寫入
     local-host-names 中嗎?(Y/N)
    y
    請輸入 local-host-names 的目錄位置? ( 如 /etc/mail )
    Linux 通常在 /etc/mail 中

    您要架設第二部 DNS 嗎?(Y/N)
    n

    Done!

    --------------------------------------------------
    已在目前的目錄中, 產生以下DNS主機的設定檔:
    1. named.conf
    2. db.hnps.chc.edu.tw
    3. db.163.23.115
    4. localhost
    5. rev-127.0.0
    6. named.ca
    請將 所有檔案 放在 /etc/bind 中
    檢查設定檔 (一定要檢查)
    將路徑 /var/named 修改成 /etc/bind
    修改各設定檔
    vi /etc/bind/db.XXX.chc.edu.tw
    vi /etc/bind/db.163.23.XXX

    /etc/init.d/bind9 restart

    acfs10.04server

    1.放入光碟預設密碼 webadmin superuser
    2.點入 安裝Ubuntu 10.04 LTS
    3./ ext4 swap /home ext4
    1.vi /etc/network/interfaces
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 172.20.x.9
    netmask 255.255.0.0
    network 172.20.2.0
    broadcast 172.20.2.255
    gateway 172.20.x.x
    auto eth0:0
    iface eth0:0 inet static
    address 163.23.115.x
    netmask 255.255.255.192
    network 163.23.115.254
    broadcast 163.23.115.255

    2.重新啟動 /etc/init.d/networking restart
    vi /etc/resolv.conf
    nameserver 168.95.1.1

    5.#vi /etc/hostname
    mis009
    #vi /etc/hosts
    127.0.0.1       localhost
    127.0.1.1       mis009
    6.#vi /etc/resolv.conf
    domain cajh.chc.edu.tw
    search cajh.chc.edu.tw
    nameserver 172.XX.X.XXX
    nameserver 163.XX.XX.XX
    nameserver 168.95.1.1
    nameserver 8.8.8.8
    --------- 改密碼 --------
    7.#passwd root
    #passwd webadmin
    #mysqladmin -uroot -psuperuser password '密碼'

    8.#apt-get install bind9
    重新啟動 /etc/init.d/bind9 restart
    開機啟動指令 sysv-rc-conf
    所有套件更新 apt-get update

    安裝 vi 加強版 #操作 vi 怪怪的,所以安裝加強版
    apt-get install vim
    網路設定 (設定固定ip,dhcp為自動取得ip)
    vi /etc/network/interfaces
    auto eth0
    iface eth0 inet static
    address 163.23.115.193
    netmask 255.255.255.192
    gateway 163.23.115.254
    #同一張網卡新增一個虛擬的網路ip
    auto eth0:0
    iface eth0:0 inet static
    address 172.20.1.248
    netmask 255.255.255.0
    gateway 172.20.1.254


    /etc/init.d/networking restart #重新啟動網卡設定


    如果沒有安裝 ncftp ,使用 apt-get install ncftp 來安裝
    cd pub/ols3tools/
    get ols3dns-1.0.5p.tar.gz
    exit
    tar zxvf ols3dns-1.0.5p.tar.gz
    ./ols3dns


    檢查設定檔 (一定要檢查)
    vi /etc/bind/named.conf
    將路徑 /var/named 修改成 /etc/bind
    vi /etc/bind/db.XXX.XXX.XX
    vi /etc/bind/db.XXX.XXX.XXX
    重新啟動 named
    /etc/init.d/bind9 restart

    ipv6
    ----------------------------------------------------
    參考http://blogs.yyes.chc.edu.tw/post/2/2723


    ifconfig
    看網卡是否支援IPv6
    出現inet6 addr表示支援
    sudo vi /etc/networkinterfaces
    iface eth0 inet6 static
    address 2001:288:xxxx::2
    netmask 48
    gateway 2001:288:xxxx::1
    sudo /etc/init.d/networking restart
    網路連線測試
    以「ping6」指令 ping 到「ipv6.l.google.com」
    ping6 2404:6800:8005::6a


    DNS 伺服器設定
    sudo vi /etc/bind/named.conf
    在 options 區段內有些 Bind 版本需加入以下內容:
    listen-on-v6 { any; };
    DNS 正解檔設定
    vi /etc/bind/db.hnps.chc.edu.tw 裡列出正解設定,
    IPv6 的寫法除了IP位址不同外,另一差別只是將「A」改成「AAAA」,
    加上兩列關於這兩部主機新的設定:
    dns             IN      AAAA    2001:288:xxxx::2
    www           IN      AAAA    2001:288:xxxx::2


    重新啟動DNS
    sudo /etc/init.d/bind9 restart
    測試
    nslookup
    > server 163.23.115.xx
    Default server: 163.23.115.xx
    Address: 163.23.115.xx#53