1
lcy630409 2022-03-21 10:08:30 +08:00
.....
搞混淆概念了 192.168.5.0 网关为 0000 ,意思是 这个 192.168.5.0 网段 是不出路由的。你说的正常上网 是客户端 用了 192.168.5.2 这种 ip 可以上网吧?客户端得到了 192.168.5.2 但是他的上级网关是路由啊,路由的上级网关 是根据路由表 0.0.0.0 去了 115.218.232.1 这个网关 |
2
XiLingHost 2022-03-21 10:11:32 +08:00
试试添加 152.69.0.0/16 的路由表而非使用通配符
|
3
huangya 2022-03-21 10:13:22 +08:00
不要用 route add -host 152.69.*.* dev eth0.3 。 直接 route add -net 152.69.0.0/16 gw 10.1.1.1
|
4
defunct9 2022-03-21 10:13:42 +08:00
你得搞策略路由
|
5
Getting OP @lcy630409 貌似懂了一点了 假设网关是 192.168.5.1 客户端确实是写了网关才出去了 但是到了 br-lan 这条 他的路由网关是 0000 所以走了 115.218.232.1 这个网关出去了呀 我 152.69.*.*不该走 0.0.0.0 从 10.1.1.1 出去吗? hhhh
|
7
Getting OP @defunct9 不会写策略路由呀 我想找到简单的方法 感觉就路由表最简单实现功能了 mwan3 整了很久太复杂了感觉
|
8
Getting OP @XiLingHost 我没用通配符 我就是写了准确的 ip 地址 只是发出来的时候写了*号 不然暴露 ip 了额
|
9
Getting OP @lcy630409
第一行:是一个默认路由,这表明如果没有精确匹配路由,就会将 IP 报文发送到 IP 地 址 192.168.43.1 上。UG 表示一个启用的网关地址。br-lan 表示出接口地址。 第二行:是一个接口路由,为局域网接口的路由项,表示局域网为 192.168.43.0 网段。br-lan 表示通过该网卡和局域网网络相连接。 第三行:是一个接口路由,表示目的地址是主机地址。这在接口配置 IP 和掩码时会默认自动设置上。如果不设置掩码则默认 A 类地址为 8 位掩码,B 类地址为 16 位掩码,C 类地址为 24 位掩码。 看了这个 懂了懂了 意思就是指定外网 ip 必须要用网关 不然就只能在路由内部跑了 出不去了 是这个意思了吧? |
10
yanqiyu 2022-03-21 11:56:11 +08:00
route add -host 152.69.*.* dev eth0.3 这一跳就成了 on-link 了。但实际上这一跳要发给网关。
|
12
guoooo00oohao 2022-03-21 15:13:35 +08:00
在 linux 下面可以使用 ip route get 的命令测试一下 target ip match 到哪个路由, 验证你的配置.
|
14
CallMeReznov 2022-03-21 17:17:24 +08:00
route 还支持*?
学到了.... |
15
Getting OP @guoooo00oohao
root@OpenWrt:~# route add -host 152.69.198.162 dev eth0.3 root@OpenWrt:~# ip route get 152.69.198.162 152.69.198.162 dev eth0.3 src 10.1.1.123 uid 0 cache root@OpenWrt:~# route add -host 152.69.*.* gw 10.1.1.1 root@OpenWrt:~# ip route get 152.69.*.* 152.69.198.162 via 10.1.1.1 dev eth0.3 src 10.1.1.123 uid 0 cache 就是少了个 via 10.1.1.1 |
16
Getting OP @CallMeReznov 是我发的时候脱敏了
|
19
xtinput 2022-03-21 21:15:10 +08:00
0.0.0.0 表示走默认网关,数据报文要到下一跳就得路由网关包装,指定了端口,但网关 0.0.0.0 变成默认,那就是网关配置有误了,然后就跳不过去了
多出口都是只配网关,不指定接口的吧 |
21
qbqbqbqb 2022-03-28 16:15:37 +08:00
@Getting
二层网络是以太网的话,路由表项是需要同时包含“出接口”和“下一跳”(俗称“网关”)两个字段的。 1 ) 出接口是不能不指定的,如果不填写的话系统会帮你自动推断,实际上还是相当于有指定接口; 2 ) 下一跳不指定,代表二层直连,目标机器必须在同一个广播域(通俗地说就是通过交换机连接,或者“同网段”)内才能连接;跨网段,需要经过三层路由的,必须配置下一跳,否则肯定连不通的; 3 ) 配置 IP 的时候填写的“子网掩码”和“默认网关”实际上就相当于一种简化的路由表配置,子网掩码自动生成相应前缀的二层直连路由;默认网关会生成一条 0 前缀的路由;和手动添加的路由属于平行关系,遵循相同的优先规则(最长匹配前缀优先,如果有前缀相同的则是 metric 值低的优先);所以不存在所谓“不写就走默认网关”的说法。 如果是 PPP 之类的点对点网络,路由表里就只需要指定“出接口”一个字段,“下一跳”对于这类网络是没有意义的,比如说有时候你在电脑上 PPPoE 拨号也会显示一个“默认网关”但其实这个地址并没有什么实际意义。也只有在这类网络环境里才能不填或乱填“网关”。 |