2009-05-28 194 views
1

我正在舊PC上設置WAMP/LAMP堆棧。這臺電腦將連接到一個本地網絡與其他十幾臺電腦。 我有興趣限制其他人的計算機訪問權限,以便只有我的合作伙伴和我才能訪問我們的本地服務器。 我認爲最好的辦法是阻止其他人的MAC地址(路由器自動分配IP地址,所以我不想依賴它)。 我想補充一點,我沒有訪問路由器的配置頁面,所以這將不得不從服務器本身完成。通過MAC地址限制訪問

任何人都可以擴展如何做到這一點?

回答

1

首先看看你的路由器的控制面板。通常路由器(至少用於無線)允許基於物理地址的訪問控制。

幫助你的第二件事就是防火牆。尋找防火牆,通過mac地址來限制訪問(如果您使用的是linux,我非常確定它已經具備此功能,在我的wintel上,我使用的是Comodo個人防火牆,它允許我通過物理地址進行過濾。)

1

如果你不能用路由器,那麼你必須要實現服務器本身的限制不甘示弱:這取決於你想如何偏執是,那映入腦海的幾個選項:

  • 最簡單的 - 設置一個虛擬主機在Apache中將主機名設置爲不能通過DNS解析的唯一東西:只需將此條目添加到本地主機文件中,並且瞧 - 通過IP訪問服務器的任何人都將獲得默認的Apache主機(歡迎頁面)。
  • 中東 - 使用mod_auth_basic到(通過htpasswd的用戶名+密碼)訪問添加基本的網絡服務器
  • 最難 - 添加iptables規則,以阻止除從給定的MAC的
3

的Linux/iptables的所有訪問端口80,該整理的黑名單的方式,這將放棄所有的流量從指定的MAC地址發起:

iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 1> -j DROP 
iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 2> -j DROP 

不過,我真的不知道,如果這是你想要的,該MAC地址是不是真的可靠的過濾流量的方法。大多數現代NIC允許你改變你的mac地址,如果ethernet-frame封裝的ip-packet已經通過路由器,那麼以太網幀上的source-mac-address將是最後一個它通過的路由器而不是始發的計算機。

我會建議尋找mod_auth_basic或類似的東西,它比iptables更容易犯錯誤。如果你決定採用iptables路由,我會建議採用更多的白名單方式,iptables默認放棄某些流量,然後允許通過你想要的。

iptables -A INPUT -p tcp --dport 80 -m mac --source <your mac> -j ACCEPT 
iptables -A INPUT -p tcp --dport 80 -m mac --source <your partners mac> -j ACCEPT 
iptables -A INPUT -p tcp --dport 80 -j DROP