« 學習Java入門知識SUN Java認證概述和分類 »

讓linux運行在網關狀態

本文轉自 www.pass4sure.asia

本方法比較適合以下情況的使用者:
    環境: 多臺電腦在壹個局域網中(如實驗室中),但是只有壹個BRAS號,所有電腦都想要上網。
    要求: 妳不想給N多軟件設置代理:給FireFox設置代理,給QQ設置代理,
                                    給Fetion設置代理,迅雷、Pidgin,等等(設置這多累死人)
           因為有些軟件沒辦法設置代理(無此功能),難道每臺電腦必須直連Internet?
    壹個更具體的應用場景:
    10.3.22.1   是妳們實驗室的網關,
    10.3.22.117 是妳們實驗室的壹臺服務器,終年開著,Ubuntu系統,BRAS壹直連著,願意為別人共享BRAS連接
    10.3.22.120 是妳的電腦,妳沒有BRAS了,想上網,又不想給N多軟件設置代理,有些軟件還沒辦法設置代理,
                妳就想妳的電腦可以上網,而且要就好像直連Internet壹樣。
    妳的要求可以過分了嗎?可以滿足嗎?可以!!

設置
    ●.服務器上的配置
    也就是10.3.22.117上的配置。

    在/etc/network/interfaces 中添加
    auto eth0
    iface eth0 inet static
               address 10.3.22.117
               netmask 255.255.255.0
               broadcast 10.3.22.255
               network 10.3.22.0

    將/etc/sysctl.conf 中
    #net.ipv4.ip_forward=1
    行,改成
    net.ipv4.ip_forward=1

    在/etc/rc.local 中添加
    route add default gw 10.3.22.1
    /sbin/iptables -P FORWARD ACCEPT
    /sbin/iptables --table nat -A POSTROUTING -o ppp0 -j MASQUERADE

    在/etc/resolv.conf 中添加(設202.119.24.18是DNS服務器):
    nameserver 202.119.24.18

    配置完畢,重啟服務器,並撥BRAS。(配置中用到的IP請參看本文前面的場景假設)
    如果妳不想重啟服務器也可以,或者如果重啟之後有其他異常,請參看(需要BRAS的b)
        http://ubuntuforums.org/showthread.php?t=713874

    ●.客戶機上的配置
    也就是10.3.22.120上的配置。
    Ubunut下

    在/etc/rc.local 中添加
    GATEWAY=10.3.22.1
    route add -net 10.0.0.0 netmask 255.0.0.0 gw $GATEWAY
    route add -net 58.192.112.0 netmask 255.255.240.0 gw $GATEWAY
    route add -net 202.119.144.0 netmask 255.255.240.0 gw $GATEWAY
    route add -net 121.229.0.0 netmask 255.255.0.0 gw $GATEWAY
    route add -net 172.16.0.0 netmask 255.240.0.0 gw $GATEWAY
    route add -net 121.248.48.0 netmask 255.255.240.0 gw $GATEWAY
    route add -net 121.248.0.0  netmask 255.255.224.0 gw $GATEWAY
    route add -net 211.65.32.0 netmask 255.255.224.0 gw $GATEWAY
    route add -net 211.65.232.0 netmask 255.255.252.0 gw $GATEWAY
    route add -net 202.119.0.0 netmask 255.255.224.0 gw $GATEWAY
    route add -net 202.119.24.55 netmask 255.255.255.255 gw $GATEWAY
    route add default gw 10.3.22.117

    在/etc/resolv.conf 中添加(設202.119.24.18是DNS服務器):
    nameserver 202.119.24.18
    在終端中:
    sudo route add default gw 10.3.22.117

    Windows下
    雙擊“本地連接” -> 屬性 -> Internet協議(TCP/IP) -> 默認網關改成 10.3.22.117

    大功告成,現在測試下,不撥BRAS時
    ping www.baidu.com
    看看是否通的?
    這時,妳的電腦就好像直連Internet壹樣在共享10.3.22.117提供的互聯網連接。
    瀏覽器,QQ,飛信,迅雷,Pidgin都不需要設代理就直接可以用!
    想上國外網?只要在瀏覽器裏設下代理服務器就OK了!

原理
    我們這裏用到了NAT(網絡地址轉換),10.3.22.*都可以通過10.3.22.117上網,10.3.22.117就是壹臺NAT網關。
    10.3.22.120所有的數據包都發給了10.3.22.117,而10.3.22.117把這些IP數據包 轉換地址之後發給互聯網上的目的地址,
    目的地址返回的數據包同樣經過IP地址轉換後回發給了10.3.22.120,
    所以10.3.22.120感覺好像自己直連互聯網壹樣。
    10.3.22.*也可以通過10.3.22.117上網,設置和原理都壹樣。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。