Linux做代理服務器實現步驟
現在用Linux做代理服務的是越來越多,本人是小菜一個對這方面是一點都不懂想找人學。可是,某此人以錢為主,本來出錢也無所謂了只要能學到東西,本事能學到手也行。
可有些人太黑,竟要我1000+RMB,我一小網管那來那麼多錢,只能自己摸索了。在網上找了N多教程,照著做都不成功,可以是小弟太笨不能理解大師門的話沒做好,自己又在網找了些關於iptables 資料,終於被我經弄出來了。
現在我把我的做法寫出來跟大家分享。呵呵!可能是最簡單的方法,大家不要笑小弟哦。如那位高手看了,請多多指點。費話少說,現在進入正題。
Linux做代理服務器 最簡單的做法,用RedHat9.0為例
找一台能裝上Linux的機器最少要有兩塊網卡
1.安裝Linux,不管是在圖形,還是文體下都可以,選擇最小安裝,在安裝的時候可以先配置一下外網的IP和DNS(不設也行),其它全部默認
安裝好後進入提示符
2.進入提示符以後,首先配置下網卡:
eth0 (外網網卡)配置文件路經為:/etc/sysconfig/network-scripts/ifcfg-eth0
用 vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改 eth0的內容,如果安裝得時候配好了就不用配了,檢下看有錯沒就行了。
eth0的內容為:(注IP為假設IP, #為注釋不用寫)
DEVICE=eth0 #硬件設備名
BOOTPROTO=static #配置方式
BROADCAST=218.28.9.255 #廣播地址
IPADDR=218.28.9.123 #是你的IP地址
NETMASK=255.255.255.0 #子網掩碼
NETWORK=218.28.9.0 #整個網段的地址
ONBOOT=yes #是否啟用網卡(一般默認是開啟的)
eth1(內網網卡),配置文件路經為:/etc/sysconfig/network-scripts/ifcfg-eth1
用 vi /etc/sysconfig/network-scripts/ifcfg-eth1 修改 eth0的內容
eth1的內容為:
DEVICE=eth1 #硬件設備名
BOOTPROTO=static #配置方式
BROADCAST=192.168.0.255 #廣播地址
IPADDR=192.168.0.1 #是你的IP地址
NETMASK=255.255.255.0 #子網掩碼
NETWORK=192.168.0.0 #整個網段的地址
ONBOOT=yes #是否啟用網卡(一般默認是開啟的)
網卡配置完了 大家可以用ifconfig命檢查下網卡有沒配錯
3. 現在來設置外網網關,和ISP提供的DNS
網關的配置文件路徑是 /etc/sysconfig/network 用vi 編輯 如果在安裝時已經設好這個不用改。
內容為:
NETWORKING=yes #這個不知道是什麼意思默認為yes 不用改
HOSTNAME=rslinux #你的主機名 不用改
GATEWAY=218.28.9.120 #你的外網網關
下來加上DNS 如果安裝時設好就不用改了
DNS配置文件路徑為: /etc/resolv.conf 用vi 編輯
語法是:
nameserver 20.2102.224.68 (可以加多條)
以上基本工作全部做完以後我可以用 route命令檢查下路態如果讀出來很順利則說明沒問題.
我的做完以後是這樣的
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
218.28.9.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.255.0 U 0 0 0 eth1
127.0.0.0 * 255.255.255.0 U 0 0 0 lo
default hn.pds.kd.ADSL 255.255.255.0 U 0 0 0 eth0
3.用IPTABLES 實現雙網卡NAT功能,從而實現代理服務器上網
上面的工作做完了之後我們修改sysctl.conf,也就是IP轉發文件。在這裡我們一定要起用IP轉發才可以。
sysctl.conf 路徑為 /etc/sysctl.conf
裡面可以這樣寫:
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
kernel.sysrq=0
4.最後編輯 rc.local文件
vi /etc/rc.d/rc.local #編輯起動批處理文件,在文件末尾添加如下幾行
iptables -F #清除iptables表
iptables -F -t nat #清除iptables IP nat表
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE #把內網ip偽裝為外網的以至接通internet
echo 1>/proc/sys/net/ipv4/ip_forward #啟動ip中轉功能.
到此,重啟機器後代理服務器就能用了。
如果不想加載那麼多服務可用 ntsysv 命令把服務去掉 只留下iptables服務和networks服務,其它服務的勾全部去掉.
注: 以上請大家注意大小寫,寫錯了是不能用的
呵呵,到此結束,費話多了點請大不要介意,我只是好心想說的明白點。