歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 在同一台計算機上運行Windows和Linux

在同一台計算機上運行Windows和Linux

日期:2017/2/27 9:31:39   编辑:更多Linux
  系統功能說明:   包過濾和WEB代理雙效合一。由iptables 實現包的過濾,由Linux下大名鼎鼎的squid結合NAT來實現透明WEB代理。SQUID代理的性能本身已經是代理服務器中的佼佼者,本系統將其性能發揮的極至:通過ramdisk技術,讓SQUID把網頁cahce到內存中,這樣,你所訪問的網頁,除了第一次需要到網絡上取,以後都將來自內存!下面介紹如何用redhat 7.2來實現的方法和步驟。     (1)選擇一台比較穩定的計算機,裝上兩塊網卡,256或512M內存,硬盤10G(注意:第一塊網卡接內網,第二塊網卡接外網。)  (2)安裝red hat 7.2,安裝時選擇服務器模式,自動分區。  (3)大概在10-15分中後系統安裝完畢,重啟後進入系統,開始配置系統。     1、開啟包轉發     編輯/etc/sysctl.conf,將net.ipv4.ip_forward=0 該為net.ipv4.ip_forward=1,保存修改。其目的是允許LINUX內核做IP包的轉發:允許IP數據包從一個網絡接口穿越到另一個網絡接口,只有這樣,系統才具有充當包過濾防火牆的條件。     2、激活RamDisk     修改/etc/grub.conf     #boot=/dev/sda  default=0  timeout=10  splashimage=(hd0,0)/grub/splash.XPm.gz  title Red Hat Linux (2.4.7-10)      root (hd0,0)      kernel /vmlinuz-2.4.7-10 ro root=/dev/sda6      ramdisk=268435      initrd /initrd-2.4.7-10.img     其中ramdisk=268435 是我們要添加的內容,目的是告訴系統默認的 ramdisk的大小是268435k,也就是256M。注意千萬不可以直接寫256M,這樣系統是不認識的,必須要換成K才行!(摸索了好幾個月的心得!)這樣設好,重新啟動後就系統就回自動生成一個256M的虛擬盤了。當然,你要根據自己的內存大小來設置這個參數,如果不運行XWINDOWS,設你總內存的一半都沒問題,因為LINUX系統本身並不需要很多內存的。     3、設置squid參數     編輯/etc/squid/squid.conf,在末尾加入以下條目:     httpd_accel_host virtual  httpd_accel_port 80  httpd_accel_with_proxy on  httpd_accel_uses_host_header on  http_Access allow all  cache_dir ufs /squid 256 16 256     前面四條參數使squid提供透明代理提供基礎。“http_access allow all”表示允許所有的客戶機器都可以訪問代理;這裡特別強調的是最後一條 “cache_dir ufs /squid 256 16 256”,squid默認的cache_dir是“/var/spool/squid”,我們因為要讓squid將內容cache到內存中,所以這裡先改成/squid,接下來要將ramdisk影射到/squid目錄中。     4、建立ramdisk。用下面的兩條命令來完成:     (1)mkdir /squid      建立目錄“/squid”  (2)mkfs /dev/ramdisk   創建文件系統  (3)mount /dev/ramdisk /squid  將ramdisk 掛載到/squid目錄。     由於ramdisk在每次重啟後會消失,因此,為了讓系統啟動時自動建立好,我們可以建立一個自動裝載ramdisk的批命令:     mkfs /dev/ramdisk  mount /dev/ramdisk /squid     將這兩條命令寫到一個文件中,我們暫且用myautoexec.bat作為文件名,為了方便起見,我們建立/admin目錄,然後將myautoexec.bat文件保存在/admin下,並加給可執行的權限:chmod +x myautoexec.bat。但這樣系統啟動時並不會被調用,所以我們還要做一件事:編輯/etc/rc.local 文件,在文件末尾插入一行:/admin/myautoexec.bat,這樣,系統就會自動調用myautoexec.bat了。     5、初始化squid     還記得“cache_dir ufs /squid 256 16 256”這個參數嗎?初始化過程實際上就是squid在指定的cache_dir中建立指定的一級目錄(這裡是16),然後在每個一級目錄中建立256個二級目錄。使用的命令是:“squid –z ”。但現在這時輸入命令系統會報告出錯,因為/squid現在的屬主是root, squid 沒有權限操作root的文件,所以還要先把/squid目錄指派給squid用戶,用“chown squid.squid /squid”。再一次運行“squid –z ”,不到一秒鐘時間就可完成。如果這個過程是在磁盤上而不是在ramdisk上,一般要工作幾十秒鐘。     同樣,這步的設置也要把     chown squid.squid /squid  squid –z     兩條命令寫到myautoexec.bat中,最後加上一條“squid”,就是啟動squid服務進程。到這裡,squid的設置全部完成。     6、設置NAT和防火牆規則     為了方便起見,建立文件/admin/myfirwall,將規則都寫到文件中:     #------初始化部分  iptables -F  iptables -t nat -F  modprobe ip_tables  modprobe iptable_nat  modprobe iptable_filter  modprobe ip_conntrack_FTP  modprobe ip_nat_ftp  modprobe ipt_state  #——初始化結束  #-START NAT< < < < < 讓地址為10.27.0.0/16的內部計算機可以偽裝上因特網。  iptables -t nat -A POSTROUTING -o eth1 -s 10.3.37.0/24 -j MASQUERADE  #>>>>>end NAT  #端口轉換,將所有發到外網的請求端口為80的都轉到3128去,讓squid來處理,這一  #--條是透明代理的關鍵< < < < < <   iptables  -t nat -A PREROUTING -i eth0 -d ! 10.27.0.0/16 -p tcp -m tcp    --dport 80 -j REDIRECT --to-ports 3128  #>>>>>>>end 端口轉換  #防火牆規則< < < < < < < 這裡要根據你的要求來定了  iptables -A INPUT -i eth1 -s 0.0.0.0/0 -p ICMP -j DROP  iptables –A INPUT –i eth1 –s 0.0.0.0/0 –p TCP –port ! 80 –j DROP  #以上兩條分別是將所有從外網進來的ping包都統統丟棄,將所有由外網發起的非80端口  #的請求都統統丟棄,意思就是只不允許從外網向內網發ping ,只允許外網訪問內網的  #HTTP服務。完整的防火牆規則要根據你的網絡安全要求來制定,這裡只做參考。     說明: 所有以#開頭的行表示說明,不用寫入文件,保存為/admin/myfirewall,並用“chmod +x /admin/myfirewall”使其可以執行。編輯/admin/myautoexec.bat,加入“/admin/myfirewall”在最後一行。到此為止,我們的好性能防火牆全部配置完成,運行reboot 重啟後,可以工作了。




Copyright © Linux教程網 All Rights Reserved