`
jezon
  • 浏览: 3594 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

ubuntu下单网卡NAT

阅读更多
最适用场合
    本方法比较适合以下情况的使用者:
    环境: 多台电脑在一个局域网中(如实验室中),但是只有一个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上网,设置和原理都一样。


Ubuntu局域网单网卡Nat共享上网 1、设置好主机的上网,下面的例子供参考:
代码:
IP地址 192.168.1.250 网关 192.168.1.1 DNS 61.128.114.166
2、进入终端,输入命令 sudo su 进入管理员模式; 3、接着输入命令,开启路由功能:
代码:
echo "1">/proc/sys/net/ipv4/ip_forward
4、接着依次输入下列命令:
代码:
sudo iptables -F sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这样主机就设好了,如果想自动运行,可以如下操作: 1)在文件 /etc/sysctl.conf 最后加上一行 net.ipv4.ip_forward = 1 2)在文件 /etc/rc.local 里加入下面的几行(注意,加在 exit 0 的前面):
代码:
sudo iptables -F sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
设好以后,重新启动一下计算机; 5、客户机设置好DNS,网关为主机的IP地址,下面的例子供参考:
代码:
IP地址 192.168.1.78 网关 192.168.1.250 DNS 61.128.114.166
重启后,客户机就可以直接上网、上QQ了;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics