Ubuntu 8.10 连接两个局域网实现网间互相访问

刚刚解决了问题,昨天晚上也在Ubuntu官方论坛求助。结果无果,好不容易刚刚搞定,在Ubuntu把帖子完结,然后就来到这里把过程些下来。

求助地址:
http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=186198&p=1151049

简单复述一下:
公司现有一个网络,但是由于网络太慢,另外扯来一条ADSL带着几台电脑上网,现在这两个局域网是分开的。
我想用我的Ubuntu 把他们连接到一起。我的Ubuntu装了两个网卡,并且分别连接到了这个俩个网络。

两个网络 192.168.0.0 和 192.123.1.0
他们内网内的电脑都能上网,但是两个网络不能互相访问,但是192.168.0.X和192.168.123.X都能访问我的Ubuntu主机
Ubuntu有两个网卡:192.168.0.52 和 192.123.1.52,访问两个网络的电脑都没有问题。




我现在两个路由器192.168.0.1和192.123.1.1作了设置了访问对方网络的路由:
192.168.0.1(路由器IP)
any-->192.123.1.0 gateway:192.168.0.52

192.123.1.1(路由器IP)
any-->192.123.1.0 gateway:192.168.0.52



我的ubuntu有两块网卡,可以访问 192.168.0.X 也可以访问192.123.1.X
,但是怎么让他们连接起来呢?

net1 : 192.168.0.0                    net2 : 192.123.1.0
           |||||                                             ||||
           ||||||||||||||||||||||||||||||||||||||||||||||||||||||
                                ||||
                             Ubuntu (双网卡,192.168.0.52 和 192.123.1.52)

基本是这个样子的。net1中的电脑主机 192.168.0.X和net2中的192.123.1.X既能访问 internet 也能访问到 Ubuntu。
由于在路由器192.168.0.1上配置路由,这样 net1 中访问 net2 的请求都会被转向到 Ubuntu 的网卡 192.168.0.52上,
net2由于也是相同的配置,也是相同的结果。都被转向到了192.123.1.52上。
这样的还net1中的主机192.168.0.X 能 tracert 192.123.1.X 到192.168.0.52上了。但是不能进一步

首先让Ubuntu的两个网卡能相互转发

echo 1 > /proc/sys/net/ipv4/ip_forward

或者

sudo vim /proc/sys/net/ipv4/ip_forward

这样,net1中的主机就能ping到 192.123.0.52了,net2也可以。

但是数据包过去了,对方主机也受到了,但是返回不了。所以:
iptables -t nat -I POSTROUTING -j MASQUERADE
完全搞定了。

由于先前以为是路由的问题查了很多资料。把我懂的讲讲,会的就不用看下去了。^_^

1.添加默认路由,这个一般都是有的:
sudo route add default gw 192.168.0.1(网关IP)

2。在某个网卡上添加,只要加一个dev就OK了
dev eth0 指定网卡,想我这样有双网卡的就用上了。
如:sudo route add default gw 192.168.0.1 dev eth0

3。添加一条路由:
sudo route add -net 192.123.1.0 netmask 255.255.255.0 gw 192.123.1.1
route add 是添加操作
-net        是指添加的是一个网络 如-net 192.123.1.0 netmask 255.255.255.0。也可以直接这样写:-net 192.123.1.0/24。
gw            网关IP

4。删除一条路由。
开始这个难住了我,但是,很简单的,只要把上面的完完全全的抄写一遍,然后把 add 换成 del 就OK了,比如:
sudo route del -net 192.123.1.0 netmask 255.255.255.0 gw 192.123.1.1

5。某个网卡上的默认路由不能删除。否则连局域网都ping不同。
如:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

不能删除的。

6。列出说有的路由。
开始我用route。发现很慢。。。 后来发现他有个小弟-n ,列表路由的时候,加一个参数,如:
route -n



原文地址:https://www.cnblogs.com/shengshuai/p/Ubuntu_subnet.html