2008年1月9日 星期三

架站吧

一個網路工程師,如果不會架站,未免也太遜了!
雖然公司已經有一個對外的專屬網站,也有專屬的人員在維護。
不過我總覺得,可以的話,我們資訊部門是不是也能自已架個站,
除了練練架站功力之外,也提供自已資訊人員交流學習的網站天地。
像是自已部門的新聞公告、討論區、檔案分享等等...

於是我利用之前籌備處的對外專線,找了一台電腦,開始準備我的架站大業!
機器用Debian Linux裝好後,我啓動了dhcp、squid一些對內的服務功能。
再利用xampp這個整合好的軟體包,啓動了apache、mysql、php等網頁的服務功能。
再接下來,找了xoops這個已經相當有名的CMS,來做出一個專屬的網站內容。

這裡要幫tad兄打個廣告,他的書和網站,很有參考價值。
http://tad.tnc.edu.tw

OK!現在網站用XOOPS做出雛形了。看看放到網際網路上的效果如何吧!
糟!原來之前籌備處的對外專線,現在己經改成一般浮動IP制的ADSL了。
那如何用浮動IP架站和管理呢?非得用動態DNS才能解決這樣的問題了。
嘿嘿嘿!還好有幾家提供這種服務的網路公司,而且免費耶,好好來利用吧。

http://www.no-ip.com


https://www.dyndns.com

本來我以為那台接在籌備處ADSL的IP分享器,Lemel IS6500。
有內建提供使用DynDNS的DNS指向浮動IP的服務,應該很容易解決說。
沒想到,在DynDNS註冊了帳號,也申請了它免費的Domain name,
然後讓機器成功的使用了我申請的Dynamic DNS。
但卻三天兩頭發生被鎖住停用的情形,心想!SHIT,免費的服務果然不穩。

後來我才找到解決的方法!
在我的機器上安裝它的client端軟體ddclient來用!
對了,client的安裝作業是在我架站的機器上進行,不是安裝在IP分享器,不要弄混了。
便何況,你應該沒辦法安裝軟體到IP分享器吧,對吧!
下載成功後,解開它:
[root@bullock ~]# wget http://cdn.dyndns.com/ddclient.tar.gz
[root@bullock ~]# tar xzvf ddclient.tar.gz


解開後,裡頭有個README文字檔。
[root@bullock ~]# cd ddclient-3.7.3/
[root@bullock ddclient-3.7.3]# vi README

找到以下的安裝說明!藍色文字是我另外加的註解。
+-------------------------------------+
INSTALLATION:

cp ddclient /usr/sbin/
mkdir /etc/ddclient
cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
vi /etc/ddclient/ddclient.conf
-- and change hostnames, logins, and passwords appropriately
##如何修改帳密和相關設定,在這份文件裡的下方,有附幾個範例。
##但我的案例是要自已架站的主機,透過IP分享器連上網際網路,並使用DynDNS的服務。
##可以利用它官網上提供的一個精靈,來產生附合網路環境需求的設定檔。相當方便!
##https://www.dyndns.com/support/tools/clientconfig.html
##請登入成功後再使用精靈。
## For those using Redhat style rc files and using daemon-mode:
cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
##上面的指令是針對rpm系統,
##deb套件系統的路徑則是 /etc/init.d/ddclient 少了rc.d那層。
##Debian 版:cp sample-etc_rc.d_init.d_ddclient /etc/init.d/ddclient
## enable automatic startup when booting
/sbin/chkconfig --add ddclient
##Debian 版本的linux不適用以上指令。
## start the first time by hand
/etc/rc.d/init.d/ddclient start
##啓動服務用的指令。

+-------------------------------------+

以下連結提供了設定檔的內容和範例。
https://www.dyndns.com/support/kb/using_ddclient_with_dyndns_services.html

似乎使用了ddclient之後,最好還是要設定在crontab的服務中,才能真正解決困擾。
因為IP分享器所分配到的IP還是會三天兩頭被更新,若是ddclient不能真正隨時去更新的話,
DynDNS還是不會指到你的浮動IP的,這個問題,我認為是client軟體本身的問題吧!
也可能是我沒有真正搞懂設定檔,所以只能用crontab強制ddclient更新。

[root@bullock ~]# crontab -e
加入一行,內容如下:
30 23 * * * /usr/sbin/ddclient
每天晚上11點半,強制更新真實IP。

Dynamic DNS一旦穩定,如此一來,我就能透過網際網路,
來使用XOOPS的後台管理,繼續改造我的XOOPS了。

再進一步,如果我能再好好設定那台IP分享器的NAT部份,
那麼就算是我人不在公司,不管到那裡,
只要有網際網路,就也能處理公司裡的作業,
這不就是網管人員的理想嗎!看來,我快要實現它了。

以下是我在那台Lemel IS6500 IP分享器之下的網路環境,
放置在我一台ubuntu 7.10的主機裡,所使用的設定檔。
如果環境相似,那麼複製起來,記得改帳密就好!
有類似需求的朋友可以參考看看!
######################################################################
#From https://www.dyndns.com/support/tools/clientconfig.html
## ddclient configuration file
daemon=600 # check every 600 seconds
syslog=yes # log update msgs to syslog
mail-failure=bullock@mail.niceplaza.com.tw # Mail failed updates to user
pid=/var/run/ddclient.pid # record PID in file.

## Detect IP with our CheckIP server
use=web, web=checkip.dyndns.com/, web-skip='IP Address'

## DynDNS username and password here
login=***npmis***
password=***password***

## Default options
protocol=dyndns2
server=members.dyndns.org

## Dynamic DNS hosts
npmis.dynalias.org
######################################################################

而在我實作的經驗中,我發現設定檔中的daemon參數好像沒有作用?
這也是為何我要建議還要再利用crontab去強制執行ddclient的原因。
還有,那個protocol參數,定義的原理,是我困惑的地方,
到底dyndns2是什麼樣的一個協定,是屬TCP還是UDP?使用那一個port?
我查過/etc/services和/etc/protocols內容,都沒有相關的設定?

最後,針對文中有提到NAT的部份,我要再附帶提一下相關說明。
在IP分享器的網路環境下,要讓你的網頁伺服器能對外提供服務的話。
那麼你的IP分享器,一定要有可以設定NAT服務的地方,
一般網頁服務是用主機IP 加TCP 80 port來構成網頁瀏覽的通訊協定HTTP。
所以只要把IP分享器的TCP 80 port導向網頁伺服器的TCP 80 port。
那麼你原本在私有(內部)網路的網頁伺服器,便能對外提供服務了。

沒有留言:

搜尋此網誌

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!