找回密码
 注册
查看: 2780|回复: 26

linux路由设置--请高手帮忙

[复制链接]
发表于 2005-8-29 16:37:31 | 显示全部楼层 |阅读模式
我有三个分公司分别在深圳,上海,天津,三个公司都有硬件防火墙,现在,深圳和上海通过ipsec(防火墙自带的功能)连接,天津和上海也通过ipsec连接,都已经联通了,因为深圳联天津网路非常慢,所以他们之间没有用ipsec,而是想通过上海当做一个跳板彼此连同。但防火墙没有办法让他们通,所以我想在上海的防火墙内架设一台linux router来做这个动作。深圳的private ip为:192.168.1.X,天津的为:192.168.2.X,上海为:192.168.0.X。我在上海架的此台linux router server 为:192.168.0.252,现在用192.168.0.252 ping 192.168.1.X通,ping 192.168.2.x也通,但如何做可以让192.168.1.x ping 192.168.2.x也通呢?

所有公司的防火墙private ip都为网段内的254,如上海为192.168.0.254

请高手指教一下,我用的是centos4
发表于 2005-8-29 17:01:12 | 显示全部楼层
但防火墙没有办法让他们通,
具体什么意思
回复

使用道具 举报

发表于 2005-8-29 17:55:06 | 显示全部楼层
进一步关注中。。。。
我对楼主的问题有点想法,我对ipsec不熟。
首先是防火墙方面,能ping通,说明防火墙接受来自任两个网段的数据包(指.1.x和.2.x).
其次是用192.168.0.252 ping 192.168.1.X通,因为这两个IP不在一个网段上,说明.0.x网段有到对方网段的路由,同理192.168.0.252 ping 192.168.2.x也通,说明也有到.2.x网段的路由。
第三,若想要.1.x网段能ping 通.2.x网段,必须加路由且从.0.x网段经过,我认为可以这样做。
1。在.0.x网段里加一台路由器,或一台打开ip转发的linux主机。
2。在.1.x网段里的路由器上加一条静态路由,把到.2.x网段的数据包转发到.0.x网段路由器。
3。路由器把从这一接口(接收从.1.x)收到的数据转发到另一接口(接收来处.2.x)上,其实也就是再加条静态路由.
要想从192.168.2.x ping .1.x,同理再加一次,一点想法。
回复

使用道具 举报

发表于 2005-8-30 00:03:04 | 显示全部楼层
现在我们公司的网络是这样的本地 10.1.1.0 255.255.255.0 网关是10.1.1.1 外地有两个子网 a 10.2.2.0 255.255.255.0 网关是10.2.2.1 和 b 10.3.3.0 255.255.255.0 网关是10.3.3.1  其中外地的办公室的两个子网是可以互通的, 而我本地的子网和外地子网a 做了VPN也可以相互ping通,我现在是想问,在这样的情况下我有什么办法可以ping通外地的b子网?我用的是smoothwall做的VPN服务器

大哥说了这样一步,在.1.x网段里的路由器上加一条静态路由,把到.2.x网段的数据包转发到.0.x网段路由器。请问下我在这里要怎么做啊?
回复

使用道具 举报

 楼主| 发表于 2005-8-30 10:22:53 | 显示全部楼层
1。在.0.x网段里加一台路由器,或一台打开ip转发的linux主机。
2。在.1.x网段里的路由器上加一条静态路由,把到.2.x网段的数据包转发到.0.x网段路由器。
3。路由器把从这一接口(接收从.1.x)收到的数据转发到另一接口(接收来处.2.x)上,其实也就是再加条静态路由.
要想从192.168.2.x ping .1.x,同理再加一次,一点想法。

我现在最麻烦的问题就是1.x和2.x都没有路由器,只有一个硬件的防火墙,在防火墙的设置里面有关于静态路由的设置,但是在设置静态路由的时候其gateway必须和wan或lan是同网段,现在问题时当ipsec(vpn的一种)连通之后是没有ip的,郁闷中。
其实楼上的哥们是我相同的问题。
回复

使用道具 举报

发表于 2005-8-31 10:40:11 | 显示全部楼层
[quote:19ef4c268f="lzd7807"]现在我们公司的网络是这样的本地 10.1.1.0 255.255.255.0 网关是10.1.1.1 外地有两个子网 a 10.2.2.0 255.255.255.0 网关是10.2.2.1 和 b 10.3.3.0 255.255.255.0 网关是10.3.3.1  其中外地的办公室的两个子网是可以互通的, 而我本地的子网和外地子网a 做了VPN也可以相互ping通,我现在是想问,在这样的情况下我有什么办法可以ping通外地的b子网?我用的是smoothwall做的VPN服务器

大哥说了这样一步,在.1.x网段里的路由器上加一条静态路由,把到.2.x网段的数据包转发到.0.x网段路由器。请问下我在这里要怎么做啊?[/quote]
这位大哥的问题我这样理解不知道对不对(VPN怎么实现的我不清楚):
本地网10.1.1.0/24可以ping通10.2.2.0/24,说明本地网关(其实也就是路由)10.1.1.1有到10.2.2.0/24的通路,但可以发现,它们的IP并不在同一个子网,也就是说它们不可能直接(广播)互相ping通,因此我可以假设本地网关还应该有另一个ip,而这另一个ip
1。要么和10.2.2.0/24是同一个网段,
2。要么它的路由设置中的指向有到10.2.2.0/24的通路,
同理,10.2.2.1中也应是如此。
假如是情况1,可以认定网关10.1.1.1有到10.2.2.0的直接通路,这时候由于10.2.2.0/24可以直接ping通10.3.3.0/24,可以认为网关10.2.2.1知道如何到10.3.3.0/24网段,我们可以简单的在10.1.1.1上加一条静态路由,把到10.3.3.0/24的包转到10.2.2.1去,同样,在10.3.3.1网关上也要做同样设置以使数据包能返回。
假如是第二种情况需要更改上级路由,因为终归有结点知道如何到目的网段,你可以用tracerout命令看看到底经过多少路由。
在10.1.1.0/24网段上用traceroute 10.2.2.1看一下,记下来。
在10.2.2.0/24网段上用traceroute 10.3.3.1看一下,记下来。
回头再看具体设置吧。
楼主的问题,其实平常我们用的网关就是传说中的路由器,它开有包转发,又有路由功能,只不过端口比通用路由器少一些罢了。
谢谢!不对请指正!
回复

使用道具 举报

发表于 2005-9-1 16:49:18 | 显示全部楼层
只有防火墙没有路由器还真没见过,你用的是什么设备?
在防火墙上加一个路由应该可以吧
最好把设备及地址也贴出来,(可以用虚拟的)
回复

使用道具 举报

发表于 2005-9-2 00:00:20 | 显示全部楼层
marship大哥刚才的一番话,我还是不是很明白

现在我10.1.1.1就是10.1.1.0/24的网关啊,两张网卡,一张呢?是内网IP:10.1.1.1,另外一张呢,就ADSL,IP是动态分配的,经过和远程网关的VPN设置后呢,就可以实现与香港网段的10.2.2.0/24互ping了,我想两个网段间肯定是建立了路由关系,但是我这边网关并没有发现10.2.2.0/24的IP地址,这种情况是不是您说的第二种情况?(2。要么它的路由设置中的指向有到10.2.2.0/24的通路,)
其中香港的两个子网10.2.2.0/24和10.3.3.0/24是物理直接相连做的路由,可以相互ping通,是您说的第一种情况

目前呢,我的网段10.1.1.0和10.2.2.0做VPN后是可以相互ping通的,我确ping不通10.3.3.0,现在请教你个具体的步骤
因为您说的:
假如是第二种情况需要更改上级路由,因为终归有结点知道如何到目的网段,你可以用tracerout命令看看到底经过多少路由。
在10.1.1.0/24网段上用traceroute 10.2.2.1看一下,记下来。
在10.2.2.0/24网段上用traceroute 10.3.3.1看一下,记下来。
回头再看具体设置吧。
我还是不明白

先谢,不知道我表达清楚我的意思了没有,是否将网络拓朴结构说清楚
回复

使用道具 举报

发表于 2005-9-2 08:53:13 | 显示全部楼层
去找技术支持吧。

个人认为是做不到的。
回复

使用道具 举报

发表于 2005-9-2 12:09:56 | 显示全部楼层
光是文字不太好看 你把拓朴图画出来
回复

使用道具 举报

发表于 2005-9-2 15:25:31 | 显示全部楼层
在linux route server上面必须打开ip forward功能
用root用户登陆,然后
vi  /proc/sys/net/ipv4/ip_forward
将里面的”0“改为”1“
回复

使用道具 举报

发表于 2005-9-2 18:02:15 | 显示全部楼层
lzd7807我觉得你的情况,需要ISP给你设置一下路由,因为10.1.1.1是你10.1.1.0/24的默认路由,所有非本地地址都会被10.1.1.1通过ADSL转发到上级网关去,你能ping通10.2.2.0/24,说明上级网关把到10.2.2.0/24的数据包都转发到10.2.2.1网关的同样的外部接口,是网卡或者是ADSL还是什么设备都有可能,10.2.2.1会把从这个接口来的数据包的目标地址自己某个接口的地址对照一下,很明显它可以把数据包转发到10.2.2.0/24的任意地址上去。
现在对您的情况作一假设,请您看看对不对:
10.1.1.1所在主机至少有两个网络接口,一个为ADSL,另一个为网卡(10.1.1.1),其中ADSL所在可以到达外部网络
10.2.2.1所在主机至少有三个网络接口,一个网卡(10.2.2.1),另一个为类似ADSL的设备,到达10.1.1.1,还有一个可能是还是网卡,可以到达10.3.3.1,现在的情况就是10.2.2.1知道到10.1.1.0/24和10.3.3.0/24应该从哪个接口出去。
我觉得只要能把10.1.1.1发出的到10.3.3.0/24的包发到10.2.2.1就算完成任务了,因为10.2.2.1知道如何转发,你请你的服务提供商帮你把你发出的到10.3.3.0/24网段的包发给10.2.2.1就行了,和转发到10.2.2.0/24的一样。
回复

使用道具 举报

发表于 2005-9-3 14:10:25 | 显示全部楼层
marship大哥,其实我想你的假设是不错的,但是我现在对VPN的路由特性还是不很理解啊,如您假设,本来我本地的网关假设为A吧,IP地址是10.1.1.1和ADSL动态IP,香港方面网关为B,IP分别为,10.2.2.1,ADSL动态IP,和10.3.3.1 香港还有一个子网网关C,IP地址为10.2.2.2和10.3.3.2,香港b子网10.2.2.0/24和c子网10.3.3.0/24是直接相连可路由互ping的.
但是深圳的a子网10.1.1.0/24和香港的b子网10.2.2.0/24是各自的私有网络,本来是没有办法互ping的是不可互达的,我想是因为没有在各自的网段间建立起有效的物理连接,但是通过各自公网上的ADSL分配的公网IP后,通过VPN建立起虚拟局域网后就变得可达了,好象是internet提供了一条物理连接两个网关A,B一样,为他们路由提供了可能,我想的是既然它出现了这样的情况,我是否能够利用这个路由功能,去将访问10.3.3.0/24的包都转发到B网关上呢,但是我现在不知道怎么做.
我的A网关也是linux的操作系统,如果我写静态路由 route add -net 10.3.3.0/24 那么后面的下一跳我如何设定呢?
回复

使用道具 举报

发表于 2005-9-4 21:55:17 | 显示全部楼层
你可以这样加静态路由,先确定ADSL设备,打命令
#:ifconfig
可以看到除了eth0和lo还有一块接口卡(估计会是s0一类的,先假设为s0),因为它的IP的可变的,所以最好根据接口配静态路由
#:route add -net 10.3.3.0/24 s0
然后测试一下
#:traceroute 10.3.3.1
看结果是不是从s0出去(这一步应该没问题),再看看能到达B的ADSL的IP不能(如果不行,那就需要ISP帮你了,因为我们自己不可能改上级的路由),如果能到,那就基本可以成功了。建议你也同时打命令
#:traceroute 10.2.2.1比较两者之间的差异,最好把结果贴好来好吧。
回复

使用道具 举报

发表于 2005-9-5 16:36:55 | 显示全部楼层
ifconfig
eth0      Link encap:Ethernet  HWaddr 50:23:BD:14:76:03  
          inet addr:10.1.1.1  Bcast:10.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:820029 errors:0 dropped:0 overruns:0 frame:0
          TX packets:904779 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:376319037 (358.8 Mb)  TX bytes:955441625 (911.1 Mb)
          Interrupt:10 Base address:0xdc00

eth1      Link encap:Ethernet  HWaddr 00:13:5B:85:13:57  
          inet addr:1.1.1.1  Bcast:1.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:915183 errors:0 dropped:0 overruns:0 frame:0
          TX packets:805163 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:964254352 (919.5 Mb)  TX bytes:380938307 (363.2 Mb)
          Interrupt:11 Base address:0xe000

ipsec0    Link encapoint-to-Point Protocol  
          inet addr:219.133.231.185  Mask:255.255.255.255
          UP RUNNING NOARP  MTU:16260  Metric:1
          RX packets:17008 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19439 errors:0 dropped:106 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:3814171 (3.6 Mb)  TX bytes:3605280 (3.4 Mb)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:669 errors:0 dropped:0 overruns:0 frame:0
          TX packets:669 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:53476 (52.2 Kb)  TX bytes:53476 (52.2 Kb)

ppp0      Link encapoint-to-Point Protocol  
          inet addr:219.133.231.185  P-t-P:219.133.4.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:913886 errors:0 dropped:0 overruns:0 frame:0
          TX packets:803868 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:944070953 (900.3 Mb)  TX bytes:363174198 (346.3 Mb)

route 查看未设置前的路由信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
219.133.4.1     *               255.255.255.255 UH    0      0        0 ppp0
219.133.4.1     *               255.255.255.255 UH    0      0        0 ipsec0
10.1.1.0     *               255.255.255.0   U     0      0        0 eth0
1.1.1.0         *               255.255.255.0   U     0      0        0 eth1
10.2.2.0        219.133.4.1     255.255.255.0   UG    0      0        0 ipsec0
default         219.133.4.1     0.0.0.0         UG    0      0        0 ppp0

然后增加命令route add -net 10.3.3.0/24 ipsec0
然后查看路由表 route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
219.133.4.1     *               255.255.255.255 UH    0      0        0 ppp0
219.133.4.1     *               255.255.255.255 UH    0      0        0 ipsec0
10.3.3.0       *               255.255.255.0   U     0      0        0 ipsec0
10.1.1.0     *               255.255.255.0   U     0      0        0 eth0
1.1.1.0         *               255.255.255.0   U     0      0        0 eth1
10.2.2.0        219.133.4.1     255.255.255.0   UG    0      0        0 ipsec0
default         219.133.4.1     0.0.0.0         UG    0      0        0 ppp0

测试
traceroute 10.2.2.31
traceroute to 10.2.2.31 (10.2.2.31), 30 hops max, 38 byte packets
1  10.1.1.1 (10.1.1.1)  0.211 ms  0.144 ms  0.118 ms
2  10.2.2.31 (10.2.2.31)  219.746 ms  157.805 ms  213.748 ms

traceroute 10.3.3.11
traceroute to 10.3.3.11 (10.3.3.11), 30 hops max, 38 byte packets
1  10.1.1.1 (10.1.1.1)  0.297 ms  0.147 ms  0.120 ms
2  * * *
3  * * *
4  * * *
5  * * *
还是只可以到达10.2.2.0/24,不能到达10.3.3.0/24
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-14 00:16 , Processed in 0.028149 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表