linux如何向向局域网内的其他路由器广播特定路由条目
遇到一个问题,主路由是一个普通的家庭路由器,无法配置静态路由,但是旁路由是可以任意操作的开放的linux系统路由器.如图所示,旁路由连接另一个局域网.现在想要让主路由 可以转发数据包的旁路由所主导的局域网.
注:由于一些原因,旁路由的主导的局域网的相关路由条目无法被其他路由器自动学习(具体原因是旁路由所连接的局域网是用vpn连接的,具体软件是使用tailscale)
直接去咸鱼捡一台有管理功能的千兆企业级路由器不就行了。
这个取决于你的家用路由器是不是能配置DHCP。
DHCP可以配置下发静态路由,具体可以查询 option 121
家用路由器大概率是不支持直接配置的,我用过openwrt这样配置是没问题的。
如果没有配置的话,看看能不能关闭路由器上的dhcp服务,然后在旁路由上装个dnsmasq,自己来做DHCP地址下发。
在 Linux 系统上,你通常不能直接通过广播的方式向局域网内的其他路由器添加静态路由条目,因为路由器通常不会接受来自其他设备的动态路由更新(除非它们配置为使用某种动态路由协议,如 BGP、OSPF 等)。然而,你可以采取一些其他方法来实现你的需求。
在这种情况下,由于主路由是一个普通的家庭路由器且不支持静态路由配置,而旁路由是一个可以任意操作的 Linux 系统,你可以考虑以下解决方案:
启用 IP 转发:
在旁路由上启用 IP 转发,以便它能够转发来自主路由的数据包到 VPN 连接的局域网。
echo 1 > /proc/sys/net/ipv4/ip_forward
或者,永久启用 IP 转发,可以编辑 /etc/sysctl.conf
文件并添加以下行:
net.ipv4.ip_forward = 1
然后运行 sudo sysctl -p
以应用更改。
配置静态路由:
虽然你不能直接在其他路由器上添加静态路由,但你可以通过调整旁路由上的路由表来实现类似的效果。
假设你的网络配置如下:
192.168.1.1
192.168.1.2
10.0.0.0/8
在旁路由上,你可以添加一条静态路由,将所有发往 10.0.0.0/8
的流量通过 VPN 接口转发。
ip route add 10.0.0.0/8 via <VPN_GATEWAY_IP> dev <VPN_INTERFACE>
替换 <VPN_GATEWAY_IP>
为 VPN 网关的 IP 地址,<VPN_INTERFACE>
为 VPN 连接的网络接口名。
配置策略路由(可选):
如果主路由和旁路由之间有其他复杂的流量转发需求,你可能需要使用策略路由(也称为基于源或目标的路由)。
例如,你可以使用 ip rule
和 ip route
命令来创建更复杂的路由规则。
iptables
或 firewalld
规则来允许相关的流量通过。通过上述步骤,你可以在一定程度上实现主路由向旁路由所主导的 VPN 连接的局域网转发数据包的需求。然而,这并不是通过广播静态路由条目来实现的,而是通过配置旁路由的路由表和 IP 转发功能来实现的。
英文原文:http://emberjs.com/guides/routing/redirection/ 过渡与重定向 在路由中调用transitionTo或者在控制器中调用transitionToRoute,将停止当前正在进行的过渡,并开启一个新的,这也用作重定向。transitionTo具有参数,其行为与link-to助手相同。 如果过渡到一个没有动态段的路由,路由的model钩子始终都会运行。
我正在尝试使用react router(版本^1.0.3)做一个简单的重定向到另一个视图的操作,我只是觉得有些累。 我只需要将用法发送到“/login”,就这样。 我能做什么? 控制台中的错误: 未捕获的引用错误:未定义PropType 用我的路线归档
我一直试图做一个简单的重定向到按钮点击的另一个组件,但由于某种原因,它不起作用。我想重定向到/dashboard并从登录显示AdminServices,如下所示: //索引。js //应用程序。js //登录。js //管理服务。js
在TS文件中 用户详细信息应为 在管理组件中 我的问题是,当单击时,我不会被重定向到页面,但当我从url栏导航到/userdails时,我会看到组件
我已经稍微调整了React路由器的私有路由示例,以便与Redux玩得很好,但是当链接或重定向到其他页面时,不会呈现任何组件。这个例子可以在这里找到: https://reacttraining.com/react-router/web/example/auth-workflow 他们的PrivateRoute组件如下所示: 但是,因为我已经把它合并到一个Redux应用程序中,我不得不稍微调整一下私
当我们想要通知客户端应用程序已移动此URL时,重定向路由非常有用。 可以使用以下函数重定向URL。 static Cake\Routing\Router::redirect($route, $url, $options =[]) 上述功能有三个参数 - 描述路径模板的字符串。 要重定向到的URL。 一个数组,它将路径中的命名元素与该元素应匹配的正则表达式相匹配。 例子 (Example) 在co
我在react-redux项目中使用react-router-dom 5.1.2。对于我的路由,我有两个文件。第一个是App.js,其中包含redux存储和BrowserRout的提供程序: 在下一层,我有Main.js,它有到所有组件的路径 我遇到的问题是,当我使用path=“/games/:game_id/fighters/new”进入路线时,而不是显示FighterForm。js,它会重定向