Archive for 十一月, 2007

常用的網路軟硬體相關指令

host 查詢Domain資料
nslookup 查詢Domain資料
hostname 設定(查詢)本機名稱
mtr 加強版tracert(需安裝)
dnstracer 樹狀圖dns資料查詢
ifconfig 網路硬體相關
sockstat 觀看哪些process聽了哪些port
netstat -an 觀看哪些port開啟

gateway_enable="YES"
相當於開機時設定sysctl -w net.inet.ip.forwarding=1

Ex:

新增IP:
ifconfig 介面 IP alias

刪除IP:
ifconfig 介面 delete IP

關閉網卡:
ifconfig 介面 down

重開interface
/etc/rc.d/netif restart

重整route
/etc/rc.d/routing restart

route 路由相關(不含看路由表)

Ex:

新增預設: route add GATEWAY

新增條件: route add -net IP區段(可用ip/mask或者直接打.0) GATEWAY

netstat -r 看路由表(再加n可以不反查,網路不通時跳過反查delay很需要)

/etc/hosts 最優先解釋依據

/etc/resolv.conf 記載DNSserver位置
domain=本地網域名稱,(可能是)單查主機名時會自動加上往外丟/有此domain在後的自動找內部
nameserver=使用DNS Server
search=當僅搜尋主機名稱卻找不到時會自動加上的網域名稱,用空白分隔(非必要)

netstat 顯示目前的連接狀態,包括TCP/IP連接和Unix socket連接。

fping 廣域ping,可以用參數指定範圍,grep alive來檢查整段有哪幾台有回應

namp 強力掃描工具,有其他參數如-A可以取得其他資訊

如果要將一些網路設定值設入rc.conf以便開機自動設定,相關參數可參考
http://www.study-area.org/2freebsd/config/01.htm

VLan Tag設置和rc.conf設定方式
http://www.cyberciti.biz/faq/howto-configure-freebsd-vlans-with-ifconfig-command/

ref:
http://www.cyberciti.biz/tips/freebsd-how-to-start-restart-stop-network-service.html
http://ftp.cse.yzu.edu.tw/pub/Mirror/FreeBSD/docs/completed/128.shtml.htm
http://linux-cisco.blogspot.com/2008/03/ip-scan-in-linux.html
http://dns-learning.twnic.net.tw/bind/intro4.html

發表迴響

proftpd + mysql on FreeBSD 7 Beta3

/usr/ports/ftp/proftpd-mysql/
/usr/local/etc/proftpd.conf
proftpd_enable="YES"

要支援FEAT UTF8要有把nls編進去!!!

基本上我用大多數的機器make install後是不會有太大問題…可是這回最主要的機器居然發生了不明問題
狀況大概是加了MySQL認證後,不管是本地PAM還是MySQL認證,認證錯誤則矣,就login incorrect跳開。但要是認證對了,就會顯示421 service unavailable… 然後跳開。
最後是把SQLAuthenticate設On (原本用users groups usersetfast groupsetfast)解決。

比較重要的功能性設定大概是…
RequireValidShell off :帳號不需要有效的shell(某些條件為前提來說,就是不能ssh的帳號(如虛擬帳號)也能登入)
UseReverseDNS off :不反查DNS
IdentLookups off :要不要開identd查詢真實名稱
DefaultRoot ~ !staff :除了staff群組以外都鎖定家目錄為根目錄
AllowForeignAddress on :允許fxp

下面是一些基本log參數,好像可以用extendlog來新增一些自訂的log事件
SQLLogFile /var/log/proftpd/mysql.log
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/system.log

(其實這些參數都可以在userguide查到)

ref:
http://www.proftpd.org/docs/
http://www.proftpd.org/localsite/Userguide/linked/userguide.html
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-SSH.html
http://blog.ssh.tw/?p=870

發表迴響

VPN(PP2P,PPTP等windows可直接使用者為主)(+NAT)

發表迴響

NFS on FreeBSD 7.0 Beta3

NFS
預設就有,免安裝
分成client跟server兩部分,而後追加AMD(automatic mount device?)

網路上加很多東西,可是我rc.conf只加三行(#的flag好像都是預設值)

rpcbind_enable="YES"
nfs_server_enable="YES"
#nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
#mountd_flags="-r"

分享出去的設定在
/etc/exports

設定是
[本機資料夾名稱] [屬性]
常用到的屬性有幾個
-alldirs :讓client可以從其下任何一個子目錄mount起來
-maproot= :讓對NFS寫入root的人變成誰,例如nobody
-network= :開放哪個網域/網址使用(可用-mask配合)
-ro :唯讀
更詳細的可以man exports

設完後重開機會自動啟動服務,或者手動啟動

/etc/rc.d/rpcbind start
nfsd -u -t -n4
mountd -r

就可以用

showmount -e

看到分享出來的資源了
若是無法看到或者無法使用,可以用

rpcbind [host]

來檢查三個服務有沒有都在上面

至於client的部分我完全沒做任何設定,用

mount_nfs 機器:分享資源 掛載點(需先建立空資料夾)

就可以掛起來
值得一提的是,不知道為什麼網卡mtu不設9000存取起來就會當掉的樣子
(在rc.conf下作類似下列設定)

ifconfig_em1="inet 192.168.7.5 netmask 255.255.255.0 mtu 9000"

至於amd,我沒有親自測試,不過拿其他已經有在跑的機器來研究後發現

amd_enable="YES"
amd_flags="-a /.amd_mnt -l /var/log/amd.log -x all /net /etc/amd.map"

(amd_flags不下的話會是以-p -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map為參數)
這幾樣參數可以寫在/etc/rc.conf,似乎也可以寫在/etc/rc.d/amd
而amd mount起來的東西要放在哪,就是決定在amd_flags而不是其主要設定檔
/etc/amd.map
下,這個檔只負責記錄要掛哪些東西
/.amd_mnt 表示實體會掛在哪
/net 表示虛擬點在哪

在虛擬點被要求的時候(例如去/net作ls),amd才會把NFS掛到/.amd_mnt(而且自動按機器分類)並作symbolic link到/net供使用

nfsref:
http://blog.havenlin.org/index.php/archives/category/技術文件/freebsd
http://fanqiang.chinaunix.net/a1/b2/20010419/144107_b.html
man exports

amdref:
http://blog.chifeng.name/2007/11/freebsdautomount.html
http://www.cs.unc.edu/~jeffay/dirt/FAQ/nfs_auto.html

發表迴響

Samba on FreeBSD

ports位置 /usr/ports/net/samba3
主設定檔 /usr/local/etc/smb.conf
rc.conf設定 samba_enable="YES"

除了按部就班make install裝起來以外,最需要注意的就是其帳號認證與系統帳號不完全同步
預設是沒有帳號的,要以(只能用root)
smbpasswd -a accountname
來新增使用者,但是使用者必須也同時存在於系統帳號內才可以。

smb.conf裡面的選項大致說明如下(我只列部分)
security = user 要密碼認證,可以設成不要(share),或者其他廣域認證(domain/ads)
[homes] 是一個特殊分享點,單獨且唯一,登入的時候大家就是會看到自己的帳號(匿名登入除外)作為資料夾名字,如果沒有特別定義path,那就會指到使用者的家目錄。

browseable = no 可否看到,不過僅對windows有效,smbclient -L下去好像不管設什麼都看的到
writable = yes #可否寫入,這個有開"且"使用者對該資料夾權限夠才能寫
guest ok = no #匿名看不看/動不動的到
create mode = 664 #建立檔案時預設mask
directory mode = 775 #建立資料夾預設mask
read only = no #好像跟writable相反,後設者勝
write list = @staff #群組staff的人可以寫,不同項目好像用空白分隔
directory name cache size = 0 #目錄過多時避免掉目錄

ref:
http://linux.vbird.org/linux_server/redhat6.1/linux_27samba.php
http://ostask.nchc.org.tw/intro_to_linux/part4/samba.html

發表迴響

Run daemon under clean enviroment

20:25 <@NotExist> chiouss: 我是要寫在start script例如/usr/local/etc/rc.d/mrtg_daemon裡面的@@
20:25 <@gslin_csie> 不要亂改那個檔案 :o
20:25 <@chiouss> NotExist: 大神在,自己拜  XD
20:26 <@gslin_csie> 你要跑乾淨的環境的話請跑 sudo env -i /usr/local/etc/rc.d/mrtg_daemon start
20:26 <@NotExist> gslin_csie: 可是我現在用那個啟動daemon他會跟我說我locale要改@@
20:26 <@NotExist> lol
20:26 <@gslin_csie> 請養成習慣用 env -i 跑 daemon @_@
20:26 <@NotExist> 太歡樂啦|o/

發表迴響

Installing Apache+MySQL+PHP

參考自
http://chiouss0817.wordpress.com/2006/04/29/install-apachephpmysql-from-ports/
雖然常常裝,可是每次都忘記,所以留記錄一下…

發表迴響

MRTG in FreeBSD 7.0

因為snmpd已經進base,所以不用另外裝net-snmp了,直接在放rc.conf

bsnmpd_enable="YES"

然後從ports裝mrtg

/usr/ports/net-mgmt/mrtg

裝好後設定檔在/usr/local/etc/mrtg/下有範本,不過還是用cfgmaker生比較快

cfgmaker public@127.0.0.1 > mrtg.cfg

(放在哪裡沒差,我是習慣放在/usr/local/etc/mrtg/)
(如果出現error,可能是需要裝/usr/ports/net-mgmt/p5-SNMP_Session)
生完的cfg還是需要修改,Workdir要改成放統計完成資料的絕對路徑
在下面加個Options[_]: growright讓圖像一般常看到的從右而左從新到舊產生
然後用

indexmaker mrtg.cfg > /home/http/mrtg/index.htm

生成index(mrtg.cfg跟index.htm視檔案的位置跟要放的地方決定)
最後跑幾次

env LANG=C /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg

(要加env是因為我locale預設是zhTW.UTF8)
等到沒error了(也就是檔案生成完了)
在/etc/rc.conf加上

mrtg_daemon_enable="YES"

開機就會自動開始統計,如果要手動啟動就執行

/usr/local/etc/rc.d/mrtg_daemon start

發表迴響