顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - treble

頁: [1] 2
1
各位大大好

小弟目前在linux上使用postfix-2.3.3,( 郵件主機名稱假設為@host1 )
確定基本寄信與收信功能運作正常(可寄到gmail,也可收到gmail的信)

接著要設定rewrites recipient addresses的工作
所以我在main.cf中加入virtual_alias_maps = regexp:/etc/postfix/virtual
並在/etc/postfix/virtual中加入以下
/^(.+101)/   ${1}@stu.xxx
/^(.+)/ ${1}@webmail.xxx
然後執行postmap /etc/postfix/virtual

從gmail寄信到b101@host1, postfix會幫我寄到b101@stu.xxx

但從gmail寄信到cc@host1, postfix沒有丟到cc@webmail.xxx
而且在/var/log/maillog中出現
Feb 23 14:11:10 testlinux1 postfix/smtpd[18907]: NOQUEUE: reject: RCPT from mail-ve0-f179.google.com[209.85.128.179]: 550 5.1.1 <cc@host1>: Recipient address rejected: User unknown in local recipient table; from=<raymond0820@gmail.com> to=<cc@host1> proto=ESMTP helo=<mail-ve0-f179.google.com>
Feb 23 14:11:10 testlinux1 postfix/smtpd[18907]: disconnect from mail-ve0-f179.google.com[209.85.128.179]


怎麼會這樣子呢?
感恩


2
系統安全討論版 / snort log輸出的筆記
« 於: 2013-01-11 11:29 »
之前裝snort後,大量的log和要輸出到那邊,這兩個問題總是困擾我
所以開始研究了一下如何減少log(透過threshold.conf)以及snort輸出目地(透過snort.conf)的方式
筆記如下,希望能幫助有需要的人

...........................................................................................

snort的output module
啟動snort時,snort會把報警資訊以module指定的格式輸出到指定位置
組態檔編輯位置:$snort_home/etc/snort.conf內的output部份

使用output module格式為
output : < name_of_plugin>: < configuration_options>
已知的name_of_plugin有以下

alert_fast
等同於輸出模式為fast,ex:snort -A fast
警報的訊息不會包含完整的packet header
警報只會輸在一個檔案
格式為 output alert_full:[< filename> [packet] [ < limit>]]
 filename:為指定的log檔
 packet:記錄完整的packet header

 

alert_full
等同於輸出模式為full,ex:snort -A full
警報的訊息會包含完整的packet header
警報預設輸出在目錄/var/log/snort內,或是由command指令中另外指定一個目錄
格式為 output alert_full:[< filename>[ < limit>]]
 filename:為指定的log檔
輸出格式大致如下
[**] [1:1019:20] signature name [**]
[Classification: type ] [Priority: num]
time source ip:port -> dest ip:port
proto TTL:num TOS:num ID:num IpLen:num DgmLen:num
option
[Xref => web1][Xref => web2]
ex:
[**] [1:1019:20] WEB-IIS Malformed Hit-Highlighting Argument File Access Attempt [**]
[Classification: Web Application Attack] [Priority: 1]
11/07-20:43:56.555022 10.10.2.154:6289 -> 10.10.1.180:80
TCP TTL:240 TOS:0x10 ID:0 IpLen:20 DgmLen:483
***AP*** Seq: 0xA775A97C Ack: 0xA5AD9402 Win: 0xFE44 TcpLen: 20
[Xref => http://www.securityfocus.com/archive/1/43762][Xref => http://www.microsoft.com/technet/security/bulletin/ms00-006.mspx]

 

alert unixsock
等同於輸出模式為unsock,ex:snort -A unsockl
將訊息傳到其他主機的程式
格式為 output alert_unixsock

 

syslog
將event傳送到本地syslog server
格式為 output alert_syslog: < facility> < priority> [options]
 facility:可選的值有log auth,log authpriv,log daemon,log local0,log local1,log local2,log local3,log local4,log local5,log local6,log local7,log user
 priority;可選的值有log emerg,log alert,log crit,log err,log warning,log notice,log info,log debug
 options:可選的值有log cons,log ndelay,log perror,log pid
ex:
output alert_syslog: LOG_AUTH LOG_ALERT
output alert_syslog: host=hostname:port, LOG_AUTH LOG_ALERT
輸出格式大致如下:
May 10 00:03:38 xxxxxx snort: INFO - ICQ Access [Classification:content:"MKD / " Priority: 0]: 10.1.1.1:54352 -> 10.2.2.5:80

 

csv
將警報資料寫成易於輸入資料庫的csv格式,格式內的欄位與順序皆可自訂
ps:此套件為Brian Caswell開發
格式為 output alert_csv:[< filename> [< format> [< limit>]]]
 filename:指定的log檔,預設為alert.csv
 format:"default"|< field(,< field>)*> 指定欄位格式,default是輸出所有欄位,順序為 timestamp,sig_generator,sig_id,sig_rev,msg,proto,src,srcport,dst,dstport,ethsrc,ethdst,ethlen,tcpflags,tcpseq,tcpack,tcplen,tcpwindow,ttl,tos,id,dgmlen,iplen,icmptype,icmpcode,icmpid,icmpseq
 limit:< number>[('G'|'M'|K')]
ex:
output alert_csv:/var/log/alert.csv default
output alert_csv:/var/log/alert.csv timestamp,msg
ps:可用複合CSV輸出,建立多個輸出文件,在每個文件中設定需要記錄欄位

 

unified
使用unified的格式,此格式可讓snort跑得更快
讀取此格式需使用unified log reader,ex:barnyard
格式為
output alert_unified:< base file name>[,< limit < filesize limit in MB>]
output log_unified:< base file name>[,< limit < filesize limit in MB>]

unified2
可代替unified的模組,有3種模式,分述如下
alert logging格式為
output alert_unified2:filename < basefilename>[,< limit< sizeinMB>][,nostamp] [,mpls_event_types]
packet logging格式為
output log_unified2:filename < basefilename>[,< limit< sizeinMB>][,nostamp]
true unified logging格式為
output unified2:filename < basefilename>[,< limit< sizeinMB>][,nostamp] [,mpls_event_types]

 

alert_prelude
產生prelude ids database可支援的格式
格式為
output alert_prelude:profile=< name of prelude profile> [info] [low] [medium]
 info: < priority number for info priority alerts>
 low: < priority number for low priority alerts>
 medium: < priority number for medium priority alerts>

 

tcpdump
使用tcpdump格式記錄
格式為 output log_tcpdump:[< filename>[< limit>]]
 filename 指定log的名稱,預設為logdir/snort.log
 limit 預設為128mb,自訂limit的格式為< number>[('G'|'M'|K')]
ex:
output log_tcpdump: snort_dump.log

 

database
將log傳送到sql database
ps:需先將資料庫及資料表建立好,並設定可存取資料的帳號
ps:2000年3月Jed Pickel開發的套件
格式為output database:< log type>,< database type>,< parameter list>
 log type:可用的值有log,alert
  使用log則呼叫log output chain
  使用alert則呼叫alert output chain
 database type:可用的值有mssql,mysql,postgresql,oracle,odbc
 parameter list:可用的parameter有以下
  host 資料庫主機位置 
  port 資料庫主機使用的port 
  dbname 資料庫名稱
  user 可存取dbname的使用者
  password 使用者的密碼
  sensor name 指定snort sensor的名稱,預設為automatically
  encoding < hex|base64|ascii> 編碼packet payload和option data的方式,預設為hex
  detail < full|fast> 指定記錄的詳細程度,預設為full
   fast記錄欄位為timestamp, signature, source ip, destination ip, source port, destination port, tcp flags,protocol
   full記錄欄位除了有fast的外還會包含ip/tcp option和payload
ex:
output database: log, mysql, dbname=snort user=snort host=localhost password=xyz
output database: log, mysql, user=snortuser password=snortpass dbname=snortdb host=localhost


XML
該module可把log或alert以XML格式,存放在本地文件、輸出到一個database、或者送到CERT進行處理。
資料會用SNML(Simple Network Markup Language,簡單網路標記語言/SNort Markup Language,snort標記語言)格式
支援協定包括HTTP、HTTPS、IAP(Intrusion Alert Protocol,入侵報警協定)
資料可用HEX、BASE64、ASCII
ps:
snort的XML output module為AIRCERT(Automated Incident-Reporting)工程的一部份
作者為Jed Pickel和Roman Danyliw
參考資料:http://www.cert.org/kb/snortxml

格式如下
output xml: log, file=/var/log/snort/snortxml-MMDD@HHMM
#把log輸出到/var/log/snort/snortxml-MMDD@HHMM,其中MMDD@HHMM分別是月日時分
output xml: alert,protocol=https host=your.server.org file=yourfile cert=mycert.crt key=mykey.pem ca=ca.crt server=srv_list.lst
#使用HTTPS輸出送到遠端伺服器your.server.org的文件yourfile 
#cert、key、ca與SSL有關
#server參數可以設定連接的伺服器列表 

 

...

threshold.conf
可消除誤報或無用的大量警告訊息
需在snort.conf中將include threshold.conf註解取消才會讀取進來


event filter
可減少noise alert及false alarm
格式為event_filter gen_id < id>, sig_id < id> , type < event filter type> , track < by_src|by_dst> , count < value> , seconds < value>
ps:
gen_id相關記錄可參考檔案$snort_home/etc/generators
sig_id相關記錄可參考各rule檔,preprocessor的sid可參考$snort_home/etc/gen-msg.map

event filter type
limit 在指定的time interval中只記錄前n筆event
threshold 在指定的time interval中,記錄每次n筆event
both 在指定的time interval中,只記錄第n筆event後的第一筆event
ps:
若gen_id=0,sig_id=0 表示全部事件
若僅sig_id=0 表示gen_id下的全部事件
ps:gen_id可以參考gen-msg.map
ex:
在每個60秒內僅記錄1筆事件
event_filter gen_id 1 , sig_id 1853,type limit,track by_src,count 1,seconds 60
在每個60秒內僅記錄第3筆事件 / 在每個60秒內僅在第3筆事件後才開始記錄
event_filter gen_id 1 , sig_id 1853,type threshold,track by_src,count 3,seconds 60
在60秒內超過30筆事件時,將記錄第31筆事件
event_filter gen_id 1 , sig_id 1853,type both,track by_src,count 30,seconds 60


event suppress
依照ip及來源停止記錄指定的event
格式為
suppress gen_id < id >, sid_id < id > [, track < by_src|by_dst >, ip < IP/MASK-BITS > ]
ex:
略過http_inspect: BARE BYTE UNICODE ENCODING訊息
suppress gen_id 119, sig_id 4 # http_inspect: BARE BYTE UNICODE ENCODING
略過snort_decoder: Tcp Options found with bad lengths
suppress gen_id 116 , sig_id 54
略過WEB-ATTACKS rm command attempt中目的ip地址是222.222.111.111的alert
suppress gen_id 1, sig_id 1365, track by_dst,ip 222.222.111.111

3
Linux 討論版 / squid proxy筆記
« 於: 2012-11-17 12:05 »
最近在架squid proxy,所以順便把之前的筆記整理一下
雖然網路上相關資料已經很多了,不過還是希望可以幫助有需要的人
若有不足的地方歡迎各位大大補充

..........................................................


Squid(http://www.squid-cache.org)
Squid=主要服務程式+DNS查詢程式+部份重寫請求和執行認證的程式+部份管理工具
ps:
Squid用一個單獨的、非模組化的、I/O驅動的進程來處理所有的用戶端請求,和一般的代理緩存軟體不同

支援
全功能的網頁代理快取 ex:HTTP,FTP,URL
gopher,SSL,存取控制,本身快取DNS查詢
ICP,HTCP,CARP,WCCP數種快取通訊協定

其他功能
可使用多台squid快取伺服器建構出快取架構
可用cachemgr.cgi透過網頁或利用SNMP做即時快取狀況查詢
使用ICP(輕量Internet緩存協議)使Squid能夠實現層疊的代理陣列,從而最大限度地節約帶寬

DNS查詢方式
Squid啟動後會派生出預先指定數目的dnsserver行程,每一個dnsserver行程可以執行單獨的DNS查詢,這可減少伺服器等待DNS查詢的時間

 

#################################################################
 
安裝部份
1
以yum安裝
yum install squid

2
設定squid.conf參數
ps:通常在/etc/squid.conf
2.1
一般設定
http_port 3128 設定proxy port為3128
icp_port 3130 查詢封包觀查的port為3130
http_access allow all 打開squid所有權限
cache_effective_user nobody 設定squid管理者
cache_effective_group nogroup 設定squid管理者群組
ps:會被寫入到目錄的擁有者與群組需改成cache_effective的user和group
cache_mgr account@hostname 設定squid管理者信箱
2.2
指定快取目錄
cache_dir  < aufs|ufs> < cache dir> < mb size> < dir1> < dir2>
aufs功能需在安裝時有--enable-async-io才支援,可將硬碟速度發揮到極限
cache dir為想要做為快取的位置
mb size為cache dir的最大值
dir1為cache dir下的次目錄數量
dir2為dir1下的次目錄數量,dir2建議為dir1的16倍
ex:aufs /usr/local/squid/var/cache 1000 16 256
2.3
以下是認證相關參數,建議關閉
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
2.4
設定那些來源可以使用proxy
acl our_networks src 192.168.1.0/14
http_access allow our_networks

3
快取目錄設定
3.1
cache dir目錄的擁有者與群組需改成cache_effective的user和group
3.2
執行sbin/squid -z 來建立並格式化cache_dir,出現creating swap directories表示初始化成功


4
啟動squid
執行
service squid start

su nobody -c "RunCache位置 &"

sbin/squid -N -d 1
ps:
測試是否啟動squid
bin/squidclient -g 0 -h  < proxy_ip> -p 3128

ps:
若squid.conf的cache dir重設,則需
1刪除原cache dir
2建立並設定cache dir擁有者與群組
3執行squid -z


squid相關目錄
bin/ 存放squid主要執行的scripts
sbin/ 存放squid的執行檔
etc/ 存放squid設定檔
libexec/ 函式庫
man/ 說明文件
share/ 存放錯誤訊息代碼表示檔,一些小圖示等
var/ 存放log檔

squid相關檔案
etc/squid.conf 主要設定檔
squid/etc/mime.conf 設定internet上的檔案格式,使用預設即可
sbin/squid 執行檔
bin/RunCache 執行squid的script
bin/RunAccel 可讓www服務透過squid加速

squid記錄檔放置位置
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
pid_filename /usr/local/squid/var/logs/squid.pid
ps:存放log檔目錄的擁有者與群組需改成cache_effective的user和group

 

###############################################################
Squid.conf設定部份

 

squid.conf效能設定

#與磁碟容量有關的設定
cache_swap_low 90 //若cache dir滿到cache_swap_high,就將容量減少到90%
cache_swap_high 95 //當cache dir容量到95%時減少容量,越大的proxy此值不可設太高
maximum_object_size 4096 KB //若cache dir夠大可改成32768

#與記憶體保存資料有關的設定
cache_mem 8 MB //額外提供給squid 8m的記憶體,協助作業
maximum_object_size_in_memory 8 KB

#經dns正反解及IP的結果
ipcache_size 1024 //ip快取
ipcache_low 90 //和cache_swap_low動作差不多
ipcache_high 95 //和cache_swap_high動作差不多
fqdncache_size 1024 //fqdn的快取

ps:官方建議實際記憶體最好是squid所用記憶體兩倍大
ps:預設每1g的cache dir會消耗掉10m記憶體
ps:squid使用的記憶體公式為:因cache dir所用的+cache_mem+15mb
ex:
1g的cache dir,及squid.conf中的cache_men為8m
則記憶體用量為10m+8m+15m=33m


.............................

squid.conf中acl用法

定義acl的格式為acl < acl name> < type>
< type>可以如下:
src < ip/cidr> 來源ip
src < iprange/cidr> 來源ip範圍
srcdomain < fqdn> 來源領域名稱
dst < ip/cidr> 目標ip
dstdomain < fqdn> 目標網域名稱
ex:acl acl2 140.116.44.120-140.116.44.130/24
ex:acl acl3 srcdomain .mine.nu
ex:acl acl3 dstdomain .tw
url_regex < regex>  網域正規表示法
urlpath_regex < regex> 網址正規表示法
ex:acl url1 url_regex ^http://www.google.com.*
ex:acl url2 urlpath_regex .php$


acl的常見應用

不對某類型網頁做cache
ex:不對php網頁做cache
hierarchy_stoplist php ?
acl denyphp urlpath_regex php ?
no_cache deny denyphp

某些網頁自己抓資料
always_direct allow < acl1,acl2,...>

是否要透過上層proxy抓資料
never_direct < allow|deny> < acl1,acl2,...>
allow表示一定經由上層Proxy捉資料
deny表示一定是自己向外頭捉資料

限制使用
http_access < allow|deny> < acl>
ex:只有192.168.1.0/24可使用proxy
acl inside src 192.168.1.0/24
http_access allow inside
http_access deny all


............................

squid.conf中設定proxy by ldap

#auth_param設定
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "< base dn>" -f "< filter rule>" < ldap server ip>
ps:各參數說明
-v 表示LDAP版本
-b 設定BaseDN
-D 設定UserDN
-w 設定slapd.conf文件中"rootpw 管理者密碼
-f 設定Uid認證
-h 設定LDAP Server的位置可使用FQDN or IP的方式
ex:auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=systw,dc=net" -f "(&(uid=%s)(userPassword=*))" 192.168.100.100
auth_param basic children 5 #認證程式數量
auth_param basic realm squid proxy-caching web srever
auth_param basic credentialsttl 360 minutes

#squid使用ldap設定
acl ldap proxy_auth REQUIRED
http_access allow ldap

............................

squid.conf中時間設定
refresh_pattern < regex> < min minute> < % max minute>
< min minute>最小時間內檔案有更動就直接更新
< % max minute>目標檔案上次更新時間已超過最大時間的百分比時
ex:proxy在一天(1440)後存取ftp網頁時,cache資料會被更新
refresh_pattern ^ftp: 1440 20% 10080

connect_timeout 30 seconds 連到其他主機超過30秒後失敗
peer_connect_timeout 10 seconds 連到上層proxy主機超過10秒後失敗
request_timeout 1 minutes 連線後要求時間1分鐘
persistent_request_timeout 20 seconds 連線要求時間20秒

 

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

應用部份


設定transparent proxy

1
設定squid.conf
2.6版前
設定proxy的squid.conf
httpd_accel_host fqdn
httpd_accel_port 80
ps:因設定httpd_accel_host後,cache的設定會自動被終止,須在加以下參數才可啟用
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
2.6版後
http_port 3128 transparent

2
設定nat
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.0.0/24 --dport 80 -d 127.0.0.1 -j REDIRECT --to-ports 3128

........................................................................................

使用WCCP v2 for L2 mode

switch設定
1
啟用wccp
(config)#ip wccp web-cache
2
指定進來該介面封包做WCCP的轉送
(config)#interface < interface >
(config-if)#ip wccp web-cache redirect in
ps:
ip wccp web-cache redirect out 是指定出去的介面才做proxy
ps:
show ip wccp 可看到狀態
debug ip wccp events 可用來debug

...

squid設定

#設定在127.0.0.1 (Loopback 0)的 Port 3128 上跑 Transparent Mode Proxy
http_port 127.0.0.1:3128 transparent

#指定要跑WCCP Switch的IP
wccp2_router 192.168.6.30

#指定版本
wccp_version 2

#指定由Router/Switch上所轉送來的封包為L2 mode格式
wccp2_forwarding_method 2

#指定由Server上所送回Router/Switch的封包為L2 mode格式
wccp2_return_method 2

#指定選派方式
wccp2_assignment_method 2
ps:
WCCP2選派的方式1是以Hash 來選派,2是Mask來選派,通常Router支援Hash Method而Switch 支援Mask Method

...

此為transparent,當使用者透過wccp上網時
來源ip還是顯示使用者的,而不是squid的ip
reference:http://www.ringline.com.tw/epaper/Product980201.htm

 

#################################################################
報表部份

 

cache manager
將squid提供的cachemgr.cgi放到apache的cgi-bin目錄下
進入http://proxy server url/cgi-bin/cachemgr.cgi

常見說明

在General Runtime Information下有這些
Number of clients accessing cache: 557 //使用proxy的電腦數量
Number of HTTP requests received: 599308 //客戶端http要求數量
Number of ICP messages received: 418549 //接受到的icp query數量
Number of ICP messages sent: 418549 //發出icp query數量
HTTP requests per minute: 4883.8 //每分鐘http request的數量
ICP messages per minute: 6821.6 //每分鐘處理的icp數量
Request Hit Ratios: 5min: 34.7%, 60min: 40.3% //Cache Request命中率
Byte Hit Ratios: 5min: 37.0%, 60min: 44.1% //Cache Byte命中率
Storage Swap size: 10874153 KB //存放cache的磁碟使用量
Storage Mem size: 102396 KB //存放cache的記憶體使用量
Median Service Times (seconds) 5 min 60 min: //平均回應時間
CPU Usage: 82.33% //自程式啟動起計算,CPU使用率
CPU Usage, 5 minute avg: 22.82% //最近5分鐘CPU使用率
CPU Usage, 60 minute avg: 77.33% //最近60分鐘CPU使用率
Maximum number of file descriptors: 8192 //系統最大file descriptor數
Largest file desc currently in use: 2044 //目前使用file descriptor最大值
Number of file desc currently in use: 430 //目前正在使用的file descriptor數
719504 StoreEntries //Cache中存放的快取檔案數量
13774 StoreEntries with MemObjects //記憶體鬥的快取檔案數量
709747 on-disk objects //磁碟機中存放的快取檔案數量

在Peer Cache Statistics有這些
Status : Up //連線狀態
FETCHES : 252870 0% //由parent餵送的物件數量
Last failed connect() at: 02/May/2000:10:13:16 +0800 //上一次與parent斷線發生的時間

在Cache Utilization內有這些
sample_start_time = 957238720.384495 (Tue, 02 May 2000 03:38:40 GMT) //取樣起始時間
sample_end_time = 957239023.269460 (Tue, 02 May 2000 03:43:43 GMT) //取樣結束時間
client_http.requests = 109.031493/sec //客戶端每秒的http要求數
client_http.hits = 47.602231/sec //客戶端每秒的http命中次數
client_http.kbytes_in = 50.963243/sec //客戶端每秒送出的資料量
client_http.kbytes_out = 514.066454/sec //每秒送出至客戶端的資料量
client_http.all_median_svc_time = 1.384466 seconds //反應時間
server.all.requests = 63.053642/sec //squid幫客戶端抓取的要求數
server.all.kbytes_in = 278.699869/sec //squid對外抓取的資料量
server.all.kbytes_out = 32.121106/sec //squid對外送出需求的資料量
dns.median_svc_time = 0.007785 seconds //DNS的反應時間
aborted_requests = 10.710337/sec //客戶端中斷連線請求的次數
cpu_time = 274.290000 seconds //squid佔用CPU的時間
wall_time = 302.884965 seconds //取樣的時間總長
cpu_usage = 90.559134% //平均CPU使用率

reference:
http://forum.arjin.tw/lpic/suse/9.3/suselinux-adminguide_zh_TW/html/sec.squid.cachemgr.html

....................................

sarg(Squid Analysis Report Generator)
(http://sarg.sourceforge.net/)
可分析squid log檔產生報表

安裝
下載tar.gz解壓縮後進入該目錄內,執行
./configure --prefix="/usr/local/sarg"
make
make install

設定
找到sarg.conf後確任以下設定
access_log /var/logs/squid/access.log //squid的log檔位置
temporary_dir /tmp //記錄檔暫存位置
output_dir /var/www/html/sarg //報表輸出位置
overwrite_report no //報表是否覆寫
exclude_codes /usr/local/sarg/exclude_codes //exclude_codes位置

執行sarg
#/usr/local/sarg/bin/sarg

看報表
進入http://proxy server url/sarg/


If you want to generate daily reports from Squid proxy server logs,
1
create script:
#!/bin/bash
#Get current date
TODAY=$(date +%d/%m/%Y)
#Get yesterday's date
YESTERDAY=$(date --date yesterday +%d/%m/%Y)
/usr/bin/sarg -z -d $YESTERDAY-$TODAY > /dev/null 2>&1
exit 0

2
And add it to cron jobs:
55 23 * * * /scripts/sarg_daily_report


ps:
參考來源:google大神

4
database 討論版 / mysql管理筆記
« 於: 2012-11-04 12:21 »
由於最近發現自己的mysql管理筆記十分雜亂,所以小弟重新整理了一下
筆記內容如下,主要包括目前曾經用到過的功能,希望對有需要的人有幫助
若有miss掉什麼,歡迎補充

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


MySQL

歷史
1994瑞典,從商業(AB公司)到開源,並於2008年被SUN花10億美金收購

.........................................................................

安裝部份

方法1
yum安裝
yum install mysql
yum install mysql-server

方法2
rpm安裝
相關資料
glibc 2.0.7-19 此寒式庫之前的版本對安裝mysql有不良影響
perl-dbi*.rpm 安裝mysql-server*.rpm時可能會須要
mysql-server*.rpm 主伺服器,安裝順序1 (大部份安裝在/usr/bin/*,/usr/share/*)
mysql-client*.rpm 客戶端連線程式,安裝順序2 (安裝在/usr/bin/*,/usr/share/man/*)
mysql-devel*.rpm 寒式庫和標頭檔,安裝順序3 (大部份安裝在/usr/include/mysql/*,/usr/lib/mysql/*)
mysql-shared*.rpm 動態客戶端寒式庫,安裝順序4 (安裝在/usr/lib/*)
mysql-test*.rpm 效能測試套件,可省略的套件

...

啟動mysql
mysql.server [start|stop] //啟動關閉mysqld

設定root密碼
/usr/bin/mysqladmin -u root password 'newpwd' //設定mysql裡帳號root的新密碼為newpwd

登入mysql
mysql -u root -p //用root身份進入mysql
ps:
mysql db -u root -p //用root身份進入mysql,並自動執行use db
mysql db -u root -p < file.sql //以root身份,將file.sql匯入到資料庫db

...

安裝後狀態

檔案配置(依版本可能各有不同)
/etc/my.cnf MySQL設定檔
/usr/bin  客戶端程式
/usr/sbin  mysqld伺服器
/var/lib/mysql  紀錄檔與資料庫檔案,備份mysql時需連同此目錄
/usr/share/doc/packages  文件

ps:
在資料庫檔案內資料檔
 資料表名.frm :資料表定義檔
 資料表名.myd :資料檔
 資料表名.myi :索引檔

ps:
mysql資料表格式
 myisam 速度快,預設使用,無法容錯因此需要常備份
 heap 留在記憶體的表格,速度最快
 innodb 具有交易特性,速度慢

...

web管理軟體
phpmyadmin安裝步驟如下
1
download
ex:http://www.phpmyadmin.net/home_page/downloads.php
2 [optional]
#tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz
#mv phpMyAdmin_x.x.x-all-languages /var/www/html/phpmyadmin
#cd /var/www/html/phpmyadmin
3
#cp config.sample.inc.php config.inc.php
4
#vi config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003'; // use here a value of your choice
$cfg['Servers'][$i]['auth_type'] = 'http';
ps:
$cfg['Servers'][$i]['auth_type'] string ['HTTP'|'http'|'cookie'|'config'|'signon']
'HTTP' authentication (was called 'advanced' in previous versions and can be written also as 'http') ($auth_type = 'HTTP') as introduced in 1.3.0 allows you to log in as any valid MySQL user via HTTP-Auth.
5
open browser
http:// server ip /phpmyadmin/
login vaild mysql user


參考文章
http://www.phpmyadmin.net/documentation/


................................................................................................
................................................................................................
 
管理mysql常用功能


設定密碼
mysql> set password for snortuser@localhost=password('snortpassword');

移除遠端存取
1 mysql> use mysql
2 mysql> delete from user where host='%'

移除無使用者
1 mysql> use mysql
2 mysql> delete from user where user=''

給所有權限
mysql> GRANT ALL ON db.* TO user@localhost IDENTIFIED BY 'userpasswd';

更新
mysql> flush privileges

...

清除mysql log
有時因log檔太大,可將mysql-bin.0000001...等log清除
mysql> reset master
Query OK, 0 rows affected (3.56 sec)
ps:
若要求mysq不產log,可在my.cnf內設為以下
#log-bin=mysql-bin

另一方法為
PURGE BINARY LOGS
ps:http://dev.mysql.com/doc/refman/5.0/en/purge-binary-logs.html
ex:
刪除mysql-bin.010這個log檔
PURGE BINARY LOGS TO 'mysql-bin.010';
ex:
刪除2012-01-01 12:00:00之前的log
PURGE BINARY LOGS BEFORE '2012-01-01 12:00:00';

...


直接登入mysql且不使用密碼
當忘記密碼,或出現Access denied for user 'root'@'localhost' (using password: NO)的狀況時
做法:
先停止mysql,並執行以下
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
重新啟動mysql


...............................................................................................
...............................................................................................
 
資料備份部份

匯出資料常用有以下兩種

使用dump
ex:
mysqldump -u test -h 192.168.0.100 -p testdb > alltable.sql
mysqldump -u test -h 192.168.0.100 -p testdb testtable > alltesttable.sql
mysqldump -u test -h 192.168.0.100 -d -p testdb testtable > schematesttable.sql
mysqldump -u test -h 192.168.0.100 -d -p testdb testtable1 testtable2 > schemasometable.sql
參數說明
>: 表示匯出資料
<: 表示匯入資料
-u: mysql使用者
-h: 連線host IP或Domain Name
-d: 只需要匯出(dump)Table的結構, 若沒有此參數, 會將Table的結構和資料一併匯出
-p: 需要密碼, 指令執行後待會會要求輸入
testdb: 指定要處理的DB名稱
testtable: 指定要處理的Table名稱
testtable.sql: 匯入或是匯出Table資料的SQL語法

使用outfile
ex:
select * from data into outfile '/tmp/test.csv' FIELDS TERMINATED BY ','

...................................

匯入資料常用有以下三種

使用mysqlimport
tablename必須和來源文字檔一樣,也就是在匯入之前須先建好
--fields-terminated-by=分隔欄位的字元
--local 設定為本地
mysqlimport -u root [other parameter] -p .txt
ex:
mysqlimport -u root --local --fields-terminated-by=, -p kdd99 kddcupdata10.txt

使用 重導向
ex:
mysql -u test -p testdb < testtable.sql

使用 load data 
ex:
LOAD DATA INFILE '/root/test.csv' INTO TABLE ibtable FIELDS TERMINATED BY ','

ps:
load data參數結構如下
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
 [REPLACE | IGNORE]
 INTO TABLE tbl_name
 [CHARACTER SET charset_name]
 [{FIELDS | COLUMNS}
  [TERMINATED BY 'string']
  [[OPTIONALLY] ENCLOSED BY 'char']
  [ESCAPED BY 'char']
 ]
 [LINES
  [STARTING BY 'string']
  [TERMINATED BY 'string']
 ]
 [IGNORE number LINES]
 [(col_name_or_user_var,...)]
 [SET col_name = expr,...]


........................................................................................
........................................................................................

其他部份

更改MySQL資料庫目錄
假設MySQL資料庫目錄在linux下預設為/var/lib/mysql,若要改到/data,如下所示:
1
stop mysql service
mysqladmin -u root -p shutdown
2
move /var/lib/mysql to /data
mv /var/lib/mysql /data/
3
edit /etc/my.cnf 
vi  my.cnf   
# The MySQL server
[mysqld]
port   = 3306
#socket  = /var/lib/mysql/mysql.sock
socket  = /data/mysql/mysql.sock //指定mysql.sock的產生位置 
4 
edit MySQL start script
vi /etc/rc.d/init.d/mysqld
#datadir=/var/lib/mysql   
datadir=/data/mysql   //指定實際存放的路徑 
5
restart mysql service
/etc/rc.d/init.d/mysqld start
若運作正常則移動成功 
ps
若有使用phpmyadmin,需修改conf.inc.php中的socket路徑,並重新啟動網頁伺服器
vi /etc/conf.inc.php
$cfg['Servers'][$i]['socket'] = '/data/mysql/mysql.sock';
ps
若有發生找不到mysql的socket之類相關訊息,可直接將舊的mysql.sock導引到新的路徑,如下
ln -s /network/mysql/mysql.sock /var/lib/mysql/mysql.sock

5
系統安全討論版 / 之前在研究的黑名單
« 於: 2012-10-28 14:41 »
之前因為在做研究,所以有搜集一些還在運作的黑名單,整理如下,希望可以幫助到有需要的人,不知有沒有大大也有不錯的黑名單推薦

1
http://www.spamhaus.org/drop/drop.txt
Spamhaus的DROP List (text)

2
http://tcats.stop-spam.org/nmsbl/nmsbl.txt
tcats.stop-spam的Non-Mail Server Blacklist

3
http://tcats.stop-spam.org/bnbl/bnbl.txt
tcats.stop-spam的BOTNET BLACKLIST(spam botnet)

4
http://tcats.stop-spam.org/sibl/sibl.txt
tcats.stop-spam的SERVER INTRUSION BLACKLIST

5
http://www.senderbase.org/home/detail_get_location
被cisco ironport識別為virus或spam的IP

6
http://mtc.sri.com/live_data/malware_dns/
Malware Threat Center發現的Malware-Related DNS

7
http://mtc.sri.com/live_data/cc_servers/
Malware Threat Center發現的BotNet Command and Control Servers

8
http://mtc.sri.com/live_data/attackers/
Malware Threat Center發現的Malware Attack Source

9
http://www.dshield.org/ipsascii.html?limit=100
Internet Storm Center的IP黑名單

6
各位先進好

小弟最近在開發一套程式,目前打算在mysql的一個database底下建立多張table
但為了保險起見,想先確認一下mysql的一個database是否有限制table的數量呢?
我可能會建到幾千個table

系統是centos5,mysql5
感謝

7
各位大大好

請教一下,一般架設windows(2000,2003)網路磁碟機的server讓user連進來存取資料時
是否可以看到user在網路磁碟機的存取記錄,例如user新增一個檔案,或修改,刪除之類的記錄

還是說有什麼keyword或有教學文章之類的??感恩

8
各位大大好

請教一下,各位大大有沒有推薦的snmp讀出的資料輸入至mysql的程式
除了cacti外,有其他推薦的嗎,感謝

9
各位大大好
有個問題想請教一下
我想把switch arp表中,10.1.2.205的macadd改成11:22:33:44:55:66,於是執行以下
snmpset -v 2c -c snmpcc 10.254.254.254 1.3.6.1.2.1.4.22.1.2.73.10.1.2.205 s 11:22:33:44:55:66
但卻出現
Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: IP-MIB::ipNetToMediaPhysAddress.73.10.1.2.205

但snmpcc是rw權限
而且我也從以下網址查了一下,該物件可讀寫
http://www.faqs.org/rfcs/rfc1213.html
         ipNetToMediaPhysAddress OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The media-dependent `physical' address."
              ::= { ipNetToMediaEntry 2 }

有人知道為什麼嗎@@?

10
各位大大好

請教一下cd這個指令的路徑在那
我執行which cd顯示
/usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
我以為是我的which壞了,在試試which pwd,疑,有找到pwd的路徑為/bin/pwd
為什麼cd絕對路徑找不到呢@@
想教一下各位大大為什麼
感謝

11
database 討論版 / 求一個合併2table的sql語法
« 於: 2010-06-12 12:48 »
各位大大好

小弟使用mysql
有以下2 table
today
ip  bytes
10.1.1.1   60
10.1.1.2   70
10.1.1.3   80

week
ip bytes
10.1.1.4   90
10.1.1.5   50

合併成一張table如下
ip bytes
10.1.1.1   60
10.1.1.2   70
10.1.1.3   80
10.1.1.4   90
10.1.1.5   50

這個用right joind和left join好像都不對
但是mysql 似乎不支援full join
想請問一下這個語法要怎麼下,感謝

12
Windows 討論版 / win2000server dns設定問題
« 於: 2010-05-26 21:51 »
各位大大好

小弟有2台dns
一台為solaris8 bind8,上面有設定x的ip正反解
一台為win2000server,上面沒有設定x的ip正反解
當我client dns設定solaris8,使用nslookup 可以反解到東西
可是當client dns設定win2000server,使用nslookup無法反解到東西
想請問win2000server要設定什麼,才可以讓client dns反解到東西呢
感謝


13
各位大大好

目前本單位有一個cisco 7206 router,共有三個介面是up,各介面都有設一個public ip
並啟動telnet登入,只要telnet這3個public ip的其中一個都可以打密碼進入
平常我們只會從內部telnet到這台router的其中一個介面,但確允許任何人可telnet到這3個public ip
感覺不是很適當,所以想要設定成只允許內部可以telnet到該router,而其他地方無法telnet進來
想請教一下除了acl外,cisco還有其他方式可以設定嗎?
感謝

14
Linux 討論版 / 如何加快sed速度
« 於: 2009-11-27 10:22 »
各位大大好

小弟寫了一個script將tcpdump抓來的資料轉成sql檔,但後來發現在執行時有點久

tcpdump抓來的資料大致如下

00:00:39.834122 IP (tos 0x0, ttl 126, id 46410, offset 0, flags [DF], proto TCP (6), length 40) 10.3.18.183.1137 > 202.169.175.84.80: ., cksum 0x9a51 (correct), ack 5743088 win 65535
00:00:39.834372 IP (tos 0x0, ttl 126, id 19590, offset 0, flags [none], proto UDP (17), length 128) 10.10.198.51.20337 > 203.64.39.134.62213: UDP, length 100


轉成sql的script如下

sed -e 's/\(^.*\) IP (\(.*\)proto \([A-Z]\{3\}\).*length \(.*\)) \([0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}\).\([0-9]*\) > \([0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}\).\([0-9]*\): \(.*\)$/("\1","none","\3","\4","\5","\6","\7","\8","none"),/' /root/flow2/tmp/$tcpdumpfile |  grep '"),' >> /root/flow2/tmp0/flow2.sql


轉成sql如下
("23:01:27.169861","none","UDP","1089","10.10.200.57","51612","118.160.179.117","2784","none"),
("23:01:27.170116","none","TCP","1240","74.125.209.81","80","10.3.17.191","3210","none"),

之後會加上sql頭和尾在輸入進mysql,但在作業時發現sed這部份花了很多時間
tcpdump抓來的資料平均都在100多mb,sed大概會佔用2分多鐘的時間,電腦是4核2.3G
不知各位大大是否有什麼可改善的建議

15
Linux 討論版 / 請問fedora8支援4核心cpu嗎?
« 於: 2009-10-26 21:14 »
各位大大好
目前小弟電腦是安裝fedora8,搭配intel q8200
使用cat /proc/cpuinfo時,會出現4個processor的資訊
但在用top時,卻只有顯示1個cpu的資訊

可在另一台機器(redhat9+Intel Xeon)上使用top時,卻是出現4個cpu的資訊
是否我裝的fedora8還沒有把支援到4核心的功能開啟呢?
感謝

16
LDAP 討論區 / [筆記]架設openldap server的筆記
« 於: 2009-08-30 21:34 »
以下是小弟的筆記,寫得不是很好,不過還是和大家分享一下@@


openldap
http://www.openldap.org/

...

以yum安裝
1
安裝openldap-server
yum install openldap*

以source安裝
1
從此處下載
http://www.openldap.org/software/download/
2
進入解壓縮後的目錄
gunzip -c openldap-VERSION.tgz | tar xvfB -
cd openldap-VERSION
3
編譯
./configure
make depend
make
make test
su root -c 'make install'
ps:configure --help參數可取得更多可用編譯資訊
ps:預設安裝在/usr/local
ps:裝完後請檢查安裝根目錄下的lib目錄是否有libdb-4.1.so

.............

編輯ldap server組態檔
可將example.com範例檔修改後存成slapd.conf
若以study.net網域為例,內容可修改如下
database bdb
suffix "dc=sutdy,dc=net"
rootdn "cn=manager,dc=study,dc=net"
rootpw secret
directory /usr/local/var/openldap-data
ps:若directory指向的目錄不在存請建立一個,並設定權限700
ps:man slapd.conf可得到更多資訊
ps:slapd.conf預設在/usr/local/etc/openldap/

啟動ldap server
su root -c /usr/local/libexec/slapd
ps:
其他啟動方式
suse是/etc/rc.d/ldap start
redhat是/etc/rc.d/init.d/ldap start

驗證是否有啟動
#ps -ef | grep slapd
若成功可在輸出畫面中看到slapd行程
#netsat -atunlp | grep 389
可看到正在listen 389
#ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
若成功會出現
dn:
namingContexts: dc=study,dc=net


...

常見client tool有以下
ldapsearch 查詢ldap項目
ldapadd
ldapmodify
ldapdelete
ps:使用client工具前需先設定好ldap client組態檔

ldap client組態檔
內容大致如下
URI ldap://127.0.0.1 #要指向ldap server的ip
BASE dc=study,dc=net #要指向server設定的值
ps:
/etc/ldap.conf用於application
/etc/openldap/ldap.conf用於ldap-tools

...

ldapsearch常見用法
常見參數如下
-x 要求ldapsearch進行簡易繫結,也就是不使用sasl認證
-b 指定搜尋的起點,預設是從根開始
-D 使用指定的名稱進行查詢
-w 使用指定的密碼進行查詢
其他選項
(objectclass=*) 搜尋過濾器
ex:
列出所有資料
ldapsearch -x
ex:
找uid=raymond的項目
ldapsearch uid=raymond
ex:
找dc=study,dc=net的項目
ldapsearch -x -b 'dc=study,dc=net' '(objectclass=*)'
or
ldapsearch -x -b 'dc=study,dc=net'
找ou=editors的項目
ldapsearch (&(objectclass=person)(ou=editors)) dn
ex:
以cn=manager,dc=study,dc=net且密碼為fedora進行查詢
ldapsearch -x -b 'dc=study,dc=net' -D 'cn=manager,dc=study,dc=net' -w fedora

17
各位先進好,想請教一下
我進入catalyst6006時提示符號為
core_l2_6006_252>
但進入特權模式時,執行模式的提示符號變為
core_l2_6006_252> (enable)
而不是一般的core_l2_6006_252#
而且發現沒有show running這個指令
想請問一下為什麼會這樣,感謝

18
Linux 討論版 / awk可以顯示指定的變數嗎?
« 於: 2009-05-18 21:29 »
例如
我設定datevar=123
然後在執行cat tcpdump_ip_direct | awk '{print $3 $datevar}'
可以將第三欄和$datevar的值列出
但是我試了後不行,想請問一下是否要加什麼跳脫字元呢
或者awk不支援這種做法?
感謝

19
各位大大好
這台cisco 3524的23port插線會亮orange燈,但其他port都是綠燈
另外,只要是經過此port的設備都ping不到,但換一個port就OK
以下是關於此port的狀態
show interfaces fa0/23 status
Port    Name               Status       Vlan     Duplex Speed   Type
------- ------------------ ------------ -------- ------ ------- ----
Fa0/23                     connected    200      A-Full   A-100 100BaseTX/FX

show interfaces fa0/23
FastEthernet0/23 is up, line protocol is up
  Hardware is Fast Ethernet, address is 0007.502f.78d7 (bia 0007.502f.78d7)
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not set
  Auto-duplex (Full), Auto Speed (100), 100BaseTX/FX
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input never, output 00:00:01, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     6345650 packets input, 3556343081 bytes
     Received 1209553 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 834770 multicast
     0 input packets with dribble condition detected
     16590356 packets output, 3091068047 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

其中比較令我不解的是這一行
  Last input never, output 00:00:01, output hang never
其他port都不會never,想請問各位高手這要如何解決
感謝

20
Network 討論版 / 想請教apache 與 mod_authz_ldap
« 於: 2009-04-29 14:17 »
各位大大好
我希望開網頁時,可以要求輸入ldap帳密
與是我在fedora8用yum裝apache和ldap

此台機器可執行以下指令,從ldap讀raymond資料
ldapsearch -x -b 'ou=people,dc=test,dc=net' -D 'uid=raymond,ou=people,dc=test,dc=net' -W '(uid=raymond)'

另外apache上已經有以下兩個模組
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

並在conf.d/ldap.conf中加入以下
<IfModule mod_authz_ldap.c>
<Directory /var/www/html/ldap>
AuthzLDAPUrl ldap://10.10.10.10
AuthzLDAPBindDN uid=raymond,ou=people,dc=test,dc=net
AuthzLDAPBindPassword 12345678
AuthzLDAPUserBase ou=people,dc=test,dc=net
AuthzLDAPUserScope base
AuthType basic
AuthName "user@test.net"
require valid-user
</Directory>
</IfModule>

接著在/var/www/html/ldap下增加一個index.html,裡面的內容是welcome ldap
重啟apache後
開網頁並沒有要求認證的對話視窗,而是直接show出welcome ldap

想請問各位大大小弟是否那裡出錯

21
各位先進們好
我將一台cisco 2950的f0/1 mirror到f0/2
指令如下
monitor session 1 sour int f0/1
monitor session 1 dest int f0/2
之後f0/1接xp,f0/2接linux
當xp下載東西時,linux的系統監視器的網路流量會和xp的一樣
我希望可以用linux來紀錄使用者是否有看網頁
於是在linux下了
iptables -t mangle -I PREROUTING -p tcp --dport 80 -j ACCEPT
iptables -t mangle -I PREROUTING -p tcp --sport 80 -j ACCEPT
然後我用xp開網頁
並在linux執行
iptables -t mangle -L -v
看到PREROUTING chain的封包有增加
但那兩條規則的量則是0
我期望他不是0,而是持續增加的數字
我想可能是沒開混雜模式,於是我就在下
ifconfig eth0 promisc
並重覆上個測試,但情況不變
我希望iptables可以比對到資料
希望各位先進給我一點見意,感恩



22
Linux 討論版 / openvpn linux server和linux client
« 於: 2008-10-20 15:07 »
我想要linux vpn server對linux vpn client
我參考了http://www.study-area.org/tips/openvpn.html
http://openvpn.net/index.php/documentation/howto.html
以下是我的實作過程,但結果失敗,那位大大可以指點我一下


我在linux的server和client安裝lzo和openvpn
rpmbuild --rebuild http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
rpm -ivh /usr/src/redhat/RPMS/i386/lzo-*.rpm
wget http://openvpn.net/release/openvpn-2.0.2.tar.gz
rpmbuild -tb openvpn-2.0.2.tar.gz
rpm -ivh /usr/src/redhat/RPMS/i386/openvpn-2.0.2-1.i386.rpm
 
..............server(192.168.100.102)設定部份

複製easy-rsa/和server.conf到/etc/openvpn/

設定CA環境
在easy-rsa內編輯vars如下
export KEY_COUNTRY=co
export KEY_PROVINCE=pr
export KEY_CITY=ci
export KEY_ORG=or
export KEY_EMAIL=me@em
. ./vars
./clean-all

./build-ca     //Common Name選ca
./build-key-server vpn1   //Common Name選vpn1
./build-dh

編輯server.conf
dev tap
;dev tun
ca ca.crt
cert vpn1.crt
key vpn1.key 

openvpn server.conf

.................... client(192.168.100.101)設定部份

複製easy-rsa/和client.conf到/etc/openvpn/

在easy-rsa內編輯vars如同server
. ./vars
./clean-all

./build-ca     //Common Name選ca
./build-key client1   //Common Name選client1

編輯client.conf
dev tap
;dev tun
dev-node OpenVPN_Tap
remote 192.168.100.102 1194
ca ca.crt
cert vpnxp1.crt
key vpnxp1.key
ns-cert-type server

openvpn client.conf

...........................

client會顯示

Mon Oct 20 14:59:03 2008 OpenVPN 2.0.2 i386-redhat-linux-gnu [SSL] [LZO] [EPOLL] built on Oct 19 2008
Mon Oct 20 14:59:03 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Mon Oct 20 14:59:03 2008 LZO compression initialized
Mon Oct 20 14:59:03 2008 Control Channel MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Oct 20 14:59:03 2008 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Mon Oct 20 14:59:03 2008 Local Options hash (VER=V4): 'd79ca330'
Mon Oct 20 14:59:03 2008 Expected Remote Options hash (VER=V4): 'f7df56b8'
Mon Oct 20 14:59:03 2008 UDPv4 link local: [undef]
Mon Oct 20 14:59:03 2008 UDPv4 link remote: 192.168.100.102:1194
Mon Oct 20 14:59:03 2008 TLS: Initial packet from 192.168.100.102:1194, sid=57469d22 e6aa3360
Mon Oct 20 14:59:03 2008 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: /C=co/ST=pr/L=ci/O=or/OU=test/CN=or_CA/emailAddress=me@em
Mon Oct 20 14:59:03 2008 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Mon Oct 20 14:59:03 2008 TLS Error: TLS object -> incoming plaintext read error
Mon Oct 20 14:59:03 2008 TLS Error: TLS handshake failed
Mon Oct 20 14:59:03 2008 TCP/UDP: Closing socket
Mon Oct 20 14:59:03 2008 SIGUSR1[soft,tls-error] received, process restarting
Mon Oct 20 14:59:03 2008 Restart pause, 2 second(s)
Mon Oct 20 14:59:05 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Mon Oct 20 14:59:05 2008 Re-using SSL/TLS context
Mon Oct 20 14:59:05 2008 LZO compression initialized
Mon Oct 20 14:59:05 2008 Control Channel MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Oct 20 14:59:05 2008 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Mon Oct 20 14:59:05 2008 Local Options hash (VER=V4): 'd79ca330'
Mon Oct 20 14:59:05 2008 Expected Remote Options hash (VER=V4): 'f7df56b8'
Mon Oct 20 14:59:05 2008 UDPv4 link local: [undef]
Mon Oct 20 14:59:05 2008 UDPv4 link remote: 192.168.100.102:1194
Mon Oct 20 14:59:05 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:05 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:05 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:05 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:05 2008 TLS: Initial packet from 192.168.100.102:1194, sid=479e019b 167d7034
Mon Oct 20 14:59:05 2008 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: /C=co/ST=pr/L=ci/O=or/OU=test/CN=or_CA/emailAddress=me@em
Mon Oct 20 14:59:05 2008 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Mon Oct 20 14:59:05 2008 TLS Error: TLS object -> incoming plaintext read error
Mon Oct 20 14:59:05 2008 TLS Error: TLS handshake failed
Mon Oct 20 14:59:05 2008 TCP/UDP: Closing socket
Mon Oct 20 14:59:05 2008 SIGUSR1[soft,tls-error] received, process restarting
Mon Oct 20 14:59:05 2008 Restart pause, 2 second(s)
Mon Oct 20 14:59:07 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Mon Oct 20 14:59:07 2008 Re-using SSL/TLS context
Mon Oct 20 14:59:07 2008 LZO compression initialized
Mon Oct 20 14:59:07 2008 Control Channel MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Oct 20 14:59:07 2008 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Mon Oct 20 14:59:07 2008 Local Options hash (VER=V4): 'd79ca330'
Mon Oct 20 14:59:07 2008 Expected Remote Options hash (VER=V4): 'f7df56b8'
Mon Oct 20 14:59:07 2008 UDPv4 link local: [undef]
Mon Oct 20 14:59:07 2008 UDPv4 link remote: 192.168.100.102:1194
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:07 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_CONTROL_V1)
Mon Oct 20 14:59:09 2008 TLS Error: Unroutable control packet received from 192.168.100.102:1194 (si=3 op=P_ACK_V1)
Mon Oct 20 14:59:10 2008 event_wait : Interrupted system call (code=4)
Mon Oct 20 14:59:10 2008 TCP/UDP: Closing socket
Mon Oct 20 14:59:10 2008 SIGINT[hard,] received, process exiting


server會顯示
Mon Oct 20 11:16:27 2008 OpenVPN 2.1_rc2 i386-redhat-linux-gnu [SSL] [LZO2] [EPOLL] built on Mar  3 2007
Mon Oct 20 11:16:27 2008 Diffie-Hellman initialized with 1024 bit key
Mon Oct 20 11:16:27 2008 TLS-Auth MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Oct 20 11:16:27 2008 TUN/TAP device tap0 opened
Mon Oct 20 11:16:27 2008 TUN/TAP TX queue length set to 100
Mon Oct 20 11:16:27 2008 /sbin/ip link set dev tap0 up mtu 1500
Mon Oct 20 11:16:27 2008 /sbin/ip addr add dev tap0 10.8.0.1/24 broadcast 10.8.0.255
Mon Oct 20 11:16:27 2008 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Mon Oct 20 11:16:27 2008 Socket Buffers: R=[109568->131072] S=[109568->131072]
Mon Oct 20 11:16:27 2008 UDPv4 link local (bound): [undef]:1194
Mon Oct 20 11:16:27 2008 UDPv4 link remote: [undef]
Mon Oct 20 11:16:27 2008 MULTI: multi_init called, r=256 v=256
Mon Oct 20 11:16:27 2008 IFCONFIG POOL: base=10.8.0.2 size=253
Mon Oct 20 11:16:27 2008 IFCONFIG POOL LIST
Mon Oct 20 11:16:27 2008 Initialization Sequence Completed
Mon Oct 20 14:57:00 2008 MULTI: multi_create_instance called
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 Re-using SSL/TLS context
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 LZO compression initialized
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 Control Channel MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 Local Options hash (VER=V4): 'f7df56b8'
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 Expected Remote Options hash (VER=V4): 'd79ca330'
Mon Oct 20 14:57:00 2008 192.168.100.101:32774 TLS: Initial packet from 192.168.100.101:32774, sid=34f1ad26 9267d3b5
Mon Oct 20 14:57:02 2008 192.168.100.101:32774 TLS: new session incoming connection from 192.168.100.101:32774
Mon Oct 20 14:57:04 2008 192.168.100.101:32774 TLS: new session incoming connection from 192.168.100.101:32774
Mon Oct 20 14:57:08 2008 192.168.100.101:32774 write UDPv4 [ECONNREFUSED|ECONNREFUSED|ECONNREFUSED|ECONNREFUSED]: Connection refused (code=111)
Mon Oct 20 14:57:08 2008 read UDPv4 [ECONNREFUSED|ECONNREFUSED]: Connection refused (code=111)
Mon Oct 20 14:57:10 2008 192.168.100.101:32774 write UDPv4 [ECONNREFUSED|ECONNREFUSED]: Connection refused (code=111)
Mon Oct 20 14:57:12 2008 192.168.100.101:32774 write UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Mon Oct 20 14:57:14 2008 192.168.100.101:32774 write UDPv4 [ECONNREFUSED|ECONNREFUSED]: Connection refused (code=111)
Mon Oct 20 14:57:16 2008 192.168.100.101:32774 write UDPv4 [ECONNREFUSED|ECONNREFUSED|ECONNREFUSED]: Connection refused (code=111)

23
Network 討論版 / 為何ppp有時是0有時是1
« 於: 2007-11-18 14:10 »
我使用linux fedora 6
該台主機使用adsl 光世代 並用他們送的固定ip
我設定好ppp後,每次開機,打ifconfig
都是看到
eth0
...略
lo
...略
ppp0
...略
電腦使用ppp0,而且可以上網

不知道那天開始,電腦有時用ppp0有時用ppp1
電腦使用ppp1也是可以上網
但我防火牆都是針對ppp0做設定,所以當電腦使用ppp1時
很多服務都被擋掉,因此這另我感到很困擾
想請問如何要求電腦只能使用ppp0呢

以下是ppp用的設定檔,之前都用ppp0,但後會自己使用ppp1或ppp0
TYPE=xDSL
DEVICE=ppp1
BOOTPROTO=dialup
USERCTL=no
IPV6INIT=no
PEERDNS=yes
PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
PERSIST=no
SYNCHRONOUS=no
DEFROUTE=yes
USER='87654321@ip.hinet.net'
ETH=eth0
PROVIDER=hinetip
DEMAND=no
ONBOOT=yes

後來我把這設定檔DEVICE=ppp1 改成DEVICE=ppp0
但啟動時還是有時ppp0有時ppp1

以下是開機時ppp選ppp1的message
Nov 18 14:29:38 genesis-audio kernel: PPP generic driver version 2.4.2
Nov 18 14:29:38 genesis-audio rpc.statd[1798]: Version 1.0.9 Starting
Nov 18 14:29:38 genesis-audio rpc.statd[1798]: unable to register (statd, 1, udp).
Nov 18 14:29:39 genesis-audio pcscd: pcscdaemon.c:464:main() pcsc-lite 1.3.1 daemon ready.
Nov 18 14:29:40 genesis-audio automount[1870]: lookup_read_master: lookup(nisplus): couldn't locat nis+ table auto.master
Nov 18 14:30:01 genesis-audio pppd[2260]: pppd 2.4.4 started by root, uid 0
Nov 18 14:30:01 genesis-audio pppd[2260]: Using interface ppp1

24
Network 討論版 / 關於hinet下,route設定方式
« 於: 2007-11-13 16:37 »
我們家用hinet,adsl2m/256,
其中1個port接電腦當server用(灌linux fedora4),並用固定ip
另一個port接b電腦(灌linux fedora6),用浮動ip

我用b電腦上傳一個檔案到server時,上傳速度是30kb左右
可是我看別人用win的區網傳檔案超快

我想應該是,路徑的問題
於是我就研究了關於route設定的文件
希望電腦b傳檔案時可直接傳到server,這樣應該會變比較快

於是我就下
route add -net 59.127.134.24 netmask 255.255.255.255 dev eth0
但我ping不到主機
接著我刪除此指規則,並在下
route add -net 59.127.134.24 netmask 255.255.255.255 gw 59.127.134.24
但仍然ping不到主機

想請問一下是我指令下錯嗎,還是其他原因@@

25
系統是fedora6
第一次裝snmp @@,版本是5.4.1
執行完configure;make;make install後都還正常
接著參照了網路上的偷吃步conf設定,於是將/etc/snmp/snmpd.conf設定成
community public

執行snmpd啟動後,看netstat有snmp,161

看文件說要測試是否有成功
就執行 snmpwalk 127.0.0.1  -c public
但出現 snmpwalk: No securityName specified
執行snmpwalk 127.0.0.1  -c public -v 1
出現 No Response from 127.0.0.1
snmpwalk 127.0.0.1  -c public -v 2c
出現 No Response from 127.0.0.1

想請問一下,這樣是snmpd.conf沒設定好嗎?
還是snmpwalk指令用錯?我的snmp是否運作不正確?還是...|@@?

26
Linux 討論版 / 安裝webalizer在make時失敗
« 於: 2007-10-15 12:03 »
目前系統
fedora 6
gcc 4.1.2 20070626
自己安裝的有
zlib-1.2.3
libpng-1.2.22
gd-2.0.35
安裝順序照文件上的說zlib->libpng->gd
很辛苦的把這三個研究完
準備要裝webalizer 2.01-10
執行了 ./configure --prefix=/usr/local/webalizer --with-gd=/usr/local/include --with-gdlib=/usr/local/lib
ps:各路徑經檢查過正確

接著恐佈的事發生了
執行make後出現以下訊息
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c webalizer.c
webalizer.c: In function 'unescape':
webalizer.c:1771: warning: pointer targets in initialization differ in signedness
webalizer.c:1772: warning: pointer targets in initialization differ in signedness
webalizer.c: In function 'srch_string':
webalizer.c:1809: warning: pointer targets in assignment differ in signedness
webalizer.c:1812: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness
webalizer.c:1813: warning: pointer targets in assignment differ in signedness
webalizer.c:1816: warning: pointer targets in assignment differ in signedness
webalizer.c:1818: warning: pointer targets in assignment differ in signedness
webalizer.c:1833: warning: pointer targets in assignment differ in signedness
webalizer.c:1839: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
webalizer.c:1846: warning: pointer targets in passing argument 1 of 'put_snode' differ in signedness
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c hashtab.c
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c linklist.c
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c preserve.c
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c dns_resolv.c
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c parser.c
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -c output.c
gcc -Wall -O2 -DETCDIR=\"/etc\"  -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1   -I/usr/local/include -c graphs.c
graphs.c: In function 'year_graph6x':
graphs.c:132: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:141: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:147: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:148: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:153: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:154: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:155: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:156: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:157: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:158: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:163: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:164: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:165: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:166: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:167: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:168: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:169: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:170: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:171: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:172: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:226: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:262: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c: In function 'month_graph6':
graphs.c:343: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:345: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:359: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:364: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:365: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:369: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:370: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:371: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:372: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:373: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:374: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:380: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:381: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:382: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:383: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:384: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:385: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:386: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:387: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:388: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:389: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:439: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:472: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c: In function 'day_graph3':
graphs.c:528: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:536: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:544: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:545: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:546: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:547: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:548: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:549: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:550: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:551: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:552: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c:553: warning: pointer targets in passing argument 5 of 'gdImageStringUp' differ in signedness
graphs.c: In function 'pie_chart':
graphs.c:659: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:660: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:672: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c:673: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
graphs.c: In function 'init_graph':
graphs.c:749: warning: pointer targets in passing argument 5 of 'gdImageString' differ in signedness
gcc  -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpng -lz -lm
rm -f webazolver
ln -s webalizer webazolver

而且/usr/local/sebalizer內也沒東西,看來是安裝失敗了
爬文也沒找到什麼資料,天啊...怎麼辦,就差這麼最後一步就安裝成功了
竟然...失敗了,這該怎麼處理XD

27
有二張資料分別如下
資料表user_foundsum
name  |  user
-----------
aaa  |  3
bbb  |  2
ccc  |  3
ddd  |  2
eee  |  2
fff   |  3

資料表user_lasttime
name | user
-----------
aaa  |  2007-07-21
bbb  |  2007-07-10
ccc  |  2007-07-23
ddd  |  2007-07-1
eee  |  2007-07-15
fff   |  2007-07-24

我希望可以先對user_foundsum的結果做由大到小的排序
相同的結果在依時間由大到小做排序
所以會列出
fff
ccc
aaa
eee
bbb
ddd

若只有一張表格做排序還OK,但這涉及到二張資料的排序,若要改變資料表格式就要在更改許多程式碼,實在另我很頭痛,而且怎麼寫也寫不出來,希望各位大大能幫忙

28
我架了postfix,在防火牆關閉時可寄信
在防火牆打開時,我讓input 為drop,只讓目標和來源是port 25的封包進出
但無法寄信
防火牆設定如下
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
Chain INPUT (policy DROP)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:smtp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
小弟以為postfix在寄信時只用port25,但似乎也會用到其他port
我看了netstat -atunlp也沒看到有特別的port被啟動
想請問如何可知道需要開那個port才行

29
Linux 討論版 / 關於apache目錄間的讀取
« 於: 2007-08-29 08:45 »
我在apache下設了虛擬主機
打http://abc.am.mine.nu  會連到 /var/www/html/abc/
打http://am.mine.nu  會連到  /var/www/html/

而我有一張php頁/var/www/html/abc/login.php,內容為
<?
include('../mainlogin.php');
?>
以及另一張php頁/var/www/html/mainlogin.php,內容為
<?
echo 'wellcome ';
?>

若網址打http://am.mine.nu/abc/login.php  可以抓的到 上個目錄的mainlogin.php
也就是會顯示 wellcome
但若網址打http://abc.am.mine.nu/login.php   則抓不到
請問httpd.conf有辦法設定嗎?或者還有其他可以達到此功能的做法

感恩

30
我希望任何人都能進來http80,與ssh22,其他的port都不能進去
所以我在input 就讓http80與ssh22設為accept
並讓input鏈設為drop
以下是我的iptables -L
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination    
Chain INPUT (policy DROP)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:http

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

但設完後就斷線了(我用ssh連進某台電腦做設定)
請問這樣設定是正確的嗎,還是有其他原因@@

頁: [1] 2