2011年11月14日 星期一

使用者目錄

使用者啟動目錄列表
vi /etc/apache2/mods-available/userdir.conf
加入
Options Indexes FollowSymLinks MultiViews
/etc/init.d/apache2 restart

-------------------------
/etc/apache2
vi /etc/apache2/sites-available/default
目錄列表
Options Indexes FollowSymLinks MultiViews

 /etc/init.d/apache2 restart
使用者目錄
先檢查 /etc/apache2/mods-available/ 下是否有
userdir.conf 及 userdir.load
再檢查 /etc/apache2/mods-enabled/ 下 u
serdir.conf 及 userdir.load 是否 link 到
/etc/apache2/mods-available/userdir.conf
及 /etc/apache2/mods-available/userdir.load
若在 /etc/apache2/mods-enabled/ 下沒有 link
下指令 a2enmod userdir 它會自己幫你把link檔給弄好
-------------------------------------------------------

2011年10月18日 星期二

ubuntu11.04

每週自動備份
vi  /etc/crontab
22 4 * * 0 root run-parts /etc/cron.weekly   //   每星期  以root用戶身份 執行/etc/cron.weekly內的腳本
cd /etc/cron.weekly
vi mybak.txt
tar cvfz a7.tar.gz /home/a7/public_html
mv a7.tar.gz /home/a7/bak
chmod 755 mybak.txt

2011年10月17日 星期一

tar

tar cvfz abc.tar.gz /public_html/*     把/public_html/目錄下的文件都壓縮到abc.tar.gz中

tar zxvf abc.tar.gz  /www/    把abc.tar.gz解壓縮到/www/目錄下

2011年10月15日 星期六

啟動使用者網站與PHP功能

設定檔位置:/etc/apache2/
啟動檔:/etc/init.d/apache2
啟動使用者網站與PHP功能
sudo a2enmod userdir
cd /etc/apache2/mods-available/
sudo vi php5.conf(把以下的設定comment起來)
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
#</IfModule>
sudo /etc/init.d/apache2 restart
測試:
mkdir ~/public_html
cd public_html
echo "<?php phpinfo();?>" > info.php

2011年9月8日 星期四

Ubuntu安裝套件

tasksel

彰化縣IPV6

iface eth0 inet6 static
address 2001:288:565F::2
netmask 48
gateway 2001:288:565F::1

-----------------------------------
反解
F.5.6.6.8.8.2.0.1.0.0.2.ip6.arpa



---------------------------------------
Ubuntu10.04-IPV6設定  平和 鄭亮星100.08
Ubuntu 10.04 預設將 IPv6 安裝並開啟,以及完成所有設定,可以正常運作。
以下提供檢查是否正常運作以及修改設定的方法。
使用終端機,輸入以下指令:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
顯示結果為 0 代表 IPv6 已經開啟,而 1 代表關閉。
可以藉由編輯 /etc/sysctl.conf 檔案,來設定 IPv6 的開啟或關閉。
以下是關閉的範例:
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
如果是要開啟則值為0
2.主機的host檔設定
A.主機資料:
#本校DNS: 163.23.89.65 / 2001:288:5691::2
#測試網頁同dns: 163.23.89.65 / 2001:288:5691::2
#本校gateway : 163.23.89.126 / 2001:288:5691::1
B.編輯本機host檔設定
vi /etc/hosts
#加入以下內容 (注意粗體字部分)
127.0.0.1 localhost
163.23.89.65 dns.elps.chc.edu.tw dns
163.23.89.65 www.elps.chc.edu.tw www
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
2001:288:5691::2 www.elps.chc.edu.tw www
2001:288:5691::2 dns.elps.chc.edu.tw dns


3.修改網路介面
A.修改網路介面卡設定
sudo vi /etc/network/interfaces
內容如下,新增粗體字部分
----------------------------------
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 163.23.89.65
netmask 255.255.255.192
network 163.23.89.64
broadcast 163.23.89.127
gateway 163.23.89.126
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 163.23.89.65
dns-search elps.chc.edu.tw
###### IPV6新增部份
iface eth0 inet6 static
address 2001:288:5691::2
netmask 48
gateway 2001:288:5691::1
B.重新啟動 網路服務
#service network restart
sudo /etc/init.d/networking restart
#ip a
的指令看看是否有出現 2001:288:5691::2 ,若有,則設定成功。
或使用測試指令
ping6 2001:288:5691::2 =>測試 dns
ping6 2001:288:5691::1 =>測試 gateway
ping6 ::2 =>測試 localhost
C.修改主機位址解析檔
sudo vi /etc/resolv.conf
#加入以下內容(彰化縣網中心IPv6的DNS)
nameserver 2001:288:5600::89
nameserver 2001:288:5600::1
nameserver 2001:288:5600::6

4.DNS主機設定與IPV6功能支援
A.加入DNS套件
apt-get update
sudo apt-get install bind9
B.修改DNS設定
sudo vi /etc/bind/named.conf.options
#在 options 程式區段內加入以下內容
listen-on-v6 {any;}
C.設定IPv4 DNS 正反解
■ 在主設定檔內加入正反解檔敘述
sudo vi /etc/bind/named.conf
zone "elps.chc.edu.tw" {
type master;
file "/etc/bind/db.elps.chc.edu.tw";
notify no;
};
zone "89.23.163.in-addr.arpa" {
type master;
file "/etc/bind/db.163.23.89";
notify no;
};
#ipv6
zone "1.9.6.5.8.8.2.0.1.0.0.2.ip6.arpa" {
type master;
file "/etc/bind/elps.chc.edu.tw.ipv6.resolve";
};




D.IPv4正解 檔內容與IPV6的配套
sudo vi /etc/bind/db.elps.chc.edu.tw
#內容
$TTL 86400;
@ IN SOA dns.elps.chc.edu.tw. root.dns.elps.chc.edu.tw.(
2010081504 ;
10800 ;
3600 ;
604800 ;
86400 ) ;
@ IN NS dns.elps.chc.edu.tw.
@ IN A 163.23.89.65
@ IN NS www.elps.chc.edu.tw.
@ IN NS mail.elps.chc.edu.tw.
@ IN MX 5 mail.elps.chc.edu.tw.
dns IN A 163.23.89.65
www IN A 163.23.89.65
mail IN A 163.23.89.65
ftp IN A 163.23.89.65
#在DNS正解檔內加入AAAA紀錄(AAAA紀錄就是表示使用IPv6)
dns.elps.chc.edu.tw. IN AAAA 2001:288:5691::2
www.elps.chc.edu.tw. IN AAAA 2001:288:5691::2
E. IPv4反解檔內容
sudo vi /etc/bind/db.163.23.89
#內容
$TTL 86400;
@ IN SOA dns.elps.chc.edu.tw. root.dns.elps.chc.edu.tw.(
2011013105 ;
10800 ;
3600 ;
604800 ;
86400);
@ IN NS dns.elps.chc.edu.tw.
65 IN PTR dns.elps.chc.edu.tw.
65 IN PTR www.elps.chc.edu.tw.


■IPv6反解檔
vi /etc/bind/db.elps.chc.edu.tw.ipv6
內容如下
$ttl 86400
@ IN SOA dns.elps.chc.edu.tw. root.localhost. (
1219039301
10800
3600
604800
38400 )
1.9.6.5.8.8.2.0.1.0.0.2.ip6.arpa. IN NS dns.elps.chc.edu.tw.
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR dns.elps.chc.edu.tw.
重新啟動DNS
#service named restart
sudo /etc/init.d/bind9 restart

G.DNS設定的測試(nslookup 測試 )
#nslookup
> server 168.95.1.1 ==> 設定向 中華電信的名稱伺服器查詢
Default server: 168.95.1.1
Address: 168.95.1.1#53

> set type=AAAA ==>設定為 IPV6模式
> www.elps.chc.edu.tw ==>查詢 www.elps.chc.edu.tw 的 IPV6 位址 成功
Server: 168.95.1.1
Address: 168.95.1.1#53
Non-authoritative answer:
www.elps.chc.edu.tw has AAAA address 2001:288:5691::2
Authoritative answers can be found from:
elps.chc.edu.tw nameserver = dns.elps.chc.edu.tw.
dns.elps.chc.edu.tw internet address = 163.23.89.65
dns.elps.chc.edu.tw has AAAA address 2001:288:5691::2
> dns.elps.chc.edu.tw ==>查詢 dns.elps.chc.edu.tw 的 IPV6 位址 成功
Server: 168.95.1.1
Address: 168.95.1.1#53
Non-authoritative answer:
dns.elps.chc.edu.tw has AAAA address 2001:288:5691::2
Authoritative answers can be found from:
elps.chc.edu.tw nameserver = dns.elps.chc.edu.tw.
dns.elps.chc.edu.tw internet address = 163.23.89.65
> 2001:288:5691::2 反解 ==> 無法由中華電信名稱伺服器反查
;; Got recursion not available from 2001:288:5691::2, trying next server
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.9.6.5.8.8.2.0.1.0.0.2.ip6.arpa: NXDOMAIN
> server 2001:288:5691::2 ==>將 nameserver 設為 本機 或 ipv4的位址亦可
Default server: 2001:288:5691::2
Address: 2001:288:5691::2#53
> 2001:288:5691::2 ==> 反解成功
Server: 2001:288:5691::2
Address: 2001:288:5691::2#53
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.9.6.5.8.8.2.0.1.0.0.2.ip6.arpa name =
dns.elps.chc.edu.tw.


5.IPV6網頁伺服器與桌機設定
網頁伺服器設定部分,基本上在 /etc/apache2/ports.conf中
照原來 Listen 80 設定即可,不需輸入!
如果無法連到首頁,請將該行#起來,加入後面三行(如果要支援IPv6,監聽port就不能只設80,要
完整輸入IP + port)
#Listen 80 <---標記#
Listen 127.0.0.1:80 <---加入
Listen 163.23.108.65:80 <---加入
Listen [2001:288:5691::2]:80 <---加入
(註 Listen [2001:288:5691::2]:80
這 一行要注意,若上方的網卡部份無法正常啟用這個 IPV6 的位址,則 apache 重新啟動會有錯誤。
請重新 reboot(如果設定沒有打錯字的話 若上方未解即時處理,則暫時將此一行註解
)
桌機部分
桌機要裝sudo aptitude install gw6c 才可以
連線測試
台中縣
http://ipv6.tcc.edu.tw/
彰化縣
http://ipv6.chc.edu.tw/v13/

2011年9月6日 星期二

解除ctrl+alt+Del

 taskmgr.exe 這個執行檔被鎖住了
1. 簡易作法 :
   [開始]
   [執行] 輸入 regedit
   尋找這串路徑 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
   找到最後,機碼應可找到 [ Disable Task Mgr ] 其設定值應該是 [ 1 ],將 [ 1 ] 改為 [ 0 ],
   代表此選項無效,
若還是無法使用,重新開機

2011年7月13日 星期三

無線橋接

1. 最好兩端無線分享器都使用相同的產品,多數產品只支援自家的橋接功能。

2. 每台無線分享器須設定為相同 SSID、相同頻道、相同 WEP 模式( WEP 金鑰,也要相同)。

3. 每台無線分享器都要有自己的 IP 位址,最好設定成靜態IP

常用指令

刪目錄
rm -r
rm -rf 不詢問直接刪
 cp xx.tar.gz ./ 複制到目前目錄

2011年7月7日 星期四

CHC安裝DNS

參考
http://www.chc.edu.tw/skill/dns.htm
/etc/init.d/bind9 restart

開機就啟動DNS
直接編輯 /etc/init.d/rcS ,放在最後面
/etc/init.d/bind9 start

參、DNS 伺服器的設定
/etc/bind/host.conf      名稱解析的順序宣告檔
/etc/bind/hosts          主機名稱與 IP 對照檔
/etc/bind/resolv.conf    名稱解析設定檔
/etc/bind/named.conf     領域型態組態檔
一.名稱解析的順序宣告檔 host.conf
主機名稱解析順序的設定檔 host.conf,其內容如下列:
order hosts,bind
上一行中的 order 是本機對名稱解析的順序設定,先到
hosts 這個檔案找名稱與 IP 的對照,若找不到,再到
bind 去找,意思就是到 Name Server 去查詢和尋找。
二.主機名稱與 IP 的對照檔 hosts
以成功國小為例作說明,因成功國小的網域名稱是 
cges.chc.edu.tw,所以,在此網域下的主機名稱,可
設在 hosts 檔案內,以加快本網域內主機查詢的速度。
 hosts 檔案的內容如下列:

#Do not remove the following line, or various
#programs
#that require network functionality will fail.
163.23.107.65 dns.cges.chc.edu.tw dns
#163.23.107.66 mail.cges.chc.edu.tw mail
127.0.0.1 localhost.localdomain localhost
三.名稱解析設定檔 resolv.conf
名稱解析設定檔  resolv.conf  其內容如下:
domain cges.chc.edu.tw
nameserver 163.23.107.65
nameserver 163.23.200.1
nameserver 168.95.1.1
 成功國小因主機本身是 DNS Server 管轄 cges.chc.edu.tw 這個領域,
 所以才用 domain cges.chc.edu.tw 的設定,若本身不是 DNS Server
 就用 search cges.chc.edu.tw 的設定。
查詢正、反解的順序,先由本身
nameserver 163.23.107.65 查詢起,若不能查詢,就 轉向縣網的 DNS 伺服器
nameserver 163.23.200.1 查詢,若還是不能查詢,則轉向中華電信公司的
nameserver 168.95.1.1 查詢。
四.領域型態組態檔 named.conf
成功國小的網域名稱是 cges.chc.edu.tw 所以在此網域下
DNS Server 的設定檔是 named.conf,其內容如下:
;-----------------------------------底下是檔案內容的開始
options{
directory "/etc/bind";
forwarders {163.23.200.1;};
};

zone "." IN {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.localhost.rev";
allow-update { none; };
};

zone "cges.chc.edu.tw" IN {
type master;
file "named.cges";
allow-update { none; };
};

zone "192-255.107.23.163.in-addr.arpa" IN {
type master;
file "named.cges.rev";
allow-update { none; };
};
;-----------------------------------檔案內容結束

五.在目錄  /etc/bind  這個目錄下放置相關的設定檔如下:
;-------------------------------------------------------------------------------------
named.cges           正解檔
named.cges.rev             反解檔
named.localhost.rev 本機的Loopback的反解檔
named.title            正解檔、反解檔、本機Loopback反解檔檔案開頭共同的包含檔。
;-------------------------------------------------------------------------------------

;正解檔 named.cges 的內容:
$TTL 86400
$ORIGIN cges.chc.edu.tw.
$INCLUDE named.title
@ IN MX 5 mail.cges.chc.edu.tw.
@ IN MX 10 m1.cges.chc.edu.tw. localhost IN A 127.0.0.1
loopback IN CNAME localhost
dns IN A 163.23.107.65
mail IN A 163.23.107.66
www IN CNAME dns
ftp IN CNAME dns
m1 IN A 163.16.8.100
;若有其他的伺服器主機名稱可再增加設定上去。
;-------------------------------------------------------------------------------------
;反解檔 named.cges.rev 的內容:
$TTL 86400
$ORIGIN 192-255.99.23.163.in-addr.arpa.
$INCLUDE named.title
193 IN PTR dns.rces.chc.edu.tw.
193 IN PTR www.rces.chc.edu.tw.
193 IN PTR ftp.rces.chc.edu.tw.
194 IN PTR mail.rces.chc.edu.tw.
;若有其他的伺服器主機名稱的 ip 可再增加設定上去。
;-------------------------------------------------------------------------------------
;共同包含檔 named.title 的內容:
@     IN    SOA dns.cges.chc.edu.tw. admin.mail.cges.chc.edu.tw. (
            2002120401    ; serial
            3H           ; refresh  
            1H           ; retry
            1W           ; expiry
            1D           ; default_ttl
            )
IN    NS   dns.cges.chc.edu.tw.
;-------------------------------------------------------------------------------------
;named.localhost.rev  本機的Loopback的反解檔的內容:
$TTL 86400
$ORIGIN 0.0.127.in-addr.arpa.
$INCLUDE named.title
1      IN    PTR localhost.
;-------------------------------------------------------------------------------------

六.      四分之一  C  級網路 DNS 反解的說明:
(一). 本縣國中、小所分配到的 IP 範圍,從 163.23.66.0 至 163.23.119.255 總共有  54 個 C 級網路。
(二). 每個 C 級網路有 256 個 IP 分成四段,所以每段是四分之一個 C,它有  64(256/4=64) 個 IP,分配給國中或國小。這四段的 IP 範圍如下:第一段是  0~63 第二段是 64~127 第三 段是  128~191 第四段是 192~255。
(三). 例如,163.23.66 這個 C 級網路分成四段,其範圍如下:
第一段的 IP 範圍是 163.23.66.0~163.23.66.63
第二段的 IP 範圍是 163.23.66.64~163.23.66.127
第三段的 IP 範圍是 163.23.66.128~163.23.66.191
第四段的 IP 範圍是 163.23.66.192~163.23.66.255
每一段的第一個 IP 是網路 IP,最後一個 IP 作廣播用除外,其餘的 IP 皆可使用。


(八). nslookup 公用程式試查看看。

ubuntu10.04 DNS設定

參考
http://163.23.94.67/blog/post/2/434


一、安裝DNS所需套件
sudo apt-get install bind9
二、加入正反解檔案設定
sudo vi /etc/bind/named.conf

--------------------------------------------------------------------------------
include "/etc/bind/named.conf.options";
zone "xxx.chc.edu.tw" {
        type master;
        file "/etc/bind/正解檔檔名";
};
zone "192-255.xx.xx.163.in-addr.arpa" {
        type master;
        file "/etc/bind/反解檔檔名";
};
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

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

三、修改bind參數
sudo vi /etc/bind/named.conf.options
在「options {};」內加入

--------------------------------------------------------------------------------
        forwarders {
                168.95.1.1; 163.23.200.1;
        };
        allow-query { any; };
        allow-transfer { none; };
--------------------------------------------------------------------------------
四、修改正解檔
sudo vi /etc/bind/正解檔檔名

--------------------------------------------------------------------------------
$TTL    43200
@       IN      SOA     sdes.chc.edu.tw. dns.sdes.chc.edu.tw. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      dns.xxxx.chc.edu.tw.
@       IN      NS      www.xxxx.chc.edu.tw.
@       IN      A       163.xxx.xxx.xxx
dns     IN      A       163.xxx.xxx.xxx
www     IN      A       163.xxx.xxx.xxx
--------------------------------------------------------------------------------
五、修改反解檔
sudo vi /etc/bind/反解檔檔名

--------------------------------------------------------------------------------
$TTL    43200
@       IN      SOA     sdes.chc.edu.tw. dns.sdes.chc.edu.tw. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      dns.xxx.chc.edu.tw.
65      IN      PTR     www.xxx.chc.edu.tw.
--------------------------------------------------------------------------------

六、重新啟動 DNS
sudo /etc/init.d/bind9 restart

ACL 規則

    1. 單個IP,比如:192.168.0.1
    2. IP網絡,比如:192.168.0.0/24 或 192.168.0.0/255.255.255.0
    3. IP地址段,比如:192.168.0.1-192.168.0.200
  • 源/目的端口
    為空表示所有端口,有如下3種表示方法:
    1. 單個端口,比如:8080
    2. 多個離散端口,比如:137,139,445
    3. 連續端口,比如:80-8000 (80到8000之間的所有端口)
  • 匹配動作
    1. 通過:允許匹配的數據包通過
    2. 丟棄:丟棄匹配到的數據包,不反饋任何錯誤信息
    3. 拒絕:丟棄匹配到的數據包,並向發送者(源IP)反饋相關錯誤信息
    4. 忽略:對來訪的數據包不做任何處理,直接記錄到日誌,此動作必須配合 記錄到日誌 功能一起使用。 


    案例-1:內網用迅雷下載的人太多,影響網速,需要禁止掉迅雷的 15000/UDP 端口
    優先級  數字愈小 愈優先
    通訊 udp
    數據流向  轉發
    源端口 15000
    啟用    丟棄

    ex2  禁止訪問某IP
    優先級  數字愈小 愈優先
    通訊 tcp+udp
    數據流向  轉發
    目地IP 218.30.64.194
    啟用    丟棄



2011年7月5日 星期二

ACFS安裝20110705

1.硬碟切
/  swap  /home
2.裝完後
系統 / 管理 /登入畫面/顯示選擇登入畫面
3./home/webadmin/html/tool/net.txt
修改IP
4.開啟終端機
cd /home/webadmin/html/tool/
cp net.txt /etc/network/interfaces
/etc/init.d/networking restart
不要在遠端下此指令
5.sudo init 6 重開機
6.校時
ntpdate time.stdtime.gov.tw
7.修改tool資料夾權限
顯示 / 隱藏檔 
修改.htaccess
8.變更root webadmin密碼
mysqladmin -uroot -pstu123 password'stu567'
9.vi /etc/hosts.allow
192.168.1. 192.168.1.2 127.0.0.1
10.下載新sfs3
http://sfscvs.tcc.edu.tw/sfs_stable5.tar.gz
11.cd /home/webadmin/html
tar zxvf sfs_stable5.tar.gz
mv sfs3_stable sfs3
sfs_stable5安裝後,不要在網頁上install.php
12.
cd /home/webadmin/html/sfs3
tar zxvf /home/webadmin/sfs3_data.tar.gz
chown www-data.www-data data -R

13.
service mysql stop
cd /var/lib/mysql
tar zxvf /home/webadmin/sfs3_db.tar.gz
chown mysql/mysql sfs3 -R
service mysql start

14. cd /home/webadmin/html/sfs3/include/
cp config.dist.php config.php
vi config.php

user=root
pass=stu123
upload位置
/home/webadmin/html/sfs3/data

--------------------------------------
工具設定檔
html/Apps
chc_webHD  >> hd_config.php
gbook >> gb_config.php


硬碟移機避勉網卡錯誤
rm /etc/udev/rules.d/70-*
取消桌面網路控制
vi /etc/NetworkManager/nm-system-settings.conf
managed=false
------------------------------
刪目錄
rm -r
 cp xx.tar.gz ./ 複制到目前目錄

備份
tool /ACFSsfsBK.txt
cp ACFSsfsBK.txt /bin/
chmod 755 ACFSsfsBK.txt
crontab -e
5 30 *** /bin/ACFSsfsBK.txt > /dev/null
---------------------------------------------------
檢查碼是否正確
終端機 md5sum acfsxx.iso
檢查碼是否和md5碼相同
-----------------------
網路硬碟 admin admin
留言版 admin stu123
pureFTP acfs acfs
---------------------------------
pure-FTP設定
變更sql後 設定檔也要改
/etc/pure-ftpd/db/mysql.conf
其他設定檔
/etc/pure-ftps/conf
---------------
資料瀏覽權限
(打開隱藏檔)
.htaccess
中間要有空格
127.0.0.1 192.168.1.
-----------------------
超級檔案管理員
gksu Nautilus

2011年5月8日 星期日

Bwm-ng流量監視

apt-get install bwm-ng

觀看

在终端输入bwm-ng即可

h 說明

Ntop流量監視(推荐)

NTOP是一種監控網絡流量的工具,甚至可以列出每個節點利用率。

NTOP支持win32平台、linux、Unix、BSD等平台。源代碼:http://sourceforge.net/projects/ntop/
ubuntu安裝NTOP
sudo apt-get install ntop
sudo ntop --set-admin-password #第一次運行須設置密碼
sudo /etc/init.d/ntop start

觀 察port的 情況
netstat –tuln                               

設定檔 修改要監控的網卡
vi /var/lib/ntop/init.cfg

重新啟動
/etc/init.d/ntop restart  

更 改管理者密碼
sudo ntop –A                        

 
設置開機自動啟動:
# echo "ntop -P /var/log/ntop & 2>&1 1> /dev/null" >> /rc.local
查看網絡狀態,直接訪問http://IP:3000/

iftop流量監視(推薦)

iftop是許多top-like程式的其中一個, 主要用途是用來即時監看網路狀態.
ctrl+Z 離開 畫面

$ sudo apt-get install iftop
執行(必須以root身份):
$ iftop
查看ppp0網路介面的即時流量:
$ iftop -i eth0
iftop -i eth1
ADSL用
iftop -i ppp0
以位元組(bytes)為單位顯示流量(預設是位元bits):

$ iftop -B
直接顯示IP, 不進行DNS反解:
$ iftop -n

直接顯示連接埠編號, 不顯示服務名稱:
$ iftop -N
其他參數可下 iftop -h 看說明.
進入iftop畫面時, 可按 p 切換是否顯示連接埠, n 切換顯示IP或主機的domain name, N切換顯示連接埠代號或名稱, p暫停顯示, b切換是否顯示長條, B切換計算幾秒內的平均流量, 其他按鍵可以按h觀看說明.
設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.
--------------------------------------
使用:
# iftop -i eth0

參數說明:
-i: 監控網路卡介面
-B: 以bytes為單位
-n: 以IP顯示不用DNS反解
-N: 只顯示port不顯示服務名稱
-F: 堅看某一網段的網路狀態
快速鍵:
進入iftop後可以使用一些快速鍵來看監控狀態
Host display:
 n – 切換解析來源DNS
s – 切換顯示目的ip
d – 切換顯示來源ip
t – 切換進出顯示模式
 
Port display: N – 切換解析主機port
S – 切換顯示主機port
D – 切換顯示來源port
p – 切換顯示port
 
Sorting: 1/2/3 – 排列 1/2/3 欄位
< – 排列流量由大至小
> – 排列流量由小至大
o – 凍結目前排列
 
General: P – 暫停/開始
h – 切換顯示help
b – 切換顯示流量條
B – 切換流量條2/10/40秒的平均數
T – 切換顯示總流量欄位
j/k – j:往下查看 k:往上查看
f – 編輯filter碼
l – set screen filter
L – lin/log scales
! – 執行shell命令
q – 離開

2011年5月6日 星期五

ufw防火牆

Ubuntu server11.04
安裝方法
 sudo apt-get install ufw
1 啟用
 sudo ufw enable
 sudo ufw default deny
作用:開啟了防火牆並隨系統啟動同時關閉所有外部對本機的訪問(本機訪問外部正常)。
2 關閉
 sudo ufw disable
2 查看防火牆狀態
 sudo ufw status

3 開啟/禁用相應端口或服務舉例
 sudo ufw allow 80 允許外部訪問80端口
 sudo ufw delete allow 80 禁止外部訪問80 端口
 sudo ufw allow from 192.168.1.1 允許此IP訪問所有的本機端口
 sudo ufw deny smtp 禁止外部訪問smtp服務
 sudo ufw delete allow smtp 刪除上面建立的某條規則
 ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒絕所有的流量從TCP的10.0.0.0/8 到端口22的地址192.168.0.1
 可以允許所有RFC1918網絡(局域網/無線局域網的)訪問這個主機(/8,/16,/12是一種網絡分級):
sudo ufw allow from 10.0.0.0/8
sudo ufw allow from 172.16.0.0/12
sudo ufw allow from 192.168.0.0/16

ubuntu入門1

文章參考http://hi.baidu.com/10105188/blog/item/5e1440b5607a55c236d3caa8.html

1、網絡配置文件/etc/network/interfaces
address 163.23.115.x
netmask 255.255.255.192
network 163.23.115.254
broadcast 163.23.115.255
gateway
eth1內部網卡不要設gateway
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
重啟網路
/etc/init.d/networking restart
域名服務器配置文件
vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 163.23.115.x
1.讓你的 Linux 具有 router 的能力。
    
    echo "1" > /proc/sys/net/ipv4/ip_forward
2.加入 NAT table 封包偽裝,$innet是內部區網(例如:192.168.1.0/24),
也可以不用設定$innet,這樣代表所有內部網路都會從對外的網路介面出去,
偽裝成對外的網路封包。$EXTIF是對外網路介面(例如:eth0)。
    iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
 或
 echo "1" > /proc/sys/net/ipv4/ip_forward
 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE

3.將上面兩行指令寫到 /etc/rc.local 中,讓server開機的時候就執行。
vi /etc/rc.local


一、安裝Apache
Ubuntu提供了3個apache2的套件,分別是apache2-mpm-worker、
apache2-mpm-prefork、apache2-mpm-event。
如果你在安裝過程選擇了LAMP包的話,那麼安裝的是apache2-mpm-prefork。
如果你沒有選擇安裝LAMP包,安裝完系統之後,執行下面的命令安裝apache2
這個軟件包時,安裝的是apache2-mpm-worker:
sudo apt-get install apache2
1、Apache配置文件說明
*apache2.conf——全局配置文件
*conf.d/——該目錄存放一些一般性的配置
*envvars——存放環境變量,一般不需要修改
*httpd.conf——用戶配置文件
*mods-available/——該目錄下是已經安裝的可用模塊
*mods-enabled/——該目錄下是已經啟用的模塊
*ports.conf——httpd服務的端口
*sites-available/——該目錄下是可用的虛擬主機
*sites-enabled/——該目錄下是已經啟用的虛擬主機
其中,apache2.conf是apache2的主配置文件,它會
讀取上面列出的所有目錄和文件(sites-available目錄除外,
因為apache不需要知道有哪些虛擬主機可用,它只需要加
載那些已經啟用的虛擬主機就可以了。)

Apache網頁文件默認存放的位置
在默認情況下,apache把網站文件放在/etc/www目錄下。
通過DocumentRoot關鍵字的設置,你可以把任意目錄指
定為網頁文件的根目錄。你也可以在裡面建立多個網頁文
件的目錄,如:
/var/www/www.aliwo.net
/var/www/bbs.aliwo.net
也就是說每個網站有自己單獨的文件夾,這樣管理起來比
較清晰。另外/var分區需要大一些,因為mysql數據庫文件
和日誌文件,以及網站日誌文件都保存在這裡。

Apache虛擬機設置
apache既支持基於域名的虛擬主機,也支持基於IP的虛擬主機。
Ubuntu的Apache2為提供虛擬主機支持做了很好的配置。如果
你的服務器只有一個網站,基本上不用修改配置,虛擬機就可以
用了;如果有多個網站,則可以複製defualt虛擬主機的配置文
件進行修改,這樣可以很快的建立多個網站。
每個apache的虛擬主機都有單獨的配置文件。這些虛擬主機的配
置文件放在/etc/apache2/sites-available目錄下。上面提到
的default虛擬主機,位於這個目錄裡。如果你在瀏覽器中訪問服務
器的IP地址,出現頁面「It Worker!」,表明網站已經在提供服務了。
4.1創建一個新的虛擬主機
要創建一個新網站,你需要創建一個新的虛擬主機。假設我現
在要創建一個域名為http://www.aliwo.net/的虛擬主機:
*先將default虛擬主機複製一份,以便用來修改:
sudo cp default http://www.aliwo.net/
*然後編輯http://www.aliwo.net/
sudo nano http://www.aliwo.net/

http://www.aliwo.net/內容如下:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory 「/usr/lib/cgi-bin」>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ 「/usr/share/doc/」
<Directory 「/usr/share/doc/」>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

修改後:
<VirtualHost *:80>
ServerAdmin aliwo@qq.com
ServerName http://www.aliwo.net/
ServerAlias aliwo.net
DocumentRoot /var/www/www.aliwo.com
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/www.aliwo.com>
Options FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory 「/usr/lib/cgi-bin」>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#日誌
CustomLog /var/log/apache2/access.log combined
Alias /doc/ 「/usr/share/doc/」
<Directory 「/usr/share/doc/」>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

4.2、啟動http://www.aliwo.net/
sudo a2ensite http://www.aliwo.net/
同時禁止default(即禁止使用IP訪問)。
sudo a2dissite default
5、建立網站目錄
#cd /var/www
#mkdir /var/www/www.aliwo.net
然後把網頁文件上傳到目錄裡面。
6、重啟apache2,生效網站:
sudo /etc/init.d/apache2 restart
一、安裝Pure-FTPd
$ sudo apt-get install pure-ftpd
$ sudo apt-get install pure-ftpd-mysql
二、配置Pure-FTPd
1.添加用戶和組
$ sudo groupadd -g 2001 ftpgroup
$ sudo useradd -u 2001 -s /bin/false -d /dev/null -c 「Pure-FTPd User」 -g ftpgroup ftpuser
在上面創建用戶的命令中,指定將/bin/false作為shell,使得該用戶無法登錄到服務器的shell環境,從而避免了很多安全問題;而將其HOME目錄設置為/dev/null,也提高操作系統的安全。
2.Chroot 設置
為了安全起見,我們要將每個FTP用戶限制在Chroot環境中。為此,我們可以在其配置目錄/etc/pure-ftpd/conf下面創建一個名為ChrootEveryone的文件,並將內容設置為yes:
$ sudo sh -c 「echo 『yes』 > /etc/pure-ftpd/conf/ChrootEveryone」
這樣設置後,每個FTP用戶自己的HOME目錄就成了他的root目錄,他無法達到上層目錄中,也就無法瀏覽其它目錄下的文件了。
3.手工創建用戶目錄
下面的設置,告訴Pure-FTPd不要為用戶自動創建HOME目錄,我們將手工創建,後面我將會介紹web管理工具創建用戶和HOME目錄:
$ sudo sh -c 「echo 『No』 > /etc/pure-ftpd/conf/CreateHomeDir」
4.為Pure-FTPd 創建MySQL 數據庫
$ mysql -u root -p
mysql> CREATE DATABASE ftpusers;
然後,創建一個名為ftpadmin的MySQL用戶,密碼為ftpadminPassword,並將數據庫ftpusers的相關權限賦給該用戶:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftpusers.* TO
『ftpadmin』@'localhost』 IDENTIFIED BY 『ftpadminPassword』;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftpusers.* TO
『ftpadmin』@'localhost.localdomain』 IDENTIFIED BY 『ftpadminPassword』;
mysql> FLUSH PRIVILEGES;
然後,我們在該數據庫中,創建一個users表,其SQL語句如下:
mysql> USE ftpusers;
mysql> CREATE TABLE IF NOT EXISTS `users` (
`User` varchar(16) NOT NULL default 」,
`Password` varchar(32) NOT NULL default 」,
`Uid` int(11) NOT NULL,
`Gid` int(11) NOT NULL,
`Dir` varchar(128) NOT NULL default 」,
`QuotaFiles` int(10) NOT NULL default 『500′,
`QuotaSize` int(10) NOT NULL default 『30′,
`ULBandwidth` int(10) NOT NULL default 『80′,
`DLBandwidth` int(10) NOT NULL default 『80′,
`Ipaddress` varchar(15) NOT NULL default 『*』,
`Comment` tinytext,
`Status` enum(』0′,』1′) NOT NULL default 『1′,
`ULRatio` smallint(5) NOT NULL default 『1′,
`DLRatio` smallint(5) NOT NULL default 『1′,
PRIMARY KEY (`User`),
UNIQUE KEY `User` (`User`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
mysql> quit
5.配置Pure-FTPd 的mysql.conf
$ sudo mv /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf_orig
$ sudo nano /etc/pure-ftpd/db/mysql.conf
內容為:
MYSQLServer 127.0.0.1
MYSQLSocket /var/run/mysqld/mysqld.sock
MYSQLUser ftpadmin
MYSQLPassword ftpadminPassword
MYSQLDatabase ftpusers
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetUID SELECT Uid FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetGID SELECT Gid FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetDir SELECT Dir FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
$ sudo chmod g=o= /etc/pure-ftpd/db/mysql.conf
$ sudo /etc/init.d/pure-ftpd-mysql restart
三、實現FTP用戶的Web管理
1、安裝User manager for PureFTPd
$ cd ~
$ wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
$ cd /var/www
$ sudo tar xfvz ~/ftp_v2.1.tar.gz
2、配置User manager for PureFTPd
我們來修改/var/www/ftp/config.php:
$ sudo nano /var/www/ftp/config.php
[...]
$LANG = 「Chinese」;
$LocationImages = 「images」;
$DBHost = 「127.0.0.1〞;
$DBLogin = 「ftpadmin」;
$DBPassword = 「ftpadminPassword」;
$DBDatabase = 「ftpusers」;
$FTPAddress = 「ubox.mytest.com:21〞;
$DEFUserID = 「2001〞;
$DEFGroupID = 「2001〞;
$UsersFile = 「/etc/passwd」;
$GroupFile = 「/etc/group」;
$StyleSheet = 「style/default.css.php」;
$EnableQuota = 1;
$EnableRatio = 1;
[...]
上述配置中,MySQL數據庫的用戶名、密碼、數據庫名及FTPAddress,請按自己的實際情況修改。最後兩行設置,默認啟用Quota和速率限制。
3、設置User manager for PureFTPd 管理員
$ mysql -u root -p
mysql> USE ftpusers;
mysql> CREATE TABLE IF NOT EXISTS `admin` (
`Username` varchar(35) NOT NULL default 」,
`Password` char(32) NOT NULL default 」,
PRIMARY KEY (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
然後,我們向「admin」表中,插入一個名為ftpadmin的管理員,該管理員的密碼為「ftpadminPassword」:
INSERT INTO `admin` (`Username`, `Password`) VALUES
(』ftpadmin』, MD5(』ftpadminPassword』));
mysql> quit

流量監控BandWidthD 2.0.1(極推薦)

流量監控BandWidthD 2.0.1(極推薦)
比較不消耗資源

http://bandwidthd.sourceforge.net/
BandWidthD 2.0.1

資料來源
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14951

程式
-------------------------------

sudo apt-get -y --force-yes install  apache2  bandwidthd

sudo touch /etc/apache2/conf.d/bandwidthd.conf
sudo chmod  666   /etc/apache2/conf.d/bandwidthd.conf

sudo echo "Alias /bandwidthd /var/lib/bandwidthd/htdocs"  >  /etc/apache2/conf.d/bandwidthd.conf
sudo echo "<Location /bandwidthd>"  >>  /etc/apache2/conf.d/bandwidthd.conf
sudo echo "    Order deny,allow"  >>  /etc/apache2/conf.d/bandwidthd.conf
sudo sudo echo "#    Deny from all"  >>  /etc/apache2/conf.d/bandwidthd.conf
sudo echo "    Allow from 127.0.0.1"  >>  /etc/apache2/conf.d/bandwidthd.conf
sudo echo "    Allow from ::1"  >>  /etc/apache2/conf.d/bandwidthd.conf
sudo echo "    # Allow from .example.com"  >>  /etc/apache2/conf.d/bandwidthd.conf
sudo echo "</Location>"  >>  /etc/apache2/conf.d/bandwidthd.conf

sudo /etc/init.d/bandwidthd restart
sudo /etc/init.d/apache2 restart
#chkconfig httpd on

firefox http://localhost/bandwidthd &

2011年5月4日 星期三

client安裝

  1. 使用MySQL,所以要先到該安裝光碟之MySQL資料夾中,安裝mysql-connector-odbc-3.51.12-win32.msi
  2. 執行autorum.exe,安裝新clent系統(網路版)
  3. 至安裝之資料夾,修改BIBS.INI檔
    • database=BibMySQL
  4. 至控制臺 / 系統管理工具 / 資料來源(ODBC)
    • 系統資料來源名稱 bibMysql (BibMysql) <--大小寫好像不太分
    • server 172.16.1.4
    • user bibs
    • password bibs
    • databases bibs
 
文章來源

port

新Nbinet連不進去,查詢一下防火牆 2082 tcp沒有開放,
請開啟相關PORT 1433 與 80 使其通過

主機圖書系統IP有更動(網路版)

有關學英客戶端 (主機IP更動時) 處理方式
到以下資料夾(預設安裝路徑的話)
C:\Program Files\libase202\lwizard.exe <-執行
1.選擇網路 ->下一步
2.輸入主機IP->下一步 完成
方可完成

2011年4月22日 星期五

iptable基本

引自 http://blog.panyaya.com/2010/12/iptables.html
1. 觀察目前iptables設定
# iptables -L -n
2. 打開Forward
# echo "1" > /proc/sys/net/ipv4/ip_forward
3. 清除所有iptables規則
清除預設表filter中,所有規則鏈中的規則
# iptables -F
清除預設表filter中,使用者自訂鏈的規則
# iptables -X
清除mangle表中,所有規則鏈中的規則
# iptables -F -t mangle
清除mangle表中,使用者自訂鏈的規則
# iptables -t mangle -X
清除nat表中,所有規則鏈中的規則
# iptables -t nat -F
清除nat表中,使用者自訂鏈的規則
# iptables -t nat -X
參數說明
-F: 清除所有的已訂定的規則
-X: 清除所有使用者建立的規則
-Z: 將所有的chain的計數與流量統計都歸零
4. 選擇Policy
# iptables [-t tables] [-P] [INPUT,OUTPUT,FORWARD | PREROUTING,OUTPUT,POSTROUTING] [ACCEPT,DROP]
參數說明
-P: 定義政策
INPUT: 封包為輸入主機的方向
OUTPUT: 封包為輸出主機的方向
FORWARD: 封包為不進入主機而向外再傳輸出去的方向
PREROUTING: 在進入路由之前進行的工作
OUTPUT: 封包為輸出主機的方向
POSTROUTING: 在進入路由之後進行工作
設定全部丟棄
# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -P FORWARD DROP
設定全部接受
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT
一般設定
# iptables -P INPUT DROP
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -t nat -P PREROUTING ACCEPT
# iptables -t nat -P OUTPUT ACCEPT
# iptables -t nat -P POSTROUTING ACCEPT

iptables服務先關閉

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P POSTROUTING DROP
iptables -t nat -P OUTPUT DROP
再依你的需求一條一條的加進你的rule,一邊加邊測試

2011年4月21日 星期四

iptable限流量

linux下通過iptables限制流量,簡單,實用。首先需要將這台機器配置成閘道。

1.配置iptables轉發

2.限速腳本
vi /root/xiansu.sh
  #!/bin/bash
/sbin/iptables -F FORWARD
#限制網段
for ((i = 1; i < 253; i++))  do
/sbin/iptables -A FORWARD -s 192.168.2.$i -m limit \
   --limit 60/s -j ACCEPT
/sbin/iptables -A FORWARD -s 192.168.2.$i -j DROP

done
#限制單個ip
  /sbin/iptables -A FORWARD -s 192.168.1.135/32 -m limit \
     --limit 60/s -j ACCEPT
/sbin/iptables -A FORWARD -s 192.168.1.135/32 -j DROP


2.增加執行權限:
chmod+x /root/xiansu.sh

當流量小於60/s的時候,iptables 接受並轉發。當流量大於60/s 的時候,iptables丟棄數據包。

XP修改網路IP

  匯出
     netsh -c interface dump >c:\netset.txt
     當然,interface可以簡寫成int,dump更可簡化成d,所以就變成了
     netsh -c int d >c:\netset.txt
  匯入
     netsh -f c:\netset.txt 即可
-----------------------------------------------------
netset內容 可編寫批次檔 netsh -f netset.txt
---------------------------------------------
#=========
# 介面設定
#=========
pushd interface
reset all

popd
# 介面設定結束
#=========
# 介面設定
#=========
pushd interface ipv6
uninstall

popd
# 介面設定結束

# ----------------------------------
# ISATAP 設定
# ----------------------------------
pushd interface ipv6 isatap

popd
# ISATAP 設定結束

# ----------------------------------
# 6to4 設定
# ----------------------------------
pushd interface ipv6 6to4
reset

popd
# 6to4 設定結束
#========================
# 連接埠 Proxy 設定
#========================
pushd interface portproxy
reset

popd
# 連接埠 Proxy 設定結束

# ----------------------------------
# 介面 IP 設定        
# ----------------------------------
pushd interface ip

# "區域連線" 的介面 IP 設定
set address name="區域連線" source=static addr=192.168.1.7 mask=255.255.255.0
set address name="區域連線" gateway=192.168.1.1 gwmetric=0
set dns name="區域連線" source=static addr=168.95.1.1 register=PRIMARY
set wins name="區域連線" source=static addr=none

popd
# 介面 IP 設定結束

2011年4月19日 星期二

2011年2月18日 星期五

小紅傘更新序號

開啟C:\Program Files\Avira\AntiVir Desktop\fact.exe
我有一個有效 hbedv.key

http://dl2.avgate.net/down/windows/hbedv.key

系統更新

指令一:sudo apt-get update
說明:用來取得遠端更新伺服器的套件檔案清單。

指令二:sudo apt-get -y dist-upgrade
說明:更新套件。

指令三:sudo apt-get clean
說明:清除更新時所下載回來的更新(安裝)檔案。

adsl

acfs1.2 server版 adsl撥接
pppoeconf

2011年2月15日 星期二

Geany設定gtk2

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {
    GtkWidget *window;

    gtk_init(&argc, &argv);
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window), "哈囉!GTK+!");
    gtk_widget_show(window);
    gtk_main();

    return 0;
}

檔名存成.c
建立>set build commands >

編譯gcc  %f -o %e `pkg-config --cflags --libs gtk+-2.0`

編譯指令

$ gcc hello.c -o hello `pkg-config --cflags --libs gtk+-2.0`
$ ./hello

安裝gtk

文章來源
http://caterpillar.onlyfun.net/Gossip/GTKGossip/GTKUnderUbuntu.html

由於GTK主要以C語言撰寫,必須有C編譯器,Ubuntu預設安裝好後就有gcc了,不過缺少必要的Header file,您可以在文字模式下,安裝build-essential套件,例如:
sudo apt-get install build-essential

安裝完成後,可以寫個基本的C語言程式:

    * hello.c

#include <stdio.h>

int main(void) {
    printf("Hello! World!\n");
    printf("哈囉!C語言!\n");
    return 0;
}


編譯並執行看看:
$ gcc -o hello hello.c
$./hello
Hello! Worl
哈囉!C語言!


再來安裝GTK開發套件libgtk2.0-dev:
sudo apt-get install libgtk2.0-dev

安裝完成後,可以使用pkg-config查看一下GTK的相關編譯環境資訊:
pkg-config --cflags --libs gtk+-2.0


pkg-config會讀取GTK附帶的.pc檔來取得相關編譯資訊,--cflags會列出include目錄,--libs列出所連結的函式庫及其所在目錄,以我的電腦為例:
$ pkg-config --cflags --libs gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

可以分開執行比較清楚,例如:
$ pkg-config --cflags gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 
$ pkg-config --libs gtk+-2.0
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

所連結的函式庫包括了(擷取翻譯自Compiling Hello World):

    * GTK(-lgtk):基於 GDK 的 widget 函式庫。
    * GDK(-lgdk):Xlib 包裏(Wrapper)。.
    * gdk-pixbuf(-lgdk_pixbuf):影像處理函式庫。
    * Pango(-lpango):國際化文字。
    * gobject(-lgobject):GTK 用以為基礎的型態系統。
    * gmodule(-lgmodule):用來載入執行時期的擴充。
    * GLib(-lglib):包括各種函式,GTK 基於 GLib,所以您會需要這個函式庫。
    * Xlib(-lX11):被 GDK 所使用。
    * Xext(-lXext):包括共享記憶體 pixmaps(shared memory pixmaps)與其它 X 擴充。
    * math(-lm):因各種目的而被 GTK 所使用的數學函式庫。


GTK基於GDK(Gnome Drawing Kit),GDK顧名思義,就是一個與繪圖相關的開發工具箱,GDK將Xlib(X函式庫)加以包裝簡化,像是點、線、視窗、色彩等的設定,以及鍵盤、滑鼠等事件的支援。

GLib基本上是將C的型態、陣列、函式庫等重新包裝,例如在/usr/include/glib-2.0/glib/gtypes.h中,定義了一些基本資料型態,使其更容易達到可攜性:
typedef char   gchar;
typedef short  gshort;
typedef long   glong;
typedef int    gint;
typedef gint   gboolean;

typedef unsigned char   guchar;
typedef unsigned short  gushort;
typedef unsigned long   gulong;
typedef unsigned int    guint;

typedef float   gfloat;
typedef double  gdouble;

在撰寫GTK程式時,若見到以g_開頭的型態或函式,或是以G_開頭的巨集,都是由GLib提供。

雖然說GTK基於GDK及GLib,但在撰寫GTK程式時,也常見到GDK及GLib相關函式或結構,所以更確實的說法是,GTK本身專注在視窗元件之安排,並與GDK及GLib緊密結合。

安裝gtk

 再來安裝GTK開發套件libgtk2.0-dev:
sudo apt-get install libgtk2.0-dev

apt-get install libgnome2-dev
才不會出現以下錯誤
gtk-x11-2.0
ld: cannot find -lgdk-x11-2.0
ld: cannot find -lglib-2.0
ld: cannot find -lpango-1.0
ld: cannot find -lpangox-1.0
ld: cannot find -lgobject-2.0
ld: cannot find -lgdk_pixbuf-2.0
ld: cannot find -lgmodule-2.0
ld: cannot find -latk-1.0

compiler

fbc 1.bas

setup freebasic

  o Linux version:

    - Unpack the tar gzip archive to any folder.

    - Run "sudo ./install.sh -i" from that directory to install the binaries,
      libraries and include files into the system as root, at the default
      location of /usr/local.

    - Note: to uninstall FreeBASIC, you can run "install.sh -u"
     
  o Linux (standalone) version:

    - Unpack the tar gzip archive to any folder.

    - Run "sudo ./install-standalone.sh -i" from that directory to install
      the binaries, libraries and include files into the system as root, at
      the default location /usr/share/freebasic. A link to the compiler
      binary will be created at /usr/bin/fbc. If you don't have root
      privileges, you can also install into a custom directory; run the
      install-standalone.sh script with no arguments for more info. Be warned
      though that installing with no root privileges will prevent the script
      from installing a link to the binary into /usr/bin/fbc.

    - Note: to uninstall FreeBASIC, you can run "install-standalone.sh -u"

2011年2月12日 星期六

remastersys

sudo vi /etc/apt/sources.list

# Remastersys
deb http://www.remastersys.klikit-linux.com/repository remastersys/



sudo apt-get update
sudo apt-get install remastersys

2011年2月2日 星期三

EPROM

1、組建網卡啟動芯片:做無盤網絡,離不開網卡啟動芯片。
  2、還原卡寫BOOTROM芯片
  3、做阿爾派斯系統的啟動芯片
  4、其它領域:打印機存儲芯片、製作不怕CIH的BIOS芯片等。
  5、教學領域:目前,計算機學校越來越多,你可以使用EPROM編程器做無盤、計算機維護等方面的教學演示。

2011年2月1日 星期二

Lubuntu更改密碼

安裝後
sudo su -
直接按enter

passwd

Lubuntu

學校一台近10年老舊電腦 竟無法裝ubuntu,更別說kubuntu
還好投向Lubuntu
可以裝耶
Lubuntu讚

還原卡製作

http://www.biosrepair.com/pic/pic37.htm

http://www.biosrepair.com/pic/pic36-9.htm

各晶片資料
http://www.biosrepair.com/biosdl/anotheric.htm

還原卡

http://topic.csdn.net/t/20040102/10/2625637.html

具體操作方法:
 

一、網卡串行芯片的修改:

1、首先,在計算機中插入一塊8139網卡(不插BootRom啟動芯片)。利用pg8139.exe軟件導出此pci8139卡中的93c64串行存儲芯片的內容,存盤文件為8139x.map。   格式:   pg8139   /r   /pci  

注意:此文件的大小為800字節,如果你沒有,可從下面下載。

2、其次,修改存盤文件8139x.map文件的內容,此文件為文本文檔,edit命令修改即可。在DOS狀態下,輸入命令:

EDIT   8139x.map,出現如下畫面:  


在第一行的數據中,從EC開始的4個字節為廠商信息,必須被改為57   FF   14   57   ;從00開始至下行的6個字節為:00   E0   4C   00   00   0F。其中,00   E0   4C   00   00   0F是卡號,把E0改為05,後面四位卡號按我們給出的修改。此外,卡號後面的第一個字節需改為14。以上的修改完成後存盤退出。  

3、把上面修改好的文件寫入網卡的串行芯片中,使用的命令為:

pg8139   /w   /pci


二、網卡啟動芯片文件的修改:

1、用編輯軟件(如WINHEX等),對啟動芯片文件27C512.BIN進行修改,修改00007FF0H那一行,其中,20020819不要改,只改後面四位卡號,和網卡串行芯片中的卡號一致即可,這樣就沒有時間限制了。


2、把修改後的寫入27C512.BIN到一片27C512芯片中,把芯片插在網卡的啟動芯片的插座中,插入時,注意芯片缺口的方向和插座缺口的方向一致。  
如果沒有啟動芯片,也可以把該文件寫入到主板的BIOS文件中。主板BIOS一般以AWARD和AMI居多,兩家也分別提供了BIOS修改工具:CBROM   和   AMIBCP。CBROM是基於命令行的程序,具體功能可以通過CBROM   /?   獲得。我們這裡只會用到兩種:CBROM   BIOS.BIN   /PCI   27C512.BIN和   CBROM   BIOS.BIN   /XXX   RELEASE。第一個命令就是將啟動的ROM文件加入到BIOS文件裡,第二個命令意思是當你的BIOS剩餘空間不足50K時,從BIOS裡刪除一些你認為不重要的模塊來獲得多餘空間(因為網卡的ROM文件壓縮後至少需要50K的空間)至於AMI的BIOS工具AMIBCP是圖形界面的,比較友好。進入到修改模塊的選項後,通過DEL   和   INSERT   鍵就可以刪除和添加模塊。
具體操作如下:(以AWARD   bios   為例子)
1.用   awdflash   備份你主板的BIOS到文件:bios.bin
2.用   cbrom   bios.bin   /d   察看BIOS文件裡的剩餘容量是否大於50K
3.如果小於50K,則用   cbrom   bios.bin   /不重要的模塊   release   來獲得空間
4.如果大於50K,則直接用   cbrom   bios.bin   /pci   27C512.bin   來合成
5.最後用   awdflash   bios.bin   /py   /sn   將文件刷到主板。

具體的看這裡:
http://sdkh.51.net/bhk/hus.htm

為什麼在如下操作:
在第一行的數據中,從EC開始的4個字節為廠商信息,必須被改為57   FF   14   57   ;(為什麼要這樣改?)從00開始至下行的6個字節為:00   E0   4C   00   00   0F。其中,00   E0   4C   00   00   0F是卡號,(網卡的卡號嗎?是怎麼回事)把E0改為05,(為什麼是05?)後面四位卡號按我們給出的修改。此外,卡號後面的第一個字節需改為14(為什麼是14?)。以上的修改完成後存盤退出。 

Linux下DOM製作流程

http://ericbbs.blogspot.com/search/label/Linux%20%E5%B0%8F%E5%9E%8Biso

Vsftpd.log

預設安裝Ubuntu時,安裝vsftpd伺服器
於/var/log/vsftpd.log 不會自動產生log輪轉的問題!!

解決方式:
apt-get install logrotate
logrotate -vf /etc/logrotate.conf

學生電腦重新命名

文章摘錄
http://lsslab.blogspot.com/2009/04/windows-windows-xp.html
-------------------------------------------------------------------------

wmic.exe ComputerSystem Where Name="%ComputerName%" Rename Name="NewComputerName"

wmic.exe 是 wmi 的命令列版本,用起來應該是沒有後遺症的。為了節省打字的時間,我把他改寫成批次檔 s.bat 放在 c:\:

wmic.exe ComputerSystem Where Name="%ComputerName%" Rename Name="stu-%1"

於是,整個步驟化簡成:

Win+R > \s 01

01 是電腦編號, s 01 就把電腦重新命名為 stu-01 了。

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裡的內容