本项目需求源自于:公司多线出口切换,可实现在网页上实现切换不同出口
本项目基于多网关思路如下:
./hooks/switch. sh
./hooks/switch. sh
实现需要在 iproute2 里面编辑相应的 VRF Table
比如说增加联通和电信的策略出口,就需要在 rt_tables
里面增加 VRF table
vim /etc/iproute2/rt_tables
增加这两行:
250 china_telecom
249 china_unicom
然后添加默认路由
/sbin/ip route add default via [Your_china_unicom_gateway_ip/Your_china_unicom_gateway_interface] table china_unicom
/sbin/ip route add default via [Your_china_telecom_gateway_ip/Your_china_telecom_gateway_interface] table china_telecom
记得写个脚本监控这两条路由是否存活,如果遇到意外情况导致 Interfac e 挂掉,路由会消失而且不会自动补上。 完成后, VRF Table 就做好了,然后调用 PBR 模块就可以对特定 IP 地址进行策略路由。
./configure.json
{
"listen": "127.0.0.1:10000",
"modes": [
"main",
"china_telecom",
"china_unicom",
"load_balance",
"clear_settings"
]
}
./hooks/switch. sh
本文件用于实现 实现切换路由 在网页上点击各出口路由按钮将通过 ajax 触发该操作
本操作等价于 ./hooks/switch. sh $REMOTE_ADDRESS $MODE_NAME
操作
($REMOTE_ADDRESS
为您访问该网页的 IP 、$MODE_NAME
为您选择的模式名称)
(警告:本项目的实现目前仅限于 EdgeRouter Lite v1.6 ,您可通过适当的修改实现在 OpenWrt 使用)
./hooks/status. sh
本文件用于实现 查询当前路由模式状态 在网页上点击 Read Status 按钮将通过 ajax 触发该操作
本操作等价于 ./hooks/status. sh $REMOTE_ADDRESS
操作
($REMOTE_ADDRESS
为您访问该网页的 IP )
(警告:本项目的实现目前仅限于 EdgeRouter Lite v1.6 ,您可通过适当的修改实现在 OpenWrt 使用)
./pages/index.html
本文件的是您访问该服务所为您提供视觉呈现的网页
https://github.com/xtomcom/NetworkSwitch
欢迎 Star 和 Fork
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.