基于LINUX策略路由的实现

2023-11-07

一、网络结构
eth0 10.43.128.10  gw 10.43.0.254  -->internel
eth1 61.144.64.106 gw 61.144.64.1  -->internel
eth2 192.168.0.2   gw 192.168.0.1  -->internel

二、实现目的:
1.不改变现有网络拓扑结构。
2.根据目的地址确定数据走向,所有到10.45.0.0/16、10.10.0.0/16的走10.43.0.254。
3.根据源地址确定数据走向,10.43.128.63走adsl路由,其它走默认main路由。

三、软件要求:
IPROUTE
[root@ADSL root]# rpm -qa |grep iproute (查看是否有iproute软件包)
iproute-2.4.7-7.AS21.1

四、实现步骤:
[root@ADSL root]# ip link (查看本地链路)
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:90:27:99:1d:fa brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:11:fe:78 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:42:65:88 brd ff:ff:ff:ff:ff:ff
[root@ADSL root]# ip add (查看本地地址)
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:90:27:99:1d:fa brd ff:ff:ff:ff:ff:ff
inet 10.43.128.10/16 brd 10.43.255.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:11:fe:78 brd ff:ff:ff:ff:ff:ff
inet 61.144.64.106/24 brd 61.144.64.255 scope global eth1
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:42:65:88 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.2/24 brd 192.168.0.255 scope global eth2
[root@ADSL root]# ip route (查看本地路由和ip route ls table main 或route命令相等)
192.168.0.0/24 dev eth2 scope link
61.144.64.0/24 dev eth1 scope link
10.10.0.0/16 via 10.43.0.254 dev eth0
10.43.0.0/16 dev eth0 scope link
10.45.0.0/16 via 10.43.0.254 dev eth0
127.0.0.0/8 dev lo scope link
default via 61.144.64.1 dev eth1
[root@ADSL root]# ip rule (查看本地路由策略)
0: from all lookup local (本地路由表系统默认id=255,优先级0)
32766: from all lookup main (默认的标准路由表id=254,优先级32766)
32767: from all lookup default (本地默认路由表系统默认id=253,优先级32767)
[root@ADSL root]# echo "200 adsl" >>/etc/iproute2/rt_tables (添加一个新的路由表)
[root@ADSL root]# ip route add 10.10.0.0/16 via 10.43.0.254 dev eth0 table adsl
[root@ADSL root]# ip route add 10.45.0.0/16 via 10.43.0.254 dev eth0 table adsl
(为adsl路由表添加到HK AND QY的路由)
[root@ADSL root]# ip route add 10.10.0.0/16 via 10.43.0.254 dev eth0 table adsl
(为adsl路由表添加一条默认路由)
[root@ADSL root]# ip rule add from 10.43.128.63 table adsl pref 32765
(添加adsl路由表策略,这里添加10.43.128.63机器从adsl路由表走,而不是local,main,default表。设置adsl表优先级是32765,数值越小优先级别越高)
[root@ADSL root]# ip route ls table adsl (查看adsl表路由设置)
10.10.0.0/16 via 10.43.0.254 dev eth0
10.45.0.0/16 via 10.43.0.254 dev eth0
default via 192.168.0.1 dev eth2
[root@ADSL root]# ip rule (查看路由策略设置)
0: from all lookup local
32765: from 10.43.128.63 lookup adsl (新加id=200,优先级32765)
32766: from all lookup main
32767: from all lookup default
[root@ADSL root]# ip route flush cache (使新路由生效)
[root@ADSL root]# iptable -t nat -A POSTROUTING -s 10.43.128.63 -j SNAT –to 192.168.0.2 (让eth0 流向eth2)

五、验证:
C:/Documents and Settings/mis>tracert 10.10.0.14 (查看到hk的路由路径)
Tracing route to 10.10.0.14 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 10.43.128.10
2 1 ms <1 ms <1 ms 10.43.0.254
3 24 ms 12 ms 31 ms 10.255.0.170
4 31 ms 12 ms 10 ms 10.10.0.14
Trace complete.

C:/Documents and Settings/mis>tracert 10.45.0.254 (查看到qy的路由路径)
Tracing route to 10.45.0.254 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 10.43.128.10
2 1 ms 1 ms 1 ms 10.43.0.254
3 4 ms 4 ms 4 ms 10.45.0.254
Trace complete.

C:/Documents and Settings/mis>tracert www.163.com (测试外部路由路径)
Tracing route to www.cache.split.netease.com [220.181.28.42]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 10.43.128.10
2 1 ms 1 ms 1 ms 192.168.0.1
3 11 ms 9 ms 10 ms 61.144.65.1
4 9 ms 8 ms 9 ms 218.19.169.244
5 10 ms 14 ms 8 ms 61.144.0.57
6 11 ms 10 ms 10 ms 61.140.17.6
7 13 ms 10 ms 10 ms 202.97.25.5
8 9 ms 9 ms 9 ms 202.97.40.113
9 42 ms 41 ms 40 ms 202.97.34.117
10 40 ms 41 ms 40 ms 218.30.25.49
11 41 ms 41 ms 46 ms 218.30.25.74
12 45 ms 50 ms 55 ms 220.181.16.14
13 52 ms 50 ms 50 ms 220.181.17.58
14 41 ms 43 ms 41 ms 220.181.28.42
Trace complete.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于LINUX策略路由的实现 的相关文章

随机推荐

  • 任天堂xci文件提取romfs

    最近需要宝可梦剑盾中的各种宝可梦 NPC 场景模型和UI资源 音乐资源等等 准备工作 1 宝可梦剑 xci 从任天堂switch破解机导出或者网络上下载 2 准备解压和提取工具Unpack zip 下载地址 How to easy extr
  • ElasticSearch高可用安装部署(Linux)

    ElasticSearch高可用安装部署 一 小型的ElasticSearch集群的节点角色规划 对于Ingest节点 如果我们没有格式转换 类型转换等需求 直接设置为false 3 5个节点属于轻量级集群 要保证主节点个数满足 节点数 2
  • log4j2 安装interactsh

    漏洞测试log4j2 sudo apt install gccgo go sudo apt install golang go go env w GOPROXY https goproxy cn direct 1 root kali hom
  • jwt安全问题

    文章目录 jwt安全问题 jwt简介 jwt组成 header payload signature 潜在漏洞 空加密算法 web346 密钥爆破 web348 敏感信息泄露 web349 修改算法RS256为HS256 web350 jwt
  • pytorch cycleGAN代码学习1

    一 新的东西 p s 很多架构都和之前一样 就举些不同的 1 ReplayBuffer Buffers of previously generated samples fake A buffer ReplayBuffer fake B bu
  • JSONException异常

    下面是net sf json JSONException java lang reflect InvocationTargetException异常 net sf json JSONException java lang reflect I
  • 筛选图片,写JSON文件和复制

    筛选图片 写JSON文件和复制 筛选图片 写JSON文件 筛选图片复制 筛选图片 写JSON文件 coding utf 8 from PIL import Image ImageDraw ImageFont import os import
  • NVIDIA Video Codec SDK学习

    这是sdk官网 https developer nvidia com nvidia video codec sdk https docs nvidia com video technologies video codec sdk 这是cud
  • python用于计算和数据处理的包有哪些_数据处理常用Python包

    原博文 2020 05 16 21 07 数据计算 numpy https github com AI 10 Data processing blob master E6 95 B0 E6 8D AE E5 88 86 E6 9E 90 E
  • Django---------创建、运行

    目录 1 安装django 2 pycharm 专业版 创建项目 3 默认项目的文件介绍 4 App的创建和说明 5 启动运行django 1 确保app已注册 settings py 2 编写URL和视图函数对应关系 url py 3 编
  • File类的常用方法

    import java io File import java io IOException public class Demo public static void main String args File file new File
  • xfce4汉化

    xfce4 设置中文 安装locales并配置 sudo apt install locales sudo dpkg reconfigure locales 选择语言编码en US UTF8 zh CN GB2312 zh CN GBK G
  • netty实现websocket发送文本和二进制数据

    最近在学习netty相关的知识 看到netty可以实现 websoket 因此记录一下在netty中实现websocket的步骤 主要实现传递文本消息和传递二进制消息 此处只考虑是图片 如果是别的消息可以考虑使用自定义协议 需求 1 使用
  • centos7最小化安装之后配置网络(ip)

    1 执行命令cd etc sysconfig network scripts 2 找到ifcfg eno16777736类似的文件 3 vi ifcfg eno16777736 4 将ONBOOT no 改为 ONBOOT yes 5 重启
  • 将jar包安装到本地仓库

    首先要安装maven 配置环境变量 百度 so easy 然后打开终端 执行以下命令 注意 红色对用红色 黄色对应黄色 绿色对应绿色 mvn install install file DgroupId cn vicky reddwarf D
  • B站数据分析岗实习生面试记录

    step1 自我介绍一下 还是需要准备以下的 不然一下子介绍自己的话 没话说 而且介绍自己不完全 step2 一道sql的笔试题目 建议刷一下题目呀 一定要刷题 掌握那些最基本的语法 step3 面试题目1 比如对B站近30天的弹幕发送量进
  • Office project 2021安装

    哈喽 大家好 今天一起学习的是project 2021的安装 Microsoft Office project项目管理工具软件 凝集了许多成熟的项目管理现代理论和方法 可以帮助项目管理者实现时间 资源 成本计划 控制 有兴趣的小伙伴也可以来
  • VALSE 文档图像智能报告整理

    目录 引言 端到端检测识别 探索检测和识别的协同作用 减少对标注的依赖 去除一些不必要的组件 文字擦除和编辑 文字辅助场景理解 视频文字擦除和文档矫正 文字识别 自监督预训练 对比学习 更高效的语言模型 手写数学公式识别 文档图像理解 视频
  • java创建数据库连接和对数据库操作的主要步骤

    Java创建数据库连接和对数据库操作的主要五个步骤如下 1 加载数据库驱动 使用 Class forName 方法加载指定的数据库驱动类 例如加载MySQL的驱动类 Class forName com mysql jdbc Driver 2
  • 基于LINUX策略路由的实现

    一 网络结构eth0 10 43 128 10 gw 10 43 0 254 gt interneleth1 61 144 64 106 gw 61 144 64 1 gt interneleth2 192 168 0 2 gw 192 1