可有些人太黑,竟要我1000+RMB,我一小網管那來那麼多錢,隻能自己摸索了。在網上找了N多教程,照着做都不成功,可以是小弟太笨不能了解大師門的話沒做好,自己又在網找了些關于iptables 資料,終于被我經弄出來了。
現在我把我的做法寫出來跟大家分享。呵呵!可能是最簡單的方法,大家不要笑小弟哦。如那位高手看了,請多多指點。費話少說,現在進入正題。
Linux做代理伺服器 最簡單的做法,用RedHat9.0為例
找一台能裝上Linux的機器最少要有兩塊網卡
安裝好後進入提示符
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服務,其它服務的勾全部去掉.
注: 以上請大家注意大小寫,寫錯了是不能用的
本文轉自 小強測試幫 51CTO部落格,原文連結:http://blog.51cto.com/xqtesting/808457,如需轉載請自行聯系原作者