2010年12月13日 星期一

iptables Linux的 Firewall (testing)

My iptables 設定,
OS: Ubuntu 10.04 LTS
iptables version: 1.4.4
-------------------------------------------------------------

# Loopback is totally open
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Log and block IP spoof from outside
iptables -A INPUT -s 255.0.0.0/8 -j LOG --log-prefix "spoofed source ip"
iptables -A INPUT -s 255.0.0.0/8 -j DROP
iptables -A INPUT -s 0.0.0.0/8 -j LOG --log-prefix "spoofed source ip"
iptables -A INPUT -s 0.0.0.0/8 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j LOG --log-prefix "spoofed source ip"
iptables -A INPUT -s 10.0.0.0/8 -j DROP
-------------------------------------------------------------

# iptables --help
Usage: iptables -[AD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -R chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LS] [chain [rulenum]] [options]
       iptables -[FZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
       iptables -h (print this help information)

Commands:
Either long or short options are allowed.
  --append  -A chain Append to chain
  --delete  -D chain Delete matching rule from chain
  --delete  -D chain rulenum
Delete rule rulenum (1 = first) from chain
  --insert  -I chain [rulenum]
Insert in chain as rulenum (default 1=first)
  --replace -R chain rulenum
Replace rule rulenum (1 = first) in chain
  --list    -L [chain [rulenum]]
List the rules in a chain or all chains
  --list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
  --flush   -F [chain] Delete all rules in  chain or all chains
  --zero    -Z [chain] Zero counters in chain or all chains
  --new     -N chain Create a new user-defined chain
  --delete-chain
            -X [chain] Delete a user-defined chain
  --policy  -P chain target
Change policy on chain to target
  --rename-chain
            -E old-chain new-chain
Change chain name, (moving any references)
Options:
[!] --proto -p proto protocol: by number or name, eg. `tcp'
[!] --source -s address[/mask]
source specification
[!] --destination -d address[/mask]
destination specification
[!] --in-interface -i input name[+]
network interface name ([+] for wildcard)
 --jump -j target
target for rule (may load target extension)
  --goto      -g chain
                              jump to chain with no return
  --match -m match
extended match (may load extension)
  --numeric -n numeric output of addresses and ports
[!] --out-interface -o output name[+]
network interface name ([+] for wildcard)
  --table -t table table to manipulate (default: `filter')
  --verbose -v verbose mode
  --line-numbers print line numbers when listing
  --exact -x expand numbers (display exact values)
[!] --fragment -f match second or further fragments only
  --modprobe=<command> try to insert modules using this command
  --set-counters PKTS BYTES set the counter during insert/append
[!] --version -V print package version.

2010年12月12日 星期日

root設定密碼 on Ubuntu 10.04 LTS

昨天為了測試 ubuntu 的 sbackup軟體,它所備份出來的檔案放在 /var/backup下,但無法sudo cd 進去,直接用「su -」變身root ,但熊熊想不起來…我當初安裝ubuntu時,真的有要我設定root的密碼嗎?? 上網google查一下,原來預設Ubuntu的 root預設是沒有密碼的,還是會有用到的緊急時刻,所以還是快點設定吧,

1) 切換為 root:(以下輸入目前使用者密碼)
# sudo su -

2) root 身份下更換密碼:

root# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

3) 補充說明:
後來才知道,其實 1)做完就OK了,沒必要做 2) 徒增風險... XD


Done!!


參考資料:
我發現了ubuntu進入root帳號的方法 [論壇 - 新手村]

2010年12月11日 星期六

升級NAS-01G 的 MLdonkey

買來這台 PLANEX的 NAS-01G已經5年多了,台灣官方 Firmware一直停在 3.00,內建的 MLdonkey版本也停留在2.8.2,網路很多人已經升到 3.0版,而且還安裝了 Debian  (不過我是不需要 -_-"),目前 MLdonkey已經到了 3.0.6版,抓檔效率已經進步不少,所以還是升級一下唄~

1) 程式下載:
你可以到 MLdonkey官網自行下載進入NAS-01G內編譯(前提有安裝 Debian),記得要別抓錯版本,記得要抓 Linux的.
OR
去這個 SoHo NAS討論區,有人已經編譯好了,可以直接下載來用.  推薦!!

2) backdoor檔案製作:
使用文字編輯器輸入下面兩行,並存檔為「backdoor」,

  1. mv /mnt/mlnet /mnt/mlnet.old
  2. cp /mnt/Share/mlnet /mnt
3) 程式上載:
將 1)抓的檔案解壓內的「mlnet」及 2)編輯的純文字檔「backdoor」放入NAS-01G網路芳鄰的分享資料夾內ex:「\\NAS的IP\Share」後,將 NAS-01G重開機~
機器重開機完成後,利用網址「http://NAS的IP:4080/」應該就可以看到 MLdonkey 3.0.6的banner,enjoy it!!

4) 補充說明:
  •  MLdonkey 3.0.6設定參數的地方,在網頁上方的Input,例如第一次覆蓋完重開機,好像會要求你設定 admin的帳號和密碼
  •  MLdonkey升級完成後,記得把 Share的「backdoor」檔案移除

參考資料:
支援BT的窮人NAS-PCI NAS-01G(in Mobile01)
PCI NAS-01G 改機實錄 (in 數位男女)
[Nas-01g] mldonkey 編譯
Nas-01g BT下載用的好東西 rtorrent

2010年12月10日 星期五

APT / DPKG 基本指令說明

1) 設定檔: /etc/apt/sources.list
   很重要!! 記錄了APT套件庫的位置,以便於讓client(一般使用者)可以取得套件.
格式為,,,
類型     URI     發行版本(Distribution)     組別(Section)
★ URI - APT伺服器的位址及使用協定


2) dpkg 常用指令:


dpkg -i package.deb 安裝套件

dpkg -r package 移除套件(留下設定檔)

dpkg -P package 移除套件(設定檔不留下)

dpkg -L package 列出套件已安裝的目錄及檔案

dpkg -l package 顯示套件版本

dpkg -unpack package.deb 解開 deb套件的內容

dpkg -S filename 搜索該檔案案所屬的套件名稱(自建的檔案就會找不到)

dpkg -l 列出目前系統已安裝的套件

dpkg -c package.deb 列出 deb套件的內容(只觀看)

3) apt 相關指令:

apt-get update   (更新套件索引清單)

apt-get upgrade   (套件直接升級更新)

apt-get -y dist-upgrade  (套件直接升級,同時安裝新套件以解決相依性問題)

apt-get install package   (安裝套件)

apt-get remove package   移除套件(留下設定檔)

apt-get --purge remove package   移除套件(設定檔不留下)

apt-cache search package   (由套件索引清單內查看是否有此套件)

apt-cache depends package   (查詢套件的所有相依性檔案)

apt-setup  (用來設定 /etc/apt/sources.lst)

apt-get source   套件名稱 (若 sources.lst 中設定 deb-src,就可以用此指令來抓取程式的原始碼)


apt-get clean   (清除之前利用apt-get install所下載來的套件, 位於 /var/cache/apt/archives)

dpkg-reconfigure package   (重設套件的相關設定或選項)

4) 補充說明:
  • apt 的圖形介面:apt-get install synaptic
  • 如果常用apt-get install安裝軟體,建議定期執行 apt-get clean清一下垃圾

 參考資料:

2010年12月8日 星期三

系統資訊相關指令筆記

Linux上面沒有裝置管理員,但還是有其他(指令)工具可以用,

1) dmesg
輸出資訊很多,可以配合用 more 、 less 或 grep查詢

2) uname
 參數「-a」輸出kernel、hostname…等資訊

3) x86info
 x86主機專用,可查詢CPU 詳細資訊

4) runlevel
 查詢目前的 runlevel

5) arch
 查詢目前 Linux的系統架構 (ex: i386、i686、sparc…)

6) ifconfig
  查詢目前系統網路卡資訊(ex: IP Add、MAC)

7) mount
  目前系統所掛載的檔案系統

8) printenv
  查詢目前的環境變數,以及使用者的環境變數狀況

9) top
  即時監控系統目前資源使用情況 (ex: CPU、Memory...)

10) cat /proc/iports
  查詢系統 I/O 使用狀況

11)  ps -aux 、pstree 和 jobs
  系統每執行一個檔案後,就會產生一個執行序(process),有些程式是前景執行,有些則是在背景執行. 一但這些 process掛掉,代表這個應用程式或服務已經中斷了. 我們可以透過上面的指令,查詢 process運作情況,並做相關的處理動作. (ex: 砍掉某個當掉的程序.. kill PID)

12) service --status-all
  查詢目前系統中的服務運作情況,其他動作可以利用「service --help」

13) netstat -ln | more
  監控遠端連進系統服務的資訊

14) lsof
  查看目前系統所有 process所開啟的檔案

15) tcpdump
  截取網路中傳輸的資料以進行分析

16) renice -15 2000
  改變 process的 priority

17) who
  查詢系統使用者登入情況

18)  w
  查詢系統使用者登入及其 process

19) finger
  顯示使用者從遠端登入的情形

20) last
  顯示使用者登入的歷史紀錄

21) uptime
  秀出系統從開啟到現在(未關機)的時間

2010年12月7日 星期二

Gnome 相關設定

Gnome (The GNU Network Object Model Environment) 是一個為 Open Source For Unix-like OS提供易用、人性化的桌面使用環境.
OS: Ubuntu 10.04 LTS

1) 如何使 gnome的桌面設定回到初使值?
# 「CTRL + ALT + F1」三個按鈕一起按回到 command-line環境,
#  在家目錄下刪除下列檔案「.gnome .gnome2 .gconf .gconfd .metacity
# 「CTRL + ALT + F7」三個按鈕一起按回到 Gnome GUI 桌面.
Done!

2) not yet

2010年12月6日 星期一

資料夾名稱的更改方法 on Ubuntu 10.04 LTS

裝好Ubuntu後就一直想到這個問題,目錄是中文(桌面、下載、文件、公共、圖片、模板、音樂 、影片) 真的很討厭,總不可能永遠都在GUI 企面,昨天就在谷哥上面找到了方法,,

1) 目錄直接改為英文:

# mv 下載 download
# mv 公共 publicshare
# mv 桌面 desktop
# mv 圖片 pictures
# mv 模板 templates
# mv 音樂 music
# mv 文件 documents
# mv 影片 videos

2) 更改使用者目錄名稱對映設定檔:
# vi ~/.config/user-dirs.dirs

XDG_DESKTOP_DIR="$HOME/desktop"
XDG_DOWNLOAD_DIR="$HOME/download"
XDG_TEMPLATES_DIR="$HOME/templates"
XDG_PUBLICSHARE_DIR="$HOME/publicshare"
XDG_DOCUMENTS_DIR="$HOME/documents"
XDG_MUSIC_DIR="$HOME/music"
XDG_PICTURES_DIR="$HOME/pictures"
XDG_VIDEOS_DIR="$HOME/videos"
把原來目錄的中文名稱改為之前更名後的英文名稱.

3) 讓使用者目錄名稱對映關係生效:
# xdg-user-dirs-update
?? 不過我用這個指令卻沒有出現任何畫面,怪

重新開機登入測試看看吧~