網管經驗之打造Linux代理服務器
Linux是一類Unix計算機操作系統的統稱。Linux操作系統的內核的名字也是“Linux”。linux系統的強大的功能和絢麗的界面使得許多網管都把服務器安裝為linux系統。下文介紹了如何打造linux代理服務器的方法。
在很多大學和科研機構里,合法的ip和端口并不多,因此很多部門都是采用代理上網,用微軟的ProxyServer固然方便,不過效率低,性能不好,而且最主要的是費用太貴。
因此采用廉價的Linux服務器做代理上網就成了一個很好的解決方法。經過幾天的調試,筆者用Linux做透明網關服務器,讓宿舍的其他機器都可以通過一臺Linux機器共享一個網。感覺非常好。實現的方法是設置IP偽裝。
背景
機器0:
OS:Redhat6.0,成功安裝了雙網卡
eth0:192.168.2.61,連接到了校園網上
eth0'sNetMask:255.255.254.0
eth1:192.168.11.1,連接到宿舍局域網上
eth1'sNetMask255.255.255.0
其中,宿舍局域網的IP是自定義的,為非法地址。
機器1:
OS:Win9x
IP:192.168.11.2
GateWay:192.168.11.1/*機器0的eth1*/
NetMak:255.255.255.0
DNS:202.116.64.3/*校園網的名字服務器*/
目的
使機器1能夠通過機器0上到校園網,就好像機器1直接連到校園網上一樣,故此把機器0叫做透明網關。
原理
由于只有機器0的IP為合法地址,機器1想要上到校園網,就要把機器1發送的數據包經過
機器0偽裝后再轉發出去。期間,機器0把機器1的IP數據包中的本地地址抽取出來并存儲,且用機器0的本地地址代替后轉發出去返回的數據包經過機器0恢復后再轉發給機器1。
步驟
1、保證機器0能夠出校園網,并且能夠Ping到機器1,機器1也能夠Ping到機器0。至于這如何設置不再此次的討論范圍之內。
2、在機器0上打開xwindows,運行:netcfg選擇routing,允許(使能)Network
PacketForwarding(IPV4)。在機器0上建立一個文件:ruleschmod+xrules使rules
變為可執行文件。
=(echo1>/proc/sys/net/ipv4/ip_forward)
3、建立一個rules文件,具體路徑可以放到如/sbin中。編輯這個文件,填寫以下內容:
#在默認狀況下拒絕所有ip轉發。.0
- /sbin/ipchains-PforwardDENY
#允許宿舍網通過機器0使用ip轉發,至于ipchains參見manipchains或者ipchains
howto(參考我們站點上的構建基于ipchains的Linux防火墻)
- /sbin/ipchains-Aforward-jACCEPT-ieth1-s192.168.0.0/24
- /sbin/ipchains-Aforward-jMASQ-ieth0-s192.168.0.0/24
#增加你需要的偽裝模塊。
- /sbin/modprobeip_masq_ftp
- /sbin/modprobeip_masq_quake
- /sbin/modprobeip_masq_irc
- /sbin/modprobeip_masq_user
- /sbin/modprobeip_masq_raudio
4、執行/sbin/rules即可。
若把執行rules這個命令加到/etc/rc.d/rc.local中,那么ipchains就可以啟動時自動執行。本方法對于撥號上網同樣適用。
簡單的方法:
其實用LINUX做網關(只做為可以帶動整個局域上INTERNET的網關)很簡單,只要先連通
(或拔號)上INTERNET,然后運行如下兩條命令,
(當然要以root的身份):
命令1:
- #echo1>/proc/sys/net/ipv4/ip_forward
說明:允許NetworkPacketForwarding(IPV4)
命令2:
- #/sbin/ipchains-Aforward-jMASQ-Sxxx.xxx.xxx.xxx/32
說明:xxx.xxx.xxx.xxx為局域網內部某臺機器的IP地址,此命令的意思是允許把xxx.xxx.xxx.xxx機器的IP包請求進行偽裝執行完這兩條命令就可以了
***:不過這樣是不是有安全問題呢?內網所有機器網關填Linux主機的內網地址。
總結:
希望本文介紹的打造Linux代理服務器的方法能夠對讀者有所幫助,更多有關linux系統的知識還有待于讀者去探索和學習。
【編輯推薦】