1. 程式人生 > >新手用Linux做代理伺服器 三招搞定

新手用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服務,其它服務的勾全部去掉.

  注: 以上請大家注意大小寫,寫錯了是不能用的