Linux下搭建路由器

2023-05-16

 客户端1:CentOS6.9
 客户端2:CentOS7.3
 路由器:router1(CentOS7.3)、router2(CentOS7.3)     r      router3(CentOS7.3)

1 准备工作

这里写图片描述

为了避免干扰,最好建立独立的网络。
打开VMvare的虚拟网络编辑器,点击添加网络按钮,添加VMnet11并且将左下角使用“本地DHCP服务将IP地址分配给虚拟机”取消勾选。

这里写图片描述

这里写图片描述

这里写图片描述

按同样的步骤添加VMnet12、VMnet13、VMnet14三个独立的网络,添加完后的状态如下图所示。

这里写图片描述

2 搭建网络拓扑

在router1上添加两个网卡ens33、ens37,并修改其网络环境:
将ens33的网络环境改为自定义虚拟网络VMnet11;
将ens37的网络环境改为自定义虚拟网络VMnet12。

这里写图片描述

这里写图片描述

在router2上添加两个网卡ens33、ens37,并修改其网络环境:
将ens33的网络环境改为自定义虚拟网络VMnet12;
将ens37的网络环境改为自定义虚拟网络VMnet13。

这里写图片描述

在router3上添加两个网卡ens33、ens37,并修改其网络环境:
将ens33的网络环境改为自定义虚拟网络VMnet13;
将ens37的网络环境改为自定义虚拟网络VMnet14。

这里写图片描述

在客户端1(CentOS6.9)上添加一个网卡ens33,并修改其网络环境:
将ens33的网络环境改为自定义虚拟网络VMnet11。

这里写图片描述

在客户端2(CentOS7.3)上添加一个网卡ens33,并修改其网络环境:
将ens33的网络环境改为自定义虚拟网络VMnet14。

这里写图片描述

3路由器配置

进入/etc/sysconfig/network-scripts/目录,修改网络配置文件:

这里写图片描述
(1)router1配置

vim ifcfg-ens33 (ifcfg-ens33是ens33网卡的配置文件)
DEVICE=ens33  (设备名称,标识以下设置应用于哪张网卡)
IPADDR=192.168.1.100 (指定IP地址)
PREFIX=24(指定子网掩码)

这里写图片描述

将ens33的IP配置为192.168.1.1 
vim ifcfg-ens37 (ifcfg-ens37是ens37网卡的配置文件) 

这里写图片描述

将ens37的IP配置为192.168.2.1 

这里写图片描述

改完后使用service network restart使修改生效

(2)router2配置

vim ifcfg-ens33 (ifcfg-ens33是ens33网卡的配置文件)

这里写图片描述

将ens33的IP配置为192.168.2.2 
vim ifcfg-ens37 (ifcfg-ens37是ens37网卡的配置文件) 

这里写图片描述

将ens37的IP配置为192.168.3.2

这里写图片描述

改完后使用service network restart使修改生效

(3)router3配置

vim ifcfg-ens33 (ifcfg-ens33是ens33网卡的配置文件)

这里写图片描述

将ens33的IP配置为192.168.3.1 
vim ifcfg-ens37 (ifcfg-ens37是ens37网卡的配置文件) 

这里写图片描述

将ens37的IP配置为192.168.4.1 

这里写图片描述

改完后使用service network restart使修改生效

4 客户端配置

进入/etc/sysconfig/network-scripts/目录,修改网络配置文件:

(1)客户端1(CentOS6.9)配置

这里写图片描述

将ens33的IP配置为192.168.1.100,并使其网关指向192.168.1.1

这里写图片描述

改完后使用service network restart使修改生效 

这里写图片描述

使用route -n查看路由表

(2)客户端1(CentOS7.3)配置

这里写图片描述

将ens33的IP配置为192.168.4.100,并使其网关指向192.168.4.1

这里写图片描述

改完后使用service network restart使修改生效 

这里写图片描述

使用route -n查看路由表

5 为路由器添加路由

(1)router1添加路由

 router1直连192.168.1.0网络和192.168.2.0网络,即可到达这两个网络,但要到达192.168.3.0网络需经过网关192.168.2.2,要到达192.168.4.0网络需经过网关192.168.2.2。

这里写图片描述
(2)router2添加路由

 router2直连192.168.2.0网络和192.168.3.0网络,即可到达这两个网络,但要到达192.168.1.0网络需经过网关192.168.2.1,要到达192.168.4.0网络需经过网关192.168.3.1。

这里写图片描述
(3)router3添加路由

router3直连192.168.3.0网络和192.168.4.0网络,即可到达这两个网络,但要到达192.168.1.0网络需经过网关192.168.3.2,要到达192.168.4.0网络需经过网关192.168.3.2。

这里写图片描述

6 路由器开启路由功能

首先使用iptables -vnL检查防火墙是否开启,若开启了使用systemctl disable firewalld命令关闭防火墙

这里写图片描述

正常情况下,机器在接收到数据包后,若该包的目标地址不是自己,就会丢弃该包。开启路由功能后,若该包的目标地址不是自己,就会将其转发。
/proc/sys/net/ipv4/ip_forward文件标识了路由功能是否开启
 0---未开启路由功能
 1---开启路由功能

7 结果

客户端1(CentOS6.9)去ping客户端2(CentOS7.3),成功。

这里写图片描述

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

Linux下搭建路由器 的相关文章

  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • SIGHUP 用于重新加载配置

    根据signal 7 SIGHUP用于检测控制终端的挂起或控制进程的死亡 然而 我遇到过很多 OSS 守护进程 服务 其中SIGHUP用于启动配置的重新加载 这里有一些例子 hostapd sshd snort etc 这是实现重新加载的标
  • 进程如何知道它已收到信号

    如果我错了 请纠正我 以下是我对信号的理解 据我所知 信号生成 和信号传递有2个不同 事物 为了产生信号 操作系统只是在位数组中设置一个位 在过程控制中维护 工艺块 PCB 每一位 对应于特定信号 当设置一个位时 这意味着 该位对应的信号为
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 在Linux中创建可执行文件

    我计划做的一件事是编写 非常简单的 Perl 脚本 并且我希望能够在不从终端显式调用 Perl 的情况下运行它们 我明白 要做到这一点 我需要授予他们执行权限 使用 chmod 执行此操作非常简单 但它似乎也是一个稍微费力的额外步骤 我想要
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • Linux Shellcode“你好,世界!”

    我有以下可用的 NASM 代码 global start section text start mov eax 0x4 mov ebx 0x1 mov ecx message mov edx 0xF int 0x80 mov eax 0x1
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • 我如何知道用户在使用 ncurses (Linux) 的控制台中按下了 ESC 键?

    I have a problem in detecting whether I just got a plain ESC key just code 27 or whether it was another special key such
  • 对于客户端服务器程序,并行接收多个客户端连接请求的最佳方法是什么?

    该程序是在 Linux 上用 C 语言开发的客户端服务器套接字应用程序 每个客户端都连接到一个远程服务器并将其自身记录为在线 在任何给定时间点很可能有多个客户端在线 所有客户端都尝试连接到服务器以将自己记录为在线 忙碌 空闲等 那么服务器如
  • Tk 初始化失败:无显示名称且无 $DISPLAY 环境变量

    我试图从 Ubuntu 终端调用 Centos 服务器上的工具 我收到以下错误 Tk 初始化失败 没有显示名称 也没有 DISPLAY 环境变量 请帮我解决这个问题 提前致谢 连接到你的 CentOS 机器ssh Y其中 每man ssh
  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • 检查 Linux 中给定进程的打开 FD 限制

    我最近有一个 Linux 进程 泄露 了文件描述符 它打开了文件描述符 但没有正确关闭其中一些文件描述符 如果我对此进行监控 我就可以提前得知该过程已达到其极限 有没有一种很好的 Bash 或 Python 方法来检查 Ubuntu Lin

随机推荐

  • gitee码云完整使用教程(部署与克隆)

    1 创建仓库 登录码云 Gitee 基于 Git 的代码托管和研发协作平台创建一个仓库 2 使用git在本地初始化 xff08 1 xff09 新建一个目录 xff0c 存放下载下来的项目 xff0c 我在D盘新建了一个 gitspace
  • 修改Win10右键菜单

    目录 前言一 Win10右键菜单类型二 删除第一种类型三 删除第二种类型更新 2023 4 17 一 关于7zip的右键选项过多二 补充几个右键菜单对应的名字 前言 在电脑装了很多软件后 xff0c 鼠标右键菜单选项也会变得特别多 xff0
  • xrdp完美实现Windows远程访问Ubuntu 16.04【包括多人桌面与原生桌面】

    xrdp完美实现Windows远程访问Ubuntu 16 04 前言 xff1a 在很多场景下 xff0c 我们需要远程连接到Linux服务器 本文是Ubuntu xff0c 传统的连接主要分为两种 第一种 xff1a 通过SSH服务 xf
  • SPI走线距离

    SPI总线的四根线中频率最高的CLK的时钟约系统主频的四分之一到二分之一之间 xff0c 约在5MHz到80MHz之间 xff0c 具体值需要看芯片的数据手册 如果芯片规定SPI的SCLK为20MHz xff0c 那么这个频率的波长是15米
  • Python使用Tesseract-OCR

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 tesseract ocr是什么 xff1f 二 Tesseract OCR 安装和使用1 引入库2 配置环境变量3 P
  • STM32F030 PB1引脚无法置高问题的解决

    一开始初始化代码如下 xff1a RCC APB2PeriphClockCmd RCC AHBPeriph GPIOB ENABLE 使能端口时钟 GPIO InitStructure GPIO Pin 61 GPIO Pin 1 GPIO
  • C++中string末尾追加char字符

    如果想在C 43 43 中的string类型末尾追加char字符 xff0c s span class token operator 61 span s span class token operator 43 span span clas
  • VMware设置虚拟机系统和主机系统在同一个网段内访问网络设备

    需要说明的是 xff0c 若主机是有线的网口连接设备 xff0c 则主机先关闭无线网络再打开虚拟机系统 xff0c 虚拟机系统即可正常连接设备 然后主机若需要使用无线网络再打开无线网络即可
  • 视频转GIF太模糊了吗?我来教你使用FFmpeg生成高清GIF!!!

    有钱能使鬼推磨 xff0c 昨天40多个阅读 xff0c 没有一个人给我实在是太惨了 xff0c 所以 xff0c 再来个第二弹吧 xff01 那么这次的主题 xff0c 就是教你如何通过视频生成高清的GIF图片 xff01 xff01 恩
  • PHP实现自定义if条件、动态if条件判断(店铺会员卡等级规则判断的实现)

    首先抛出一个问题 xff1a span class token comment 前端输入的字符 span span class token variable logic span span class token operator 61 s
  • Mac地址、IP、子网掩码、网关、DNS

    MAC xff08 Media Access Control 介质访问控制 xff09 MAC地址是烧录在Network Interface Card 网卡 NIC 里的 MAC地址 也叫物理地址或硬件地址 是由48比特长 xff0c 16
  • CSRF修复——看完的你多了一把刷子

    近期项目对漏洞修复这一块比较看重 xff0c 例举下CSRF的修复之路吧 提到我就心累 1 CSRF是什么 CSRF xff08 Cross Site Request Forgery 跨站域请求伪造 xff09 是一种网络的攻击方式 xff
  • 数据结构课设

    项目1 xff1a 中国计算机设计大赛赛事统计 设计目标 xff1a 1 xff0c 能统计各学校的总分 2 xff0c 能按照学校编号或者名称 xff0c 将学校的总分或者各项目的总分排序输出 3 xff0c 能够按照编号查询学校某个项目
  • idea往项目中添加jar包

    1 xff0c 项目中没有lib包则自行创建 xff0c 名字设为lib xff08 项目中已经有lib包则直接进入2 xff09 xff1b 2 xff0c 将下载好的jar包拖入刚刚创建好的lib文件包中 xff1b 3 xff0c 右
  • Windows10如何向GitHub上传文件夹?

    1 首先创建GitHub的账号 xff0c 建立好你的仓库 2 找到你的仓库 xff0c 点击 code 后点击 HTTPS 并对内容进行复制 xff0c 如下图所示 xff1a 3 下载安装git xff0c 官网下载后一直next傻瓜安
  • centos7安装tomcat9

    一 首先需要安装好jdk 1 通过yum search java grep jdk查看支持的jdk软件包 2 yum install y java 1 8 0 openjdk 安装你想要的jdk软件包 3 查看是否安装成功java vers
  • Linux的优点和缺点

    Linux的优点 xff1a 1 稳定的系统 xff1a Linux是基于Unix发展出来的操作系统 xff0c 继承了Unix的稳定并有效率的特点 经常听到安装Linux的主机连续运作一年以上而不当机 不必关机是稀松平常的事 2 免费 x
  • Effective C++条款(第三版-侯杰译)

    条款一 xff1a 视C 43 43 为一个语言联邦 C 43 43 高效编程守则视情况而变化 xff0c 取决于你使用的C 43 43 哪一部分 条款二 xff1a 尽量以const xff0c enum xff0c inline替换 d
  • obj * volatile *my_free_list ;

    今天看STL源码分析看到的一句话 xff1a obj volatile my free list 首先我们要明白一件事 xff1a volatile是一个特征修饰符 xff08 type specifier xff09 volatile的作
  • Linux下搭建路由器

    客户端1 xff1a CentOS6 9 客户端2 xff1a CentOS7 3 路由器 xff1a router1 xff08 CentOS7 3 xff09 router2 xff08 CentOS7 3 xff09 r router