Sat 24 Sep 2005
我以為是真的:交大推行 802.1x 防堵IP衝突
Posted by Blake under 生活札記


今天一早實驗室博士班開會,因為我來得比較早,恰巧,又是大學長跟我說今天早上有李敖在北京清大演講的現場轉播,我就和大學長一起看。裡面有段小故事剛好可以拿來說等下要講的事情:

有一天我碰到一個十七歲的小政治犯在那裡東張西望,我說你什麼罪狀?他說是政治犯,我說怎麼抓進來的?他說他組黨。他說我在學校裡面的公民教科書上面有一條節介紹中華民國憲法,第十四條說人民有集會結社的自由,他說我以為那是真的,就組黨了,就給逮進來了,後來小鬼自殺了。他以為是真的,就組黨了。

這一陣子剛巧交大在學生宿舍網路推行 802.1x(2001年版本可以在網路上下載,利用google可以在此處下載802.1x 2001年版本,2004年的版本你就必須要有 access IEL 的權限,如果你有的話可以點擊此處下載 2004 年版本的 802.1x標準),按照學校寄給我的信件上面的說法:

為了解決宿舍嚴重的IP佔用以及病毒問題,計算機與網路中心計畫在本學期全面啟用 802.1X 認證。

老實說,我就像上面那個十七歲的少年一樣,也相信計中說的話是真的,也就是說我相信交大推動 802.1x 就能有效防止宿舍網路 IP 盜用及衝突的情況發生。

但是人有時候就是不能太執著於真相。下午趁著有一些時間,抽空看了一下 IEEE 802.1x 標準。我從頭到尾略看了一遍,我發現計中跟我講的事情有問題! 802.1x 從標準上來看根本不能防止宿舍嚴重的 IP 佔用問題,也就是說今天想佔用別人 IP 的人還是可以用 802.1x 認證之後用他想用的任何 IP。簡單地說 802.1x 並沒有保證在使用者連結到網路的那個終端網路孔一定要是可以做某些控制的。換句話說, 802.1x 和我們在使用的那個網路孔到底能不能受到管制是兩回事。我引用這段在 802.1x 2001年版本第 18 頁的一段話來說明:

If the MAC is physically or administratively inoperable, then no protocol exchanges of any kind can take place using that MAC on either the controlled or the uncontrolled Port.

但是從最近使用者發生的事情上來看,只要他啟動了 802.1x ,認證不過就會讓他上不了網路,那這是什麼意思呢?你剛剛不是說這兩個是分開的嗎?這告訴我們兩件事情,第一件事情是我們的網路孔是具備控管功能的,第二,計中有能力把 802.1x 和對網路孔的控制做在一起。但是請注意,這兩件事情的成立並不代表非得要推行802.1x才能解決 IP衝突問題。

我先解釋一下什麼才叫做解決 IP 衝突問題,解決的意思就是說你再也不會遇到 IP 衝突的問題。那這件事情怎麼做到呢?就是在網路管理單位這邊,也就是計中,必須去記錄你用的網路孔、網路卡卡號和IP的對照表,假如今天你換了網路孔,很抱歉,因為你的卡號不對,不能上網路。你說那不換網路孔,換個IP總行了吧?很抱歉,也不行,因為這個對照表必須要三者(網路孔、網路卡卡號、IP)都吻合才允許使用者利用網路。

按照這幾天計中推行後的使用者意見,我認為計中不但具有對網路孔的控管能力,而且還能做到像上面這件事情,建立出這樣的表來防堵 IP 衝突。這個從之前計中防堵病毒散佈的事情就可以看得出來,他們可以停用(disable)網路孔。那他們是不是沒有這個能力建立這種對照表呢?我想也不是。

但是計中寄過來的信卻讓我覺得是因為現行沒有能力才要推行 802.1x 。但是看過 802.1x 標準的人,都可以很明白地看出,這根本是兩回事。從 802.1x 的標準來看,它並沒有企圖阻止 IP 佔用、衝突的事情,因為認證看的是學校的帳號/密碼,而連線的過程則是根據 MAC address 而非 IP,也就是說 802.1x 並不管你之後要用什麼 IP。那如果是這樣,他要怎麼解決 IP 衝突的問題?很顯然,他必須要能做到前面說的事情,必須知道使用者的網路孔、卡號、IP這三個對應關係。所以你到學校那邊去註冊IP的時候就會發現,當你要 disable 802.1x 功能的時候,你就要輸入卡號和網路孔位置,這是在幹什麼呢?就是在做上面我講的對照表的事情,可是這和 802.1x 有沒有關係呢?沒有。那如果你選擇啟動 802.1x ,你不需要輸入卡號,為什麼?因為被你的帳號/密碼這部分的認證取代了,簡單地說,計中可以取得這部分的資訊,利用在認證的結果去看現在作認證的這個 MAC address 是不是能使用網路資源?如果認證通過,那就打開他的網路孔。但是這裡我還是要提醒各位, 802.1x 是看 MAC address,不是看你註冊的 IP address。計中真的要完全防堵 IP 衝突,壓根不需要 802.1x,只消把原來的三樣東西的對照表做好就可以了。

本來在我不看 802.1x 標準之前,我也是很相信學校說的話,就像那個天真的十七歲少年一樣,因為我們相信上頭不會欺騙我們,可是當你去做了,去看看這到底是怎麼回事,你才發現你被騙了。

但是推動 802.1x 並不是沒有好處,至少在阻止病毒上能夠避免無辜的使用者受害,比方說當我知道某個網路孔上的電腦在發送病毒,我就可以根據這個網路孔的使用者是誰(因為你要用就先得認證),然後再把這個網路孔停用。萬一這個使用者偷偷換上室友的網路孔,那也沒用,因為一旦在認證的地方知道這是電腦病毒「患者」,那這個網路孔也會被停用,但是這裡和以前不同,如果他的室友回來要用自己的電腦的時候,當他做認證時,因為知道這個人不是電腦病毒「患者」,所以網路孔就會被啟動。因此在這點上,以推動 802.1x 來避免無辜的使用者的網路孔被停用是有正面意義的。但是解決 IP 衝突上,就不是說要用 802.1x 才能解決,事實上用了也不能解決。

不過在目前的狀況,以交大人玩電腦瘋狂的程度,強制推行 802.1x 勢必造成非微軟使用者不小的衝擊(目前已知只要 Freebsd/Linux 不是最新的版本或是用最新 Kernel的話就沒辦法正常使用 802.1x 的功能)。或許在這樣的考量這下,計中也做出在測試 802.1x 的期間你可以不要使用 802.1x 的功能,只要你願意提供你自己的網路卡卡號就行了。但是這就很有趣了,假如寢室的人都不會中毒,或是說都是用 UN*IX 的人,他們大可以選擇停用 802.1x,因為他們不必擔心變成無辜的受害者。而且如果說有人會需要從遠端存取自己寢室電腦裡面的東西,或是需要把寢室電腦重開機的話,但是 802.1x 梗在中間,你一重開機,就必須要認證,可是你在遠端怎麼連回自己電腦做認證的動作?在目前的情況來看,答案是不能。而且這個不能不是說只針對非微軟使用者,對於微軟使用者來說,只要你重開機,很抱歉,你只要遇到需要重新認證,你又不能在電腦前面,再見,謝謝惠顧。所以 802.1x 在某種程度上扼殺了一些常見的網路使用。這一點,我相信計中是有考量到的,否則大可以直接全面上線測試,而不讓學生選擇是否要使用 802.1x。

不過個人倒是對計中為什麼用這樣的理由推行 802.1x 很感興趣。畢竟計中用了必須去看點文件才能發現的矛盾,這種矛盾不是像台灣那些政治人物說的話一樣,一聽就是知道在騙你。我很好奇計中為什麼要用這種理由推行 802.1x?而且還用了大家都深惡痛絕的IP衝突的理由。為什麼?交大的宿舍網路的建立是全國最早的(這個不是因為我是交大人所以亂吹的,這是可以證明的),我在交大混這麼多年也知道交大計中在網路上的發展一直都是走在其他各校之前,從前面的經驗更知道交大計中絕對不是沒有腦筋的單位,事實上,他們聰明的很。但是這次居然可以讓使用者這麼容易抓到矛盾的地方,就讓我百思不解。這有幾種可能:

1. 我壓根就讀錯了 802.1x,不過覺得我讀錯的人可以拿 802.1x 的標準出來(看你要用哪一年的版本都行)跟我說哪邊我沒讀到或是哪邊誤解了?
2. 計中故意露破綻給人抓。
3. 其實是只能解決病毒問題,但因為計中比較能關照學生需求,「民之所欲,常在我心」,所以不慎又補上了 IP 衝突。

我個人希望是第一種可能,第三種可能我也接受。不過要是第二點,那可就有意思了。在下本寫好了這段,不過想想就算我真的猜對了計中用意又如何?計中不會承認的。如果猜錯,說不定我還得搞上什麼麻煩事情。索性就在這打住就好。至於 802.1x 我自己的選擇如何呢?簡單,請讀我的唇:

d …… i …… s …… a …… b …… l …… e …..

PS. 或許有人會覺得你當學生好好的幹嘛來跟學校唱反調?我只是在做我覺得對的事情。像前幾年學校把學生證和金融晶片卡做在一起,並且宿舍的門禁必須依靠新的學生證感應之後才進得去。換發這種新的這種學生證是不用錢的,但是你必須去填寫一份個人資料給某家銀行,而且就算你不開戶也不能不填那張單子。我因為反對這種事情,落得我的學生證(舊型無感應卡片功能)進不了我的宿舍。結果後來政府規定不能把學生證和金融晶片卡做在一起(政府裡面還是有頭腦清楚的人),於是交大就只好把原來學生證上的金融晶片卡功能移除,但是還是保留感應宿舍門禁的功能。我想說那我就可以去換發新的學生證了,但是學校跟我說我得交三百塊錢才能拿到新的學生證。這兩相比對,我就知道為什麼當初學校會那麼堅持要我填了那張單子才讓我「免費」拿到新學生證。結果我的選擇是繼續用我那張進不了宿舍的舊學生證。是啊,我是在自找麻煩,可是人總得在能選擇能自覺的時候作自己覺得對的事情,而不是為了方便因循苟且。不過你得在交大才有這樣的自由,我前幾年在隔壁清大唸書,清大沒有我的印鑑也沒有我的同意書就幫我開戶了,所以我拿到的存摺上面是沒有我的印鑑的。在清大我連做選擇的自由都沒有,所以唸完碩士班我就跑回交大唸書。在清大它很多事情強迫你,它讓你因為這些強制手段而得到某些方便,而在交大你如果選擇自由,那就是找自己麻煩給自己不方便。這是人的選擇,我寧願選擇自由,而不是被強迫。

創作者介紹
創作者 錯雜談。 的頭像
skywind

錯雜談。

skywind 發表在 痞客邦 留言(1) 人氣( 801 )