IP 协议的源路由功能支持怎么样?用来穿墙不错,但是实测无效...

2014-08-04 11:35:53 +08:00
 gamexg
IP源路由会将IP包目的地址设置为指定的路由器,按IP协议到达指定的路由器后路由器会自动地将目的地址改成实际的目的地址,这样墙应该就识别不到真实的目的地址了,但是实测无法使用,我这里联通的网连 tracert 都无法用,连查问题的原因都查不到。

IP源路由功能现在支持怎么样?这是特例还是都是这样呢?

使用源路由功能PING不通google的服务器。
>ping -j 72.14.239.17 173.194.127.144

正在 Ping 173.194.127.144 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。

173.194.127.144 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

不使用源路由功能就没问题。
>ping 173.194.127.144

正在 Ping 173.194.127.144 具有 32 字节的数据:
请求超时。
来自 173.194.127.144 的回复: 字节=32 时间=44ms TTL=54
来自 173.194.127.144 的回复: 字节=32 时间=49ms TTL=54
来自 173.194.127.144 的回复: 字节=32 时间=42ms TTL=54

173.194.127.144 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 42ms,最长 = 49ms,平均 = 45ms




通过 http://tracert.org/traceroute/ 做的 TRACEROUTE 。
1 75.125.232.57 (75.125.232.57) 0.605 ms 0.574 ms 0.331 ms
2 te1-4.dsr02.hstntx2.networklayer.com (74.55.252.113) 0.632 ms 0.502 ms 0.346 ms
3 ae17.bbr02.sr02.hou02.networklayer.com (173.192.18.238) 0.400 ms 0.272 ms 0.411 ms
4 ae3.bbr02.eq01.dal03.networklayer.com (173.192.18.220) 9.198 ms 10.075 ms ae3.bbr01.eq01.dal03.networklayer.com (173.192.18.218) 5.459 ms
5 50.97.16.37 (50.97.16.37) 5.294 ms 5.276 ms 5.322 ms
6 * * 50.97.16.37 (50.97.16.37) 6.726 ms
7 * 66.249.95.198 (66.249.95.198) 195.207 ms 195.490 ms
8 66.249.95.198 (66.249.95.198) 196.542 ms 66.249.95.89 (66.249.95.89) 47.368 ms 66.249.95.198 (66.249.95.198) 197.481 ms
9 66.249.95.89 (66.249.95.89) 49.558 ms 49.570 ms 48.642 ms
10 64.233.174.177 (64.233.174.177) 148.835 ms 144.531 ms 209.85.243.249 (209.85.243.249) 146.566 ms
11 66.249.94.30 (66.249.94.30) 186.507 ms 209.85.243.249 (209.85.243.249) 147.781 ms 66.249.94.30 (66.249.94.30) 200.962 ms
12 72.14.239.17 (72.14.239.17) 192.761 ms 192.759 ms 192.805 ms
13 hkg03s13-in-f16.1e100.net (173.194.127.144) 192.513 ms 192.480 ms 192.553 ms
5335 次点击
所在节点    问与答
15 条回复
pfitseng
2014-08-04 11:45:57 +08:00
这要一路上路由都支持吧
gamexg
2014-08-04 11:51:05 +08:00
理论上只要指定的那台路由器支持就行。源路由会将ip包的目的地址改成指定的路由器,对中间的路由器来讲只是一个目的地址为那台路由器的包,只有到达那台路由器之后才会被处理并将目的地址改成实际的目的地址。
mhycy
2014-08-04 12:49:06 +08:00
运营商的路由(用户端开始第一个路由)会自动丢弃不属于这网段的数据包,所以伪造IP头没用
gamexg
2014-08-04 14:43:15 +08:00
@mhycy 不是伪造原地址,而是设置的目的地址。

不过我发现由于源站路由可以做源站路由攻击,win系统九几年会收到源站路由的
mhycy
2014-08-04 14:49:49 +08:00
@gamexg 不知道伪造目标IP意义何在,伪造目标IP连数据包都不可达还怎么通讯
gamexg
2014-08-04 14:50:42 +08:00
@mhycy 不是伪造原地址,而是设置的目的地址。

不过我发现由于源站路由可以做源站路由攻击,win系统九几年会丢弃收到源站路由的包。linux系统不清楚具体情况。

不过这样也可以加到翻墙软件上用来混淆流量。
gamexg
2014-08-04 14:54:20 +08:00
@mhycy 理论上一样可达真实的目的地址。但是现在由于源站路由攻击的问题,造成系统会抛弃源站路由的包。恐怕得专门配置的翻墙服务器才能接受源站路由的包,只能用来做流量混淆了。
mhycy
2014-08-04 14:54:53 +08:00
@gamexg 一般翻墙软件不够底层没法伪造。并且用户端路由都会丢弃不属于自己网段的IP包。
lehui99
2014-08-04 14:55:07 +08:00
你确定72.14.239.17支持source routing?只有安装了对应tunnel的才会支持,默认是不开放这个功能的。
mhycy
2014-08-04 14:56:10 +08:00
@gamexg
"不是伪造原地址,而是设置的目的地址。"
到底伪造的是源地址还是目的地址?伪造了目的地址就数据包不可达,伪造源地址也就欺骗一下GFW而已。
lehui99
2014-08-04 14:58:54 +08:00
@mhycy 不是伪造,而是替换。将目的地址替换成router的地址,将真正的目的地址放入ip option中,Loose source routing,rfc的标准。
mhycy
2014-08-04 15:02:18 +08:00
@lehui99 还是你的表达比较清晰,请原谅我智商比较低.....
这协议还真想不到商业路由有啥理由启用这个选项。。。。
goophile
2014-08-08 21:05:21 +08:00
为了安全性,ISP一般都把这个功能关了。。。
wangxiaomu
2016-01-28 14:43:04 +08:00
在 TCP/IP 详解第一卷中,也说到了 Source Routing ,应用在了 traceroute 上
Google 了一下找到了下面这个内核参数: net.ipv4.conf.all.accept_source_route ,来表示是否支持 Source Routin 。
但是除了那个 traceroute ,没有找到其他成熟的 Source Routing 的应用

不知道大家有没有使用过或者实现过分享下?
gamexg
2016-01-28 19:08:51 +08:00
@wangxiaomu
国外 vps 开启源路由支持,然后加上 snat ,应该就能实现,但是不清楚本地的 api 是否提供这个选项。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126004

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX