routeos_ddns

#定義 no.ip 相關設定,以下自行修改:
#============================================================
:local DDNSUser "ggggg"
:local DDNSPassword "gggg"
:local DDNSHost "gggggg"
:local DDNSInterface "pppoe-out1″
#============================================================

#以下程式如不了解,建議不要修改:
#——————————————————————————————
#定義 IP 變數
:local DDNSIP
:global DDNSLastIP

#定義變數預設值
:if ([ :typeof $DDNSLastIP ] = nil ) do={ $DDNSLastIP "0.0.0.0″ }

#取得網路介面 IP 位址
:set DDNSIP [ /ip address get [/ip address find interface=$DDNSInterface ] address ]
:set DDNSIP [ :pick $DDNSIP 0 [ :find $DDNSIP "/" ] ]

#判斷是否要更新 IP
:if ([ :typeof $DDNSIP ] = nil ) do={
:log error ("DDNS no.ip: 網路介面 " . $DDNSInterface . " 未取得 IP 位址")
} else={
:if ($DDNSIP != $DDNSLastIP) do={
# 更新 DDNS IP
:local url "/nic/update?hostname=$DDNSHost&myip=$DDNSIP"
/tool fetch address=dynupdate.no-ip.com src-path=("$url") mode=http user=$DDNSUser password=$DDNSPassword dst-path=("DDNS_no_ip_$DDNSInterface")
:delay 1

# 檔案內容
:local filestr [ /file get "DDNS_no_ip_$DDNSInterface" contents];

# 刪除檔案
:local filename [ /file find name="DDNS_no_ip_$DDNSInterface"];
/file remove $filename

# 變更是否成功
:if ( [ :find $filestr "good"] = "0″ || [ :find $filestr "nochg"] = "0″ ) do={
:log warning ("DDNS no.ip: 網路介面 " . $DDNSInterface . " 更新 IP 位址 " . $DDNSIP)
:set DDNSLastIP $DDNSIP
} else={
:log error ("DDNS no.ip: 網路介面 " . $DDNSInterface . " 更新 IP 位址失敗 " . $DDNSIP)
}
}
}
#——————————————————————————————

發表於 未分類 | 發表迴響

Samba的技巧

推薦一本書samba徹底研究(博碩文化),如果使用samba2.x這本是必備的。
買一本來參考吧?當做看小說有空看一下,對於增進自己的能力有很大的幫助,它不僅是samba也包含了rpm,dhcp,dns,wins等等 ,其實其中書中包含大部份man的翻譯,你可以比較清楚它的意義
Samba的技巧
在伺服器上
linux上查詢使用者的狀態
指令:
smbstatus #查詢使用者全部的資料
參數
-b 使用者資訊
-d 使用者分享及鎖住檔
-L lock被鎖住的檔
-P Samba PID每一個連線會有新增加一個
-S 分享的資料
-u username 單獨查詢某一個人
空白 等於-b+-d
linux上查詢別台電腦分享等資料
指令:
smbclient -NL 主機名稱

N 不要問密碼(以guset登入)
L 列出資源
linux上登入window或是samba的電腦
指令:
smbclient //主機/分享的資料匣資源 -U 使用者名稱

輸入密碼就可以執行類似ftp的指令了
mount 別台機器分享的資源到本台電腦
指令:
mount -t smbfs -o username=使用者名稱 ,password=密碼 //主機名稱/分享的資源 /主機目錄
linux上名稱查詢ip(nmblookup)
指令:
nmblookup netbois名稱
linux上傳送給winpopup訊息
指令:
smbclient -M host

winpopup是windows所附的一個小程式不同的電腦如果有啟動winpopup,可以互相通訊息
,我是使用另一個免費的軟體來取代它
realpopup
samba的安全性問題

這是有關於smb.conf設定問題

有一天我使用smbclient -NL 主機名稱
竟然可以查到資料,我十分緊張因為我是透過internet來下指令的,如此一來不是可以讓任何人來
來查詢你samba的資料,登入的電腦等,因此我試著改變設定,如何杜絕這種情形產生
我找到如下的設定,供你參考:
smb.conf中兩個參數
interface
bind interface only
由於samba及目前win2000等所使用的netbios over tcp/ip
因為是tcp/ip所以可以使用在internet上,以我所設定的是
兩片網路卡一為內部ip一為外部ip,如果samba不是放在防火牆內
則外部可以連進到samba server,更可怕的如果你是使用share的安全模式
別人可以使用你分享的所有資料匣,一般而言印表機是使用share的模式分享
因此別人可以你的印表機,它只要使用smbclient -NL ip 就可以查你主機上登
入的使用者名稱,及本機分享的資源,至於如何設定internet無法存取你的samba資源
到在/etc/smb.conf下設定加入二行:
interface= eth0 192.168.1.0/24    #指定網路卡及ip,改成你內部ip使用的網路卡
bind interface only=YES        #限定samba只可以使用這個介面  
如此internet將無法登入你的samba伺服器
經由internet使用其它samba和 nt的資源

這也是有關於smb.conf設定問題

剛好跟上面相反你要設定以下:
bind interface only=NO #不要限制介面
host allow= #予許連線(加入Ip、網域、子網、主機)
host deny=       #拒絕存取(加入拒絕的ip、網域、子網、主機),最好要加入127.0.0.1
注意子網是192.168.0.而不是192.168.0.*
其間隔是以,分開,好像也有其它的方式
swat(samba網頁管理程式)
如何啟動(linux 7.x)
如果是使用xinetd.d則請注意以其下/etc/xinetd.d/swat這個檔案
如果沒有請自己建立
service swat
{
disable = no
port = 901
socket_type = stream
wait = no
# only_from = localhost
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}
請看only_form=localhost則表示只能從本機執行
從別台的話,要修改內容,最容易的方法是加#
samba分享的目錄中,隱藏檔案或目錄不讓使用者存取
有兩個參數一個是hide files(只隱藏,但是可存取)
veto files(隱藏,不可存取)
它可以是全域變數,也可以是區域變數,其設定方式一模一樣
如果是你有分享一個目錄A但是要隱藏其子目錄B
[A]
comment=……
veto files=/B/

其中一行vote files就是隱藏並拒絕存取
如果是檔案如*.tmp 則使用 veto files=/*.tmp/
如果是檔案如*.tmp和目錄mydirectory 則使用veto files=/*.tmp/mydirectory/
限制使用者的讀寫權限
在分享目錄中設定全部的權限
writeable=no 不可寫 read only=yes
writeable=yes 可讀
在分享目錄中設定某些人的權限
write list= 使用者名稱,@群組名稱
read list= 使用者名稱,@群組名稱
限制某一些使用者不可以登錄
可以在全域或是單獨的分享資源
invalid users=使用者名稱
valid users=使用者名稱
限制某些主機可否登入
可以是全域或是單獨的分享資源
hosts allow=
hosts deny=
其格式如下:
hosts allow= 150.203. except 150.203.6.66
hosts allow= 150.203.15.0/255.255.255.0
hosts allow= lapland,arvidsjau
hosts allow=@group
當然可以混合設定,要以逗號分開
REDHAT9.0的問題
2003/04我幫一家公司安裝redhat9.0
然而中間碰到一些問題,一一克服,如下:
1.安裝完畢後,可以在網路芳鄰看到伺服器,但無法進入
解:iptables內定會將欲連線的拒絕,你可以先停用iptable
以後再設定
2.如何在samba的本機測試本服務是否正常?
解:正規是編輯好了smb.conf之後,使用另一個使用testparm測試是否設定錯誤,但是一般我們還要使用另一台電腦(windows)來測試,如何能在本機測試,而不需要其它的機器呢?以下就是答案:
使用nmblookup 主機名稱,如果有錯則是nmbd無正常運作(可能是iptable,將網路封包過濾掉),在window端要造成,看的到卻無法存取
使用smbclient -NL 主機名稱,看是否正確,如果不正確(可能是samba 的domain設定問題)
使用smbclient //主機/目錄 -U 使用者名稱-如果是網域登入失敗(可能是usermap,及smbpasswd檔案或是smb.conf中的usermap路徑需要設定)
使用findsmb(有些版本有),如果可以可的到你的全部機器,就應該沒有問題
唯讀問題,內定分享目錄是唯讀,因此要加上readonly=no,還要考慮linux使用者,群組權限問題
一般人可能碰到一個問題叫做檔案鎖住?
為了避免一個檔案時被同時開啟,並各自變更資料而不知道,因
此有一種,機制叫lock,一個檔案開啟後另一個檔案只能以唯讀,
或被限制開啟
而Windows的網路芳鄰則有另一種機制,oplock:這一種方法是
予陶s接端可以暫存一些原本要存在server端的資料,且關閉時
不會直接關掉連線,如同所有的cache的作用,可以增加效能,然而
我的結果是檔案明明關閉很久,檔案卻一直被鎖住了,
以下是samba的oplock說明
oplocks (S)
This boolean option tells smbd whether to issue oplocks
(opportunistic locks) to file open requests on this share. The
oplock code can dramatically (approx. 30% or more) improve
the speed of access to files on Samba servers. It allows the
clients to aggressively cache files locally and you may want to
disable this option for unreliable network environments (it is
turned on by default in Windows NT Servers). For more
information see the file Speed.txt in the Samba docs/
directory.

這是我找到原說明中可以改善的這個問題
oplock break wait time (G)

This is a tuning parameter added due to bugs in both
Windows 9x and WinNT. If Samba responds to a client too
quickly when that client issues an SMB that can cause an
oplock break request, then the network client can fail and not
respond to the break request. This tuning parameter (which is
set in milliseconds) is the amount of time Samba will wait
before sending an oplock break request to such (broken)
clients.

DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ
AND UNDERSTOOD THE SAMBA OPLOCK CODE.

Default: oplock break wait time = 0

原意好像是說:有一些機器反應太快以至於無法中斷連線,因此
我調整oplock break wait time =20 至50,結果問題有效解決了
然而95還是有問題,因此我又加了keepalive=120 ,兩分鐘
因為網路內只有五,六台電腦,因此設兩分鐘,讓server檢
查使用者的電腦的連線回應
如何使用瀏覽器來查看samba sverver
在IE網址鍵入\IP 或\機器的netbios的名稱 – 就可以了
查詢網域或群組內的主機
nmblookup "網域或群組" (linux)
net view /workgroup:"網域或群組" (98)
net view /domain:"網域" (nt)
xp pro登入samba pdc網域
針對winxp professional登入samba pdc(xp home無法登入)
試了許多網路的說明,就是無法登入,找書來設定還是有點問題,最後綜合書上及網路,終於成功了………….
1.建立機器帳號-要登入網域的xp電腦名稱
#因為要使用smbpasswd加入時系統需要存在帳號,因此我們建立一個
adduser -g 100 -d /dev/null -s /bin/fasle machine_name$
#加入sambad機器帳號,帳號後必須有$,如果你無法加入$,可以使用vipw加入
smbpasswd -a -m machine_name
#加入管理者帳號-如果你已經設定就不用再設了
smbpasswd -a root
2.變更xp登入不使用編碼
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetlogonParameters]
其中requiresignorseal由1改為0
3.變更xp使用網域
填入你的網域,按確定時,會出現登入視窗
使用者:網域\\root
密碼 :root的密碼
重新開機後,就可以輸入一般使用者的密碼登入了

發表於 未分類 | 已標籤 | 發表迴響

centos 6.7 修改

vi /etc/sysconfig/selinux
SELINUX=disabled
————————————
CentOS 6關閉IPv6功能
/etc/sysctl.conf
#Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1

service ip6tables stop
chkconfig ip6tables off
———————————–

updatedb && yum install epel-* -y && yum update -y && init 6

———————————–
vi /etc/ssh/sshd_confg
拿掉#
#Port 22 ——>Port 7822
拿掉#
#PermitRootLogin yes

———————————–

vi /etc/default/useradd
SHELL=/bin/bash—————>SHELL=/bin/nologin

———————————–
vi /etc/samba/smb.conf
啟動 smbd 時加上 -D 參數
# vi /etc/sysconfig/samba
SMBDOPTIONS="-D"
設置 rlimit_max 數值
# vi /etc/security/limits.conf
# 加入以下內容
* – nofile 16384
立即生效
# ulimit -n 16384

vi /etc/samba/smb.conf
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
getwd cache = yes

# 徹底停用印表機分享
load printers = no
;cups options = raw
printcap name = /dev/null
disable spoolss = yes
printing = bsd

發表於 未分類 | 已標籤 | 發表迴響

centos 7 變換 runlevel

先確認目前 runlevel
systemctl get-default
graphical.target #預設式runlevel=5

確認有哪些模式可用
systemctl list-units –type=target

設定runlevel=3
systemctl set-default multi-user.target

切換運作層級至 GUI 模式(runlevel 5)
systemctl isolate graphical.target

發表於 未分類 | 已標籤 | 發表迴響

samba cp950

因為 samba 3.0 預設採 UNICODE 編碼,所以讀取之前 (2.x) 使用 Big5 中文當檔名所存入的檔案,就會顯示出中文亂碼問題.. 有以下兩個方式來解決 :
需要在參數檔內 socket options 後面增加 cp950 的設定..
cd /etc/samba/
vi smb.conf
:
dos charset = cp950
unix charset = cp950
:
使用 convmv 來批次轉,以下是批次轉的語法 :
convmv -f cp950 -t utf8 -r –notest *

如果是安裝全新的檔案存放系統,建議直接採用預設的 UNICODE 編碼方式,不要用 cp950 設定

發表於 未分類 | 已標籤 | 發表迴響

歷代 Windows Server KMS Client Key (GVLK) 金鑰整理

本篇提供的序號為 Generic Volume Licensing Key (GVLKs) ,僅能用做安裝使用,使用 GVLK 金鑰安裝之後的 Windows 副本可以透過合法的 KMS 伺服器進行啟用。

Windows Server 2012 R2
發行日期:2013/10/17 (原版)、2014/04/08 (更新版)

Windows 版本 金鑰類別 通用安裝產品金鑰
Windows Server 2012 R2 Essentials GVLK KNC87-3J2TX-XB4WP-VCPJV-M4FWM
Windows Server 2012 R2 Standard GVLK D2N9P-3P6X9-2R39C-7RTCD-MDVJX
Windows Server 2012 R2 Datacenter GVLK W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
Windows Server 2012
發行日期:2012/09/04

Windows 版本 金鑰類別 通用安裝產品金鑰
Windows Server 2012 Standard GVLK XC9B7-NBPP2-83J2H-RHMBY-92BT4
Windows Server 2012 Datacenter GVLK 48HP8-DN98B-MYWDG-T2DCC-8W83P
Windows MultiPoint Server 2012 Standard GVLK HM7DN-YVMH3-46JC3-XYTG7-CYQJJ
Windows MultiPoint Server 2012 Premium GVLK XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G
Windows Server 2008 R2
發行日期:2009/10/22

Windows 版本 金鑰類別 通用安裝產品金鑰
Windows Server 2008 R2 Web GVLK 6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Windows Server 2008 R2 Standard GVLK YC6KT-GKW9T-YTKYR-T4X34-R7VHC
Windows Server 2008 R2 Enterprise GVLK 489J6-VHDMP-X63PK-3K798-CPX3Y
Windows Server 2008 R2 Datacenter GVLK 74YFP-3QFB3-KQT8W-PMXWJ-7M648
Windows Server 2008 R2 HPC Edition GVLK TT8MH-CG224-D3D7Q-498W2-9QCTX
Windows Server 2008 R2 for Itanium-based Systems GVLK GT63C-RJFQ3-4GMB6-BRFB9-CB83V
Windows Server 2008
發行日期:2008/02/27

Windows 版本 金鑰類別 通用安裝產品金鑰
Windows Web Server 2008 GVLK WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Windows Server 2008 Standard GVLK TM24T-X9RMF-VWXK6-X8JC9-BFGM2
Windows Server 2008 Standard without Hyper-V GVLK W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ
Windows Server 2008 Enterprise GVLK YQGMW-MPWTJ-34KDK-48M3W-X4Q6V
Windows Server 2008 Enterprise without Hyper-V GVLK 39BXF-X8Q23-P2WWT-38T2F-G3FPG
Windows Server 2008 Datacenter GVLK 7M67G-PC374-GR742-YH8V4-TCBY3
Windows Server 2008 Datacenter without Hyper-V GVLK 22XQ2-VRXRG-P8D42-K34TD-G3QQC
Windows Server 2008 for Itanium-Based Systems GVLK 4DWFP-JF3DJ-B7DTH-78FJB-PDRHK
Windows Server 2008 HPC GVLK RCTX3-KWVHP-BR6TB-RB6DM-6X7HP

發表於 未分類 | 已標籤 | 發表迴響

Install EPEL and additional repositories on CentOS and Red Hat

https://www.rackspace.com/knowledge_center/article/install-epel-and-additional-repositories-on-centos-and-red-hat

sudo yum install epel-release

#CentOS and Red Hat Enterprise Linux 5.x
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
sudo rpm -Uvh epel-release-5*.rpm

#CentOS and Red Hat Enterprise Linux 6.x
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm

#CentOS and Red Hat Enterprise Linux 7.x
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-7*.rpm

發表於 未分類 | 已標籤 | 發表迴響

關閉 Windows 10 升級提醒

要關閉 Windows 10 升級提醒,進入開始,輸入 regedit 來啓動註冊表編輯器到以下路徑:HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate,找出名為 DisableOSUpgrade 的 Dword,將數值設為 1,就可以完成了,如果並沒有 Dword,只需要用戶在 DisableOSUpgrade 中新增一個 Dword,將數值設為 1 即可。

發表於 未分類 | 發表迴響

windows 7 如何開機自動啟動 windows time 服務

windows 7 如何開機自動啟動 windows time 服務
這應該是 Windows 7 的一個 Bug。
這會造成你手動進行時間同步的時候,會出現 Windows Time 服務未啟動的錯誤訊息。
可以試試以下解決方式:

1. 重開機之後,以系統管理者的身份執行 "命令提示字元"

2. 執行以下指令
net start w32time
net stop w32time
w32tm /unregister
w32tm /register
net start w32time

3. 重開機
4. 在服務中將 Windows Time 設為自動 (延遲啓動),並試著啟動它看看是否正常。
5. 在工具列右下角的時間 –> 調整日期 / 時間 –> 網際網路時間 –> 變更設定 –> 立即更新。
6. 若可以成功而且沒有錯誤訊息的話,重開機一次,再檢查看看 Windows Time 是否正常啟動了。

註:不保證可以解決問題,上述方法沒用的話可能要等 Microsoft 出 patch~
註:Windows Time 之所以會停掉,是因為接到停門的控制訊號:0×40030011 [Operating System: Network Connectivity (Planned)],原因不明

發表於 未分類 | 發表迴響

dd 指令參考

http://mini.nidbox.com/diary/read/8640448

備份:

$ dd if=/dev/sda1 of=/xxx/path/sda1_bak.img
將 sda1 整個備份成一個檔 sda1_bak.img

$ dd if=/dev/sda1 | gzip > /xxx/path/sda1_bak.img.gz
也可以壓縮備份

$ dd if=/dev/sda1 of=/dev/sdb1
將 /dev/sda1 整個複製到 /dev/sdb1

$ dd if=/dev/sda of=/dev/sdb
整顆硬碟複製: sd1 複製到 sdb

還原:

$ dd if=/mnt/sdb1/sda1_bak.img of=/dev/sda1

例如 raspberry image 檔案的還原到 sd card:

$ dd if=/tmp/2014-01-07-wheezy-raspbian.img of=/dev/mmcblk0
5785600+0 records in
5785600+0 records out
2962227200 bytes (3.0 GB) copied, 2078.95 s, 1.4 MB/s

$ dd if=/tmp/2014-01-07-wheezy-raspbian.img of=/dev/mmcblk0 bs=4M (M 是大寫,加上 bs=4M 快非常多!)
706+1 records in
706+1 records out
2962227200 bytes (3.0 GB) copied, 516.177 s, 5.7 MB/s

real 8m36.206s
user 0m0.039s
sys 1m29.598s

另外 dd 其它用法

製作 swap 檔案

$ dd if=/dev/zero of=/tmp/swapfile64 bs=4k count=16384
16384+0 records in
16384+0 records out
67108864 bytes (67 MB) copied, 0.277933 s, 241 MB/s

產生 /tmp/swapfile 64MB 的檔案
$swapon /tmp/swapfile 可啟用這個 swap 檔

ps:上面 dd 指令回覆 67MB 是因為 dd 以 1k=1000bytes 來計算

產生一個 100MB 大檔

$ dd if=/dev/zero of=/tmp/file_100mb bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 5.87439 s, 17.8 MB/s

ps:上面 dd 指令回覆 105MB 是因為 dd 以 1k=1000bytes 來計算

據說 也可測記憶體的速度:

$ dd if=/dev/zero of=/dev/null bs=4M count=1000
1000+0 records in
1000+0 records out
4194304000 bytes (4.2 GB) copied, 14.1796 s, 296 MB/s
** Fujitsu u1010 小電腦

$ dd if=/dev/zero of=/dev/null bs=4M count=10000
10000+0 records in
10000+0 records out
41943040000 bytes (42 GB) copied, 4.38987 s, 9.6 GB/s
** AWS Micro Instance

發表於 未分類 | 發表迴響