網路開展事業或在網路創業賺錢的第一步:【架設24小時賺錢網站主機】比網頁設計更優先!

感謝您造訪 Linux主機伺服器架設技術基地。 你可進入替你架設主機.影片教你維護頁面,詳細瞭解Linux主機架設及相關技術維護影片教學(完整配套措施),有主機馬上可以架設網站營運,完全無限制!

租用不如自有主機!聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多!完全沒有版權問題,超強『防駭客攻擊與入侵』及安全防護可以讓你無後顧之憂。

                    架設主機.影片教你維護: http://por.tw/linux/new-E_learning/index.php

Linux主機伺服器架設技術基地  維護團隊  敬上
  • 1 
瀏覽模式: 普通 | 列表

IP位址衝突解決辦法討論(二)

IP位址衝突解決辦法討論(二)

「擺脫」由操作不當引起的麻煩

由操作不當因素造成的IP位址衝突現象可能是最為常見的,這種現象往往會頻繁出現於以下幾個場合:一是一些用心不良的上網使用者為了偷偷獲得某台重要主電腦系統的管理員權限,而有意偷用目的重要主電腦系統的IP位址,從而造成上網位址衝突現象; 二是局功能變數網中的非法破壞分子,為了實現破壞局功能變數網穩定運行的目的,故意製造IP位址衝突故障,比方說,他們只要將自己的電腦IP位址,設定成與局功能變數網核心電腦或核心網路裝置的IP位址相同,就會造成局功能變數網訪問不能標準的現象;三是普通上網使用者在網路訪問過程中,由於無意中的操作不當,造成了上網位址發生衝突現象,例如在反覆安裝、卸載掃毒軟體或應用程式的時候,在頻繁查殺網路病毒的時候,在不斷調整上網參數的時候,很容易會發生無法上網的故障,對待這樣的網路故障,很多上網使用者會自己動手,隨意調整自己系統的配置參數,這樣一來發生位址衝突現象的幾率就十分巨大。

很明顯,無論是有意操作還是無意操作,都有可能造成上網位址發生衝突的故障;為了「擺脫」由操作不當引起的IP位址衝突故障,不少網路管理員往往會通過位址綁定的方法,直接將局功能變數網電腦的IP位址與對應的網路卡MAC位址互相綁定在一起,如此一來就限定了特定的網路卡裝置只能使用特定的IP位址進行上網連線,而使用其他IP 位址進行上網時就無法完成,那樣的話惡意使用者即使偷偷搶用了重要主電腦系統的IP位址,他也不能順利地連線到網路中,那麼位址衝突現象也就不會發生了;不過仔細分析一下,我們或許會發現這種方法也許並不是最有效的解決辦法,這是什麼原因呢?

這是因為上面的位址綁定方法,只能限制惡意使用者偷偷使用局功能變數網中重要主電腦系統的上網位址,但是不能有效防範合法使用者自己操作不當引起的位址衝突現象;例如,合法電腦的IP位址雖然被完成綁定到特定網路卡裝置上了,但是合法使用者仍然可以使用其他IP位址進行上網,當合法使用者由於自己操作上的不當,隨意選用了其他上網位址進行網路連線時,還是可能會出現位址衝突現象的,這個過程與合法使用者是否修改網路卡MAC位址沒有任何關係。具體地說,簡單地將IP位址與網路卡MAC位址綁定在一起的方法,只能有效防範惡意使用者偷偷搶用別人的IP位址,但是無法防範合法使用者操作上的無意失誤引起的IP位址衝突現象,很明顯上面的位址綁定方法,並不能徹底「擺脫」由操作不當引起的麻煩。

有鑒於此,在規模比較大的局功能變數網網路中,我們必須在核心交換機上同時採用兩種位址綁定操作,以便徹底「擺脫」由操作不當引起的麻煩:一種是將全部可信任電腦的IP位址與它們的網路卡MAC 位址綁定在一起,另外一種就是將其他沒有被使用到的閒置IP位址集中綁定到一個根本不存在的MAC位址上。經由這樣的雙重位址綁定操作,局功能變數網中的任何一台可信任電腦系統只能使用事先特殊的IP位址進行上網連線,而不能隨意使用其他的位址進行上網訪問。日後,要是有新的可信任電腦需要接入到局功能變數網網路中時,網路管理員只要從核心交換機上釋放一個閒置的上網位址出來,並且將這個釋放出來位址綁定到新的可信任電腦網路卡MAC位址上。這種雙重位址綁定的方法,經由實踐測試,筆者發現這種方法在「擺脫」由操作不當引起的位址衝突故障方面,效果非法的好,而且這種方法在防止ARP病毒襲擊方面也有不錯的效果。


另外,還有一種極端情況,即使我們採用雙重位址綁定的方法來防範,仍然還可能發生位址衝突現象:那就是惡意使用者同時得到了目的重要主電腦的網路卡MAC位址以及IP位址,而且可信任電腦恰好又不在網路上時,惡意使用者只要強行將自己電腦的網路卡MAC位址修改成重要主電腦的網路卡MAC 位址,再將自己電腦的IP位址設定成目的IP位址,那樣的話位址衝突就會發生了。不過,從實際管理網路的過程中,筆者發現這種極端情況出現的幾率非常低,畢竟這種情況的出現要同時符合三個條件:一要獲得重要主電腦的MAC位址,二要獲得對應系統的IP位址,三要確保重要主電腦系統不能線上。

當然,對於規模不大的局功能變數網網路來說,可能局功能變數網中沒有核心交換機,此時我們只要在用戶端系統中執行簡單的位址綁定操作就可以了。在進行這種操作時,我們可以先開啟用戶端系統的「開始」選單,點選其中的「運行」選項,在跳出的系統運行對話框中,執行「cmd」指令,開啟DOS指令行工作視窗;在該視窗中輸入「ipconfig /all」指令,點選換行鍵後,從對應的結果介面中得到對應系統的網路卡MAC位址與上網位址,將這些位址訊息記錄下來;之後再在DOS指令行工作視窗中,執行「arp X Y arpa」字串指令(其中X為目的IP位址,Y為網路卡MAC位址),完成位址綁定操作。

IP位址衝突解決辦法討論 (一)

IP位址衝突解決辦法討論 (一)

一個網路組建起來往往是比較輕鬆、容易的,不過要想讓網路始終能夠高效、安全地運行好,卻是一件非常困難的事情。暫不說各式各樣的網路應用會讓網路管理員忙個不停,單單IP位址衝突這一故障現象解決起來就非常麻煩的,因為造成位址衝突的因素往往比較多。不過,作為網路管理員來說,我們只要根據具體的故障現象進行依次排查,相信故障解決還是有規律可循的。

「擺脫」由裝置安裝引起的麻煩

當裝置損壞或系統癱瘓時,相信很多人都會選取重換裝置或重裝系統,這時IP位址衝突現象就十分容易出現,這是為什麼呢?出現這種奇怪現象,主要是上網使用者安裝裝置不當造成的,這種現象在安裝新網路卡裝置時更容易出現;因為當使用者發現自己的網路卡裝置工作狀態不標準,或不能使用時,往往沒有按照正確的方法先將舊網路卡裝置從系統中卸載乾淨,這就造成了舊網路卡裝置雖然被移除了,但是它的配置訊息內含上網位址等訊息,仍然儲存在電腦系統中,這時當我們嘗試將舊網路卡裝置使用的上網位址,配置給新網路卡裝置位址時,就會發生IP位址衝突現象。

當我們不幸遭遇由網路卡裝置安裝引起的IP位址衝突現象時,可以先想辦法將殘留在電腦系統中的舊網路卡配置訊息,全部清除乾淨;要做到這一點,我們可以先用滑鼠右鍵點選電腦系統桌面上的「我的電腦」圖示,從右鍵選單中點選「屬性」選項,跳出本地電腦的系統屬性視窗,點選其中的「硬體」索引片,進入「硬體」選項設定頁面,繼續點選該頁面中的「裝置管理器」按鈕,跳出系統裝置管理器介面;

雖然從該介面中無法直接找到被移走的舊網路卡裝置,但是開啟該介面選單欄中的「檢視」下拉選單,選取其中的 「顯示隱藏的裝置」指令選項,這樣一來Windows系統就會自動把那些處於隱藏狀態的所有硬體裝置都顯示出來,這當然也包括舊網路卡裝置的「影子」了;選中舊網路卡裝置的「影子」選項,並用滑鼠右鍵點選該選項,再執行快捷選單中的「卸載」指令,那樣的話Windows系統就會自動把殘留在本地系統中的舊網路卡驅動程式以及配置訊息全部刪除乾淨;

下面,我們只要按照正確的方法將新網路卡裝置插入到電腦主板中,同時為新網路卡裝置配置以前的上網位址,這個時候就能避免上網位址衝突的現象了。

當然,為了徹底「擺脫」由裝置安裝引起的麻煩,我們日後在更換新裝置之前,必須按照正確的操作步驟,將舊裝置從系統中徹底地卸載乾淨,而不能隨意地對舊裝置進行強行移除。

「擺脫」由自動配置引起的麻煩

在管理電腦數量比較少的局功能變數網網路時,網路管理員可能會為這些電腦配置靜態位址,一來可以方便管理,二來能夠滿足各式網路應用;但是,在規模相當大的局功能變數網網路中,繼續為電腦配置靜態位址,就顯得非常麻煩了,因為這樣的工作量非常大,而且也容易出現位址衝突現象,於是網路管理員會在局功能變數網中架設 DHCP伺服器,來為這些電腦自動配置上網位址,以便提高網路管理效率。


那麼,在電腦採用自動取得位址模式上網的情況下,會不會發生IP位址衝突現象呢?這種現象同樣可能存在!當我們沒有正確設定DHCP伺服器的位址池參數時,IP位址衝突現象就可能會發生。大家知道,在預設狀態下,不少ADSL裝置或寬頻路由器裝置只要啟用了DHCP功能,那麼DHCP功能就會自動把對應工作子網中的所有IP位址,全部加入到 DHCP伺服器的IP位址池中。例如,寬頻路由器裝置預設使用的上網位址往往為192.168.1.1,當我們無意中將寬頻路由器裝置內建的DHCP服務功能啟用運行之後,那麼DHCP服務功能就會智慧地將192.168.1.X這個工作子網中的全部IP位址,統統新增到DHCP伺服器位址池中,如此一來就會發生什麼現象呢?

我們知道,為了提高局功能變數網重要主電腦系統的啟動速度,不少網路管理員往往會採用手動方法為重要主電腦系統配置一個固定的IP位址,以便讓重要主電腦系統在啟動過程中節省申請上網位址的時間。比方說,如果本地網路中有10台重要主電腦系統使用了固定的上網位址,它們的上網位址假設被逐一設定成 192.168.1.30~192.168.1.39這10個固定IP位址;如果固定位址為192.168.1.32的重要主電腦系統有一段時間沒有開機運行,而這個時候本地網路中恰恰有另外一台重要主電腦系統使用了自動取得位址模式進行上網連線時,那麼寬頻路由器裝置內建的DHCP伺服器就會自動搜尋到 192.168.1.32位址還處於閒置狀態,這個時候DHCP伺服器就會「擅自作主」地將192.168.1.32位址,強行配置給那台採用自動取得位址模式上網的普通主電腦系統了,倘若此時之前使用192.168.1.32 固定位址的重要主電腦系統正在進行網路連線時,那麼IP位址衝突現象就發生了。在實際管理局功能變數網網路的過程中,由DHCP服務功能造成的上網位址頻繁衝突現象出現的概率仍然是非常大的。

為了「擺脫」由DHCP服務引起的位址衝突麻煩,我們應該正確設定好DHCP伺服器的IP位址池參數,而不要輕易使用預設的參數;在進行調整位址池參數時,應該將一部分IP位址預先保留出來,不加入到位址池中作自動配置使用。例如,我們不妨在寬頻路由器裝置內建的DHCP伺服器中,將其中的位址池參數調整為192.168.1.20~192.168.1.60,將前面20個左右的IP位址預先保留下來,以便用於使用固定位址進行連網的重要主電腦系統使用,如此一來動態位址與固定位址相互之間就會不互相影響了,日後DHCP伺服器也就不會隨意將固定IP位址自動配置給採用自動取得位址模式上網的主電腦系統了,那麼由DHCP服務造成的上網位址衝突現象也就不容易發生了。

當然,除了動態上網位址與靜態上網位址容易發生衝突外,局功能變數網中位於不同位置處的DHCP伺服器相互之間也容易發生位址衝突現象,比方說在一些局功能變數網網路中,有可能會同時出現硬體防火牆裝置、ADSL撥號裝置、列印伺服器裝置、寬頻路由器裝置等等,這些裝置往往都內建有DHCP服務功能,要是DHCP服務功能恰恰被同時啟用的話,那麼這些DHCP服務配置出去的上網位址可能就會發生衝突現象了。為了避免由多個DHCP服務造成的上網位址衝突現象,我們不妨在實際管理網路的時候,為這些多個DHCP伺服器配置不同的訪問優先級,也可以採用劃分多個不同工作子網的做法,確保每一個DHCP服務只能在一個獨立的工作子網中啟用運行,最為直接的就是將那些無關的DHCP伺服器強行停用,讓局功能變數網網路中只保留一台DHCP伺服器標準運行。

Linux 系統管理篇(環境變量)

Linux 系統管理篇(環境變量)

1. 顯示環境變量HOME
$ echo $HOME
/home/terry
2. 設定一個新的環境變量WELCOME
$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!
3. 使用env指令顯示所有的環境變量
$ env
HOSTNAME=terry.mykms.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
4. 使用set指令顯示所有本地定義的Shell變量
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
5. 使用unset指令來清除環境變量
set可以設定某個環境變量的值。清除環境變量的值用unset指令。如果未指定值,則該變量值將被設為NULL。示例如下:
$ export TEST="Test..." #增加一個環境變量TEST
$ env|grep TEST #此指令有輸入,證明環境變量TEST已經存在了
TEST=Test...
$ unset $TEST #刪除環境變量TEST
$ env|grep TEST #此指令沒有輸出,證明環境變量TEST已經存在了
6. 使用readonly指令設定唯讀變量
如果使用了readonly指令的話,變量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一個環境變量TEST
$ readonly TEST #將環境變量TEST設為唯讀
$ unset TEST #會發現此變量不能被刪除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #會發現此也變量不能被修改
-bash: TEST: readonly variable
7. 用C程式來訪問和設定環境變量
對於C程式的使用者來說,可以使用下列三個函數來設定或訪問一個環境變量。
◆ getenv()訪問一個環境變量。輸入參數是需要訪問的變量名字,返回值是一個字串。如果所訪問的環境變量不存在,則會返回NULL。
◆ setenv()在程式裡面設定某個環境變量的函數。
◆ unsetenv()清除某個特定的環境變量的函數。
另外,還有一個指標變量environ,它指向的是包括所有的環境變量的一個清單。下面的程式可以列印出現用的運行環境裡面的所有環境變量:
#i nclude
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf ("%s \n ",*var);
return 0;
}


Linux下的環境變量設定
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
pathmunge /usr/X11R6/bin after
unset pathmunge
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
unset i
JAVA_HOME="/opt/j2sdk1.4.2_01"
MYSQL_HOME="/var/mysql"
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin:/opt/apache-ant-1.5.4/bin
export JAVA_HOME CLASSPATH PATH
CVSROOT=/cvsroot;
export CVSROOT
LINUX系統環境變量
/etc/profile對整個系統有效.
確定你使用的是bash
修改~/.bash_profile
把你要設定的環境變量寫進去
例如
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
  • 1 
本Linux主機伺服器架設基地立志於收集各類Linux主機伺服器架設、網站架設及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!