hcye / network-merge

合并网络以减小路由表

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

network-merge

合并网络以减小路由表

被合并的网络文件要求

  1. 查看ips_test.txt或ips.txt。ips是大陆全量ip库,已半年未更新。ips_test.txt是缩减的ip库文件用于测试
  2. 行格式 192.168.1.0-192.168.8.255

开始合并

  1. 启动脚本在test.py内, 详见main函数,默认在合并后输出linux使用的add-route.sh 和 del-route.sh。生成windows的add-route调用add_route_win(lines)

linux开机加入我们的路由

  1. 查看linux-client目录,该脚本创建了个add-route服务。
  2. 可以根据当前机器的默认路由修改add-route的网关

合并流程

  1. 修改错误ip range
  2. 去除重复和被包含的ip range
  3. 分组并排序。把可以合并的ip range放到一个列表里
  4. 找出分组后的列表里连续的网络,并提取出来进行合并。无邻接网络的则直接置入结果集。

提高合并率

  1. 无法合并的连续网络,比如 192.168.8.0-192.168.8.255,192.168.9.0-192.168.10.255。根据mask_edge文件转换为最近的可以合并的网络 192.168.8.0-192.168.11.255 合并为192.168.8.0/22。扩展后的网络集实际比原集更大,原集是合并后的子集

About

合并网络以减小路由表


Languages

Language:Shell 82.3%Language:Python 17.7%