至於DHCP的功能作用就不用再多舉例,對我來說,就一句話,就是讓客戶機自動擷取IP地址資訊。
然後DHCP用於那些地方呢?比如說,你管理一個區域網路,局域的電腦要能訪問網際網路。這時必須為要為能上網的電腦設定IP地址資訊,當然,如果電腦數目少的話,那用不了多少時間就可以設定完成。但如電腦數目太多,上百台等。。。。。
咱辦,雖然可以一台一台的去設定IP資訊,但太花費時間了,這時就可以利用DHCP來完成。
以LINUX/debian為例,首先利用下面的方法安裝dhcp。
Apt-get install dhcp
然後剩下的就是配置DHCP了,DHCP主設定檔存放在/etc/dhcp.conf中,在這個檔案中,主要佈建網域名DNS、客戶機IP位址範圍、網關、租期時間等。
配置完成以後,就得重啟DHCP伺服器,重啟得注意下面的問題:
1) 如果主機只有一張網卡(即eth0),則可以採用/etc/init.d/dhcp restart重啟。然後客戶機就可自動獲得IP資訊。
2) 如果主機有兩張或以上的網卡,則須指定從串連區域網路內部的網卡進行啟動。假設,網卡1(eth0)是串連網際網路的,而網卡2(eth1)是串連區域網路內部,則須採用/usr/sbin/dhcp restart進行重啟。
以上是讓客戶機自動的擷取IP資訊了,然剩下的就是客戶機能訪問網際網路。在LINUX我可以用iptables作為路由,帶動局域內外客戶機上網。Iptables安裝與dhcp一致,若只是做簡單的控制,iptables不需要作任何配置。則直接用iptables帶動客戶機上網吧。
準備工作:在應用iptables前,先確認有echo “1”>/proc/sys/net/ip_forward,這句是開啟核心轉寄功能。
方法1:
/sbin/iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
上面是採用ppp方式上網,如果區域網路採用固定的IP地址,假設IP為222.33.44.55(即出口網卡eth0的地址,下面均是這樣),則就要用下面的方法:
/sbin/iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to 222.33.44.55
方法2:利用shell結合iptables
檔案內容:
A:動態方式
#!/bin/sh
IPTABLES=”/sbin/iptables”
IFACE=”PPP0”
$IPTABLES –t nat –A POSTROUTING –o $IFACE –j MASQUERADE
B:靜態方式:
#!/bin/sh
IPTABLES=”/sbin/iptables”
IFACE=”eth0”
$OUT_IP=”222.33.44.55”
$IPTABLES –t nat –A POSTROUTING –o $IFACE –j SNAT –to $OUT_IP
方法3:可以更人性化一點(靜態方式)
#!/bin/sh
IPTABLES=”/sbin/iptables”
Echo “請輸入出口的介面”
Read IFACE
Echo “請輸入出口的地址”
Read OUT_IP
$IPTABLES –t nat –A POSTROUTING –o $IFACE –j SNAT –to $OUT_IP
對方法3還可以進行更多的最佳化,比如直接列出出口的名稱進行選擇,也可以對輸入的介面資料進行判斷等。這裡我不就在舉例,如果你熟悉shell,這一切都可以改變的。
以上的內容寫得較為粗糙,如果有什麼不對或是有問題的地方,請指正為謝!僅供參考。