歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

Linux服務器設置指南-代理接入服務器(3)

第四節 IP偽裝 4.2 所需資源 4.2.2 所需配置文件 /root/ipchains 自己寫 4.4 測試 及管理辦法 4.5 其他參考資料 1.黃志偉,IP Masquerade HOWTO中文版 請訪問:http://www.linux.org.tw/CLDP/gb/IP-Masquerade-HOWTO.html 4.7 小結 使用ipchains作為企業上網
  第四節  IP偽裝
  & 4.1 簡介
  利用因特網的代理服務器技術可以解決目前因特網的IP地址耗盡、網絡資源爭用以及網絡安全等問題。代理服務器是采取一種代理的機制,即內部的客戶端必須經過代理服務器才能和外部的服務器端進行通信,而外部的任何一台主機只能訪問到代理服務器。本文著重討論利用Linux代理服務器解決IP地址耗盡、網絡資源爭用和網絡安全等問題。
  隨著因特網技術的迅速發展,越來越多的計算機連入了因特網。目前已經聯系著160多個國家和地區,上網的計算機已超過5000萬台。它促進了信息產業的發展,並將改變人們的生活、學習和工作方式,對很多人來說,因特網已成為不可缺少的工具。而隨著因特網的發展也產生了諸如IP地址耗盡、網絡資源爭用和網絡安全等問題。代理服務器就是為了解決這些問題而產生的一種有效的網絡安全產品。
  
  & 4.2 所需資源
  &4.2.1 所需包
  
  ipchains-1.3.9-5.rpm
  
  &4.2.2 所需配置文件
  
  /root/ipchains 自己寫
  
  & 4.3 配置方案
  1./sbin/rules
  
  說明:
  源文件:
  # 以下是你需要增加的轉發控制模塊
  /sbin/modprobe ip_masq_ftp
  /sbin/modprobe ip_masq_quake
  /sbin/modprobe ip_masq_irc
  /sbin/modprobe ip_masq_user
  /sbin/modprobe ip_masq_raudio
  
  /sbin/ipchains -P forward DENY     # 在默認狀況下拒絕所有 ip 轉發。
  echo 1 > /proc/sys/net/ipv4/ip_forward # 打開IP轉發
  ipchains -I forward -s 192.168.0.0/24 -d 0/0 -j MASQ
  # 將來自192.168.0.0網段的申請轉發
  
  & 4.4 測試及管理辦法
  &4.4.1 測試方法
  
  1.找一台局域網內的客戶機,把IP設置成192.168.0.0網段的,ping一下外邊,看能不能出去,就知道拉。
  
  & 4.5 其他參考資料
  1.黃志偉,IP Masquerade HOWTO中文版
  
  請訪問:http://www.linux.org.tw/CLDP/gb/IP-Masquerade-HOWTO.html
  
  & 4.6 相關技巧
  1. 要是控制模塊不存在,或許是不在路徑下,可以執行depmod -a
  
  & 4.7 小結
  使用ipchains作為企業上網IP偽裝十分實用,而且其配置十分簡單, 並且功能強大,管理起來也十分簡單。當然,其在安全性上還有不足,需要改進。
  第五節 Squid代理服務器
  & 5.1 簡介
  作為一種免費的網絡操作系統,Linux越來越受到廣大網絡愛好者的歡迎,目前因特網(Internet)上運行的主機有相當一部分采用的就是linux操作系統,而且中國已經把linux操作系統作為政府上網年的指定網絡操作系統,種種跡象表明,linux操作系統正在逐漸走向成熟。在本章我將向大家介紹一種能在Linux系統下使用的比較優秀的代理服務器軟件的配置方法。
  
  眾所周知,當今因特網發展速度極其迅猛,IP地址資源非常緊張。而如果您想訪問因特網,共享因特網的豐富資源,您的機器必須擁有一個標准的IP地址。在因特網上,IP地址是識別您的機器的唯一標志。目前,有兩種方式可以讓您的機器擁有標准的IP地址:一種是局域網通過專線接入因特網,您的機器可以擁有靜態的IP地址。所謂靜態IP地址,就是對使用者來說,是固定不變的IP地址,這個IP地址給您使用後,其他人就不能再用了。一種是通過電話線撥號或ISDN撥號等方式接入因特網,您的機器可以在您撥號上網的在線期間從ISP的訪問服務器的IP地址池中獲得一個臨時的標准IP地址,這個IP地址在您下線後就不歸您使用了,而您下次撥號再上網,很可能分配給您的機器的是另外一個臨時的IP地址了。這種臨時分配的IP地址,稱為動態IP地址。無論是靜態地址還是動態地址,在您的機器訪問因特網時,使用起來沒有什麼區別。
  現在因特網發展速度這麼快,而IP地址資源又這麼緊張,這不能不說是一個尖銳的矛盾。雖說Ipv6正在開發中,但遠水不解近渴,好多的企業、公司內部的Intranet現在就想接入因特網這個浩瀚的資源海洋,但又苦於沒有充足的IP地址資源,怎麼辦?還好,有代理服務這個好東西。代理服務是指由一台擁有標准IP地址的機器代替若干沒有標准IP地址(以下稱內部地址)的機器和因特網上的其他主機打交道,提供代理服務的這台機器稱為代理服務器。擁有內部地址的機器想到因特網上查找資料時,先把這個請求發給擁有標准IP地址的代理服務器,由代理服務器把這個請求通過它的標准IP地址發到請求的目標地址。然後目標地址的服務器把返回的結果發回給代理服務器,代理服務器再原封不動的把資料發給最初那台擁有內部IP地址的機器。這樣就完成了一次內部機器訪問因特網的一個過程。若干擁有內部地址的機器就組成了內部網,代理服務器的作用就是勾通內部網和因特網,解決內部網訪問因特網的問題。而且這種代理是不可逆的,因特網上的主機不能訪問任何一台擁有內部地址的機器,這樣又可以保障內部資料的安全性。
  
  能夠完成這種代理功能的服務器軟件有好多,我給大家推薦一種能在linux下使用的比較優秀的代理服務器軟件Squid。之所以說它比較優秀,是因為它可以在代理服務器上作一個很大的緩存,可以把好多常去的網站內容存儲到緩存中,這樣,內部網的機器再訪問那些網站,就可以從緩存裡調用了。這樣一方面可以加快內部網浏覽因特網的速度,這就是所謂的提高客戶機的訪問命中率, 另一方面,Squid不僅僅支持HTTP協議,而且還支持FTP,GOPHER,SSL和WAIS等協議考慮到簡捷實用的原則,我們本章只向大家介紹如何設置HTTP代理,而其他的代理大同小異,各位理解了HTTP的配置也就明白應該如何配置其他的代理了。
  
  & 5.2 所需資源
  &5.2.1 所需包
  
  squid-2.3.STABLE1-5.rpm
  
  &5.2.2 所需配置文件
  
  /etc/squid/squid.conf  系統自帶,管理員配置
  
  &5.2.3 相關工具
  & 5.3 配置方案
  1./etc/squid/squid.conf
  
  說明:squid主配置文件
  源文件:
  acl deny_ip_01 dst 1.1.1.1
  http_access deny deny_ip_01
  # 以上兩行是基於IP的訪問控制
  acl deny_url_01 url_regex http://www.www.www
  http_access deny deny_url_01
  # 以上兩行是基於URL的訪問控制
  http_port 3128  # HTTP協議代理默認代理端口
  cache_mem 32 MB  #開劈一塊內存區域作為緩沖
  cache_dir ufs /home/squid/cache 1024 16 256
  # 開劈一塊硬盤空間,作為硬盤緩沖區,這塊區域的分布是連
  續的,邏輯關系由管理員設定
  cache_access_log /var/log/squid/access.log
  # 該log文件是用來描述每次客戶請求HTTP內容時,高速緩
  存命中或未命中的項目。同時描述提出請求的主機身份及它
  們所需的內容。
  cache_log /var/log/squid/cache.log
  #用於描述當squid守護進程啟動時,可看到有多少內存、交
  換空間,高速緩存目錄的位置,所接受的連接類型及接受連
  接的端口。
  cache_store_log /var/log/squid/store.log
  #用於描述頁面從高速緩存中被調入調出的情況。
  pid_filename /var/run/squid.pid
  #管理員可以通過查看此文件了解當前執行的squid進程。
  dns_nameservers 192.168.0.1
  #定義域名解析服務器的地址
  acl all src 0.0.0.0/0.0.0.0
  cache_mgr [email protected]
  #設置cache管理員的郵件箱地址
  reference_age 3 days
  #設置緩沖區的更新周期
  maximum_object_size 4096 KB
  #設置允許被緩存的一次性最大請求
  
  & 5.4 測試及管理辦法
  &5.4.1 測試方法
  
  1.在客戶機下打開浏覽器,設置好代理服務器,端口是3128,看看能不能上網就是拉。
  
  &5.4.2 管理方法
  
  1.修改完配置文件需要執行/etc/rc.d/init.d/squid restart使得配置生效。
  
  & 5.7 小結
  看完本章之後,我想各位一定有個深切的感受,squid的配置文件十分的長,而且能干的事情實在是太多了,但是我們作為一名合格的管理員應該從需求方案出發,以客戶的需求為導向,配置出我們自己需要的服務器,這樣不但可以滿足需要,還能大大減少我們的工作量,配置squid就是一個鮮明的例子。
  
  第六節 Modem撥號
  & 6.1 簡介
  首先向大家強調一點,我們這裡所談的PPP不是要將我們的服務器配置成為提供撥入服務的服務器,而是用戶可以通過服務器撥號上網,簡而言之就是,服務器可以按照客戶的需求自動撥號上網,也就是所謂的按需撥號。
  為什麼我們要向大家介紹這項配置呢?因為雖然現在許多企業都用DDN上網,但是Modem在很大程度上還是有它的作用的,所以我們將向大家介紹一下如何實現PPP自動撥號上網。
  
  & 6.2 所需資源
  &6.2.1 所需包
  
  ppp-2.3.11-4.i386.rpm
  
  &6.2.2 所需配置文件
  
  /etc/ppp/options
  /etc/ppp/modemdial  系統沒有,管理員創建
  /etc/ppp/pap-secrets
  /root/dial
  
  &6.2.3 相關工具
  
  /usr/sbin/pppstats
  
  & 6.3 配置方案
  1./etc/ppp/options
  
  說明:PPP可選配置項
  源文件:
  demand    # 啟動按需撥號模式
  modem     # 使用modem控制線
  lock     # 打開設備鎖
  crtscts     # 清除發送
  defaultroute   # 使用默認路由
  asyncmap 0    # 設置異步map=0
  ipcp-accept-local
  ipcp-accept-remote
  ipcp-max-configure 5
  ipcp-restart 1
  mtu 552     # 設置最大傳輸單位
  mru 552     # 設置最大接受單位
  name 169    # 設置用戶名,與pap-secrets對應
  usepeerdns    # 自動抓取ISP的DNS
  
  2./etc/ppp/modemdial
  
  說明:Modem撥號指令文件
  源文件:
  "" ATZ     # 初始化設備
  OK ATDT169    # 撥號
  CONNECT ""    # 握手連接
  
  3./etc/ppp/pap-secrets
  
  說明:PAP模式口令加密文件
  源文件:
  169 * 169  # 用戶名 * 密碼
  
  4./root/dial
  
  說明:pppd進程啟動文件
  源文件:
  killall -9 pppd    # 殺掉殘留pppd進程
  /usr/sbin/pppd -d /dev/ttyS0 115200 connect "/usr/sbin/chat
  -t 3 -V -v -f /etc/ppp/modemdial"
  # -d後跟設備名稱,115200是連接速率,connect後跟撥號腳本
  &6.4 測試及管理辦法
  &6.4.1 測試方法
  
  1. 可以執行ps auxw|grep pppd,查看是否有pppd的守護進程。
  
  &6.4.2 管理方法
  
  1. 執行 tail –f /var/log/message 可以觀察撥號過程,當你看到已經從ISP分配到了IP並成功抓取到了DNS之後,說明撥號正確。
  2. 執行 pppstats可以觀察Modem的工作情況。
  
  & 6.5 其他參考資料
  1. diald:http://home.loonie.net/~eschenk/diald.html)
  2. webppp:(http://www.ajusd.org/~edward/webppp/)
  
  & 6.6 相關技巧
  1.如果在字符界面下無法撥號,可以考慮裝個Xwindows,用用她的撥號器。
  
  & 6.7 小結
  其實這一切很簡單,通過我上面的敘述,大家不難發現,其實所謂的按需撥號,它的實現應該被劃分成兩個步驟:第一,先將服務器本身配置好,讓它可以撥號上網;第二,編寫自動撥號配置文件,使Linux服務器具備自動撥號的能力。其實,從客戶端自動撥號與從服務器自動撥號的原理是一樣的,只要有向外的請求,就應該自動啟動撥號進程,而從客戶機來的請求,最終將通過sendmail,squid等從服務器發送到Internet。所以我們只要配置好服務器上的自動撥號,也就能實現客戶機的自動撥號。

Copyright © Linux教程網 All Rights Reserved